преобразование IntPtr в качестве указателя на структуру c #

У меня есть неуправляемая функция C ++, которая выглядит следующим образом:int myfunction(LPVOID p1, LPVOID p2)

Моя обертка в C # берет extern static int mywrapperFunction(IntPtr p1, IntPtr p2)

В моем определении функции-оболочки я хочу отнести IntPtr к структуре.

В C ++:

int myfunction(LPVOID p1, LPVOID p2)
{
(MYFIRSTSTRUCTURE *)abc = (MYFIRSTSTRUCTURE *)p1;
(MYSECONDSTRUCTURE *)efg = (MYSECONDSTRUCTURE *)p1;
//rest of the operation involves this abc and efg
}

Мне нужно сделать аналогичную вещь в C #:

int mywrapperFunction(IntPtr p1, IntPtr p2)
{
//how to consume IntPtr p1 and IntPtr p2 for C# structure similar to MYFIRSTSTRUCTURE and //MYSECONDSTRUCTURE
}

1

Решение

Нормальный способ справиться с этим через Marshal.PtrToStructure.

3

Другие решения


По вопросам рекламы [email protected]