Вот код cpp для вызова функции dll "
typedef void (__stdcall *Terminal)(TApplication*, TFileStream *k, HANDLE N, int D);
Вот мой код C # для вызова функции"
[DllImport("somedll.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
static extern void terminal(IntPtr Application, IntPtr FileStream, IntPtr CommHandle, int mode);
и вызова функции:
terminal(IntPtr.Zero, FileHandle.DangerousGetHandle(), CommHandle, 0);
если я вызываю терминал с приложением ptr, установленным в this.Handle, я получаю исключение System.AccessViolationException. Сообщение = Попытка чтения или записи в защищенную память.Это часто указывает на то, что другая память повреждена.