关于c#调用c++dll 的问题
我现在要在c#中调用c++的dll,遇到一个问题:1、定义结构:
[StructureLayout(LayoutKid.Sequential)]
public struct Hinf
{
……
};
2、定义一个结构变量,赋初值:
Hinf hinf = new Hinf();
……
3、转换成指针
int size = Marshal.SizeOf(hinf);
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(hinf, ptr, true);
Marshal.FreeHGlobal(ptr);
……
现在执行Marshal.StructureToPtr(hinf, ptr, true);这一句的时候报错:
传递给系统调用的数据区域太小。(异常来自HRESULT:0x8007007A)
请问各位高手,这是怎么回事?是否和定义的结构有关?
C# Structure
补充:.NET技术 , C#