pinvoke c#:我如何映射“const char ** output”?

时间:2010-12-15 12:09:16

标签: c# .net pinvoke marshalling com-interop

我有这个原型的C函数:

void foo(const char **output);

我将C文件编译成DLL并且我编译了DllImport(“my.dll”);

但我该如何编写c#原型?

非常感谢!

1 个答案:

答案 0 :(得分:2)

这将是指向字节数组的指针:

 private static extern void foo(IntPtr pointerToByteArray);

用法:

        fixed(byte* buffer = new byte[LENGTH_WHICH_YOU_KNOW_IS_ENOUGH])
        {
            IntPtr ptr = new IntPtr(buffer);
            foo(ptr);
        }