C 中的 char* 在C#中怎么调用
例如,有个c的DLL,有个函数如下,
函数名称
int Init(char *AMMNO, char *state,char* Version, char* SessionID ,char *R1, char* message1);
参数说明
入参
AMMNO:ESAM序列号;8字节
State:状态;1字节;00—0状态,01—1状态
Version:版本;1字节,固定“01”
SessionID:会话ID;1字节;00‐‐新建,01‐‐恢复
R1:随机数1;16字节
出参
message1:N字节(大于1K,小于2K)
返回值
0:正常
1001:序列号错误
1002:状态标识错误
1003:版本错误
1004:会话ID错误
1005:随机数错误
C# 中怎么调用
这样调用不成功,值传的不对,提示序列号错误
[DllImport("MYDll.dll")]
public static extern int Init(byte[] AMMNO, int state, int Version, int SessionID, byte[] R1, ref byte[]message1);
第一个值AMMNO要传递的是“0000E10800000060”
用第二种方法 也不行,
public static extern int Init(string AMMNO, string state, string Version, string SessionID, string R1, ref string message1);
请问在C#中要怎么调用C中的函数