首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求教一个DLL接口有关问题

2012-09-18 
求教一个DLL接口问题我有个对方给的DLL接口文件,文件名是INTR.DLL函数是: int CC(int ID,char* CODE1,char

求教一个DLL接口问题
我有个对方给的DLL接口文件,文件名是INTR.DLL
函数是: int CC(int ID,
  char* CODE1,
  char* CODE2); safecall;
对方给出的文档中说明CODE2是双向参数,既是入参也是出参

我是这样调用的
[DllImport("INTR.DLL", EntryPoint = "CC", CharSet = CharSet.Ansi)]

public static extern int CC(int ID, Char[] CODE1, Char[] CODE2);


char[] CODE1= "....".ToArray();
char[] CODE2= "....".ToArray();
textBox1.Text = RTPC(101, CODE1, CODE2).ToString();
我入参现在很正常,返回的函数结果是对方给出的成功提示,但如何获取对方返回的CODE2里的值呢?我现在用
textBox1.Text = RTPC(101, CODE1, CODE2).ToString();只能获取到对方返回的0(成功)提示

[解决办法]
必须这样定义

C# code
[DllImport("INTR.DLL", EntryPoint = "CC", CharSet = CharSet.Ansi)]public static extern int CC(int ID, ref byte CODE1, ref byte CODE2);
[解决办法]
直接用string就可以,在前面打个[MarshalAs(UnmanagedType.LPStr)],需要传入的打个[In],需要传出的打个[Out]

热点排行