У меня проблема с вызовом этой функции из c ++ DLL в c #
INT32 WINAPI PM_COM_GetText(INT32 TextId, char* pBuf, INT32 BufSize);
Он записывает текст в буфер для заданного идентификатора текста.
Я пытаюсь вызвать его с помощью следующего кода C #, но я постоянно получаю нарушение прав доступа и не понимаю почему:
public string GetText(Int32 TextId)
{
Int32 BufSize = 256;
StringBuilder Str = new StringBuilder(BufSize);
PM_COM_GetText(TextId, Str, BufSize);
return Str.ToString();
}
[DllImport("ComDll.dll", CharSet = CharSet.Ansi)]
private static extern Int32 PM_COM_GetText(Int32 TextId, StringBuilder Str, Int32 BufSize);
Я не вижу, что не так, мне кажется, что многие другие фрагменты кода, которые я нашел в Интернете.
Есть идеи?
Заранее спасибо!