我在win32 dll中有一个函数,签名为:
void func1(int a, char*** outData)
int a – >输入参数
char *** outData – >输出参数 – 指向char字符串数组的指针
知道如何在C#中使用dll import& amp;签名应该是什么.
最佳答案 对于像三指针这样复杂的类型,我发现最好的方法就是简单地将其编组为IntPtr
[DllImport("Some.dll")]
private static extern void func1(int a, out IntPtr ptr)
一旦这个函数返回,IntPtr值将基本上代表一个char **.
使用该值几乎是不可能的,因为我们不知道长度.在将其用于托管代码之前,您需要更改函数签名以传回数组的长度.