1

这就是它在 C++ 中的样子:

[DllImportAttribute("Win32DLLRecon.dll", CharSet=CharSet::Auto, CallingConvention=CallingConvention::StdCall)]
    extern "C" void proc1
        (__int32 *i1,
             __int16 *i2,
             __int16 *i3,
             char *i4,
             unsigned *i5,      
             unsigned char *o1, 
             unsigned __int16 *o2,
             float *o3); 

其中 i = input , o = output 什么是 C# 等价的?
我试图指定类似的数组,例如“out Byte [] output”,但它抱怨它需要 byte*,而不是 byte[](我确实需要在代码中使用指针)。编辑:如果我只是将我的整个类声明为不安全并将它们作为指针传递会发生什么:extern proc (out Byte* output, etc)?

4

1 回答 1

0

我相信您需要为此使用 a System.IntPtr,或者System.IntPtr[]为真正的数组使用 a 。

于 2012-04-05T00:29:00.743 回答