У меня есть C ++ DLL, возвращающая int*
программе на C #. Проблема в том, что int*
в C # остается null
после назначения.
Когда я присваиваю результат C ++ IntPtr
, я получаю правильное ненулевое значение. Однако любая попытка преобразовать это в int*
приводит к null
.
Я пробовал:
IntPtr intp = cppFunction (); // Non-null.
int* pi = (int *) intp; // Results in null.
int* pi = (int *) intp.ToPointer (); // Results in null.
void* vp = intp.ToPointer ();
int* pi = (int *) vp; // Results in null, but vp is non-null.
Как я могу получить ненулевое значение int*
?
Спасибо!
Alan