我手上有一个C++写的dll
现在在C#写的程式内使用这个dll
在这个dll内有一个struct
typedef struct _A
{
WCHAR buf[64];
DWORD index;
} A;
会被当成function的参数传递
int funA(A *a)
{
a.buf...;
index = ...;
}
现在我想在C#内叫用funA
[DllImport("Mydll.dll", CallingConvention = CallingConvention.StdCall, CharSet
= CharSet.Unicode)]
public static extern int funA(IntPtr a);
有先确认过dll确实有值在buf里面
但是不管怎样都没有办法得到buf的内容
在猜想会不会是memory没有正确传递?
想请教一下该如何才能正确将dll传的值抓出来呢?