有一个C++中编写的动态库,其中的一个库函数如下:
int load_tool(int nr,char* device,char* adr_table)
结构定义:
#pragma pack(1)
struct {
unsigned char adr; /* station address default 2 */
unsigned char segmentid; /* segment id default 0 */
unsigned char slotno; /* slot no default 2 */
unsigned char rackno; /* rack no default 0 */
} adr_table[5];
#pragma pack()
实际使用时,参数adr_table指向adr_table结构数组,请问在C#中如何调用load_tool
int load_tool(int nr,char* device,char* adr_table)
结构定义:
#pragma pack(1)
struct {
unsigned char adr; /* station address default 2 */
unsigned char segmentid; /* segment id default 0 */
unsigned char slotno; /* slot no default 2 */
unsigned char rackno; /* rack no default 0 */
} adr_table[5];
#pragma pack()
实际使用时,参数adr_table指向adr_table结构数组,请问在C#中如何调用load_tool
解决方案 »
- 求一个c#软件自动更新程序 哪位大侠有给帮帮忙多谢了
- 帮助找出代码中的错误
- DllImport引用dll
- money类型的数据读取显示的问题。
- 各位:帮忙看一下哪里有"时间掩码控件"!
- Win下如何从服务器下载文件?不通过webservice
- Appose.Cells 控件 能实现2个Excel合并出来的 一个新的Excel 指定前2个Excel(比如Excel1 的A1列和 Excel2 的A1
- WPF中Slider实时记录播放进度并且拖拽滑动Thumb实现播放进度的控制
- 2536348结贴
- 怎样实现如安装步骤的"上一步","下一步"
- 才学正则,碰到一个问题,请高手指点!
- 请教工作流图形化界面的开发问题
有一个动态库函数,声明如下:
int mix_read (char* data, void* buffer);
在C++中调用该函数的方法如下:
#pragma pack(1)
typedef struct {
char typ;
char size;
unsigned short dbno;
unsigned short no;
} data_type;
data_type data[10];
#pragma pack()
char buffer[100];
char e,a;
int d;
int error;
:
:
data[0].typ = 'e';
data[0].size= 'b';
data[0].no = 0;
data[1].typ = 'a';
data[1].size= 'b';
data[1].no = 3;
data[2].typ = 'd';
data[2].size= 'w';
data[2].dbno= 10;
data[2].no = 5;
data[3].typ = 0; /* endekennung der liste */
error = mix_read((char*)data,buffer);
e = buffer[0];
a = buffer[1];
d = ((int)buffer[2] << 8) | (int)buffer[3];
:
:
请问在C#中如何调用mix_read()函数,问题时如何传递参数,才能与上面的调用等效?