public int USB4_Initialize(short* device);
public int USB4_GetCount(short device, short encoder, unsigned long* value);
// Pointer as an input
short device = 0; // Always using device 0.
USB4_Initialize(&device);
// Pointer as an output
unsigned long count;
USB4_GetCount(0,0,&count); // count is output
我在C#中的第一次尝试导致以下P/调用:
[DllImport("USB4.dll")]
public static extern int USB4_Initialize(IntPtr deviceCount); //short*
[DllImport("USB4.dll")]
public static extern int USB4_GetCount(short deviceNumber, short encoder, IntPtr value); //ulong*
如何在C++中使用这些函数,与上面的C++代码相同?
有没有更好的方法来声明这些类型,或者使用
MarshalAs