0
我有一个C++的dll其具有以下签名的导出函数....NET和C++的互操作性
__declspec(dllexport) __stdcall
void Paint(LPDISPATCH& disp, VARIANT& x, VARIANT& y, VARIANT& z);
我要调用此导出的函数从C#.NET。因为这是使用下面的原型......
[DllImport("xyz.dll",
CallingConvention = CallingConvention.StdCall)
public static extern void Paint(
[MarshalAs(UnmanagedType.IDispatch), In, Out] ref object which,
[MarshalAs(UnmanagedType.I4), In, Out] ref object x,
[MarshalAs(UnmanagedType.I4), In, Out] ref object y,
[MarshalAs(UnmanagedType.I4), In, Out] ref object x);
,当我试图调用呼叫时,它抛出一个异常说,试图读取/写入内存这是无效的。
请告诉我,关于如何从.NET调用此C++ API。
许多感谢,Sundareswaran Senthilvel
问题的一部分可能在于您如何调用方法,您能否显示一些试图从.Net调用该方法的代码。 – morechilli 2012-03-26 11:14:25