Я хочу вызвать одну / многие функции нативной библиотеки, но я не уверен в отображении типов. В частности, в настоящее время я пытаюсь использовать следующую функцию: вот небольшое консольное приложение, в которое я добавляю:
extern char *tgetstr (const char *name, char **area);
И вот моя попытка сопоставить это для использования в консоли .NET. Я получаю сообщение об ошибке при попытке чтения или записи в защищенную память.
class Program
{
[DllImport("termcap.dll")]
public static extern IntPtr tgetstr(IntPtr name, IntPtr area);
static void Main(string[] args)
{
IntPtr ptr1 = new IntPtr();
IntPtr a = tgetstr(Marshal.StringToCoTaskMemAnsi("cl"), ptr1);
Console.WriteLine(Marshal.PtrToStringBSTR(a));
}
}
ТИА
Andrew