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