У меня есть C ++ dll, в котором есть экспортируемая функция со следующей подписью ...
__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);
Когда я пытался вызвать вызов, возникает исключение, говорящее, что Попытка чтения / записи памяти недопустима.
Пожалуйста, сообщите мне об этом, о том, как P / вызвать этот C ++ API из .NET.
Большое спасибо, Sundareswaran Senthilvel