Как я могу передать указатель с C # на неуправляемую DLL?

У меня есть неуправляемая DLL с функцией, которая принимает указатель в качестве аргумента. Как передать указатель из C #, не будучи «небезопасным»?

Вот пример кода:

[DllImport(@"Bird.dll")]
private static extern bool foo(ushort *comport);

Соответствующая запись в заголовке:

BOOL DLLEXPORT foo(WORD *pwComport);

Когда я пытаюсь просто разыменовать его ( & comport ), Я получаю сообщение об ошибке: « Указатели и буферы фиксированного размера могут использоваться только в небезопасном контексте. »

Как мне обойти это?

5
задан Tom Wright 30 March 2011 в 19:05
поделиться