Я надеюсь, что кто-то может помочь мне с этим, я в основном разработчик C #, так что мой
Навыки C и C ++ плохие. У меня есть родной C DLL, который является плагином
большее приложение. Я кросс-компилировать эту DLL для Windows на Linux
используя gcc.
В родной dll, когда я создаю D3DSurface, я хочу вызвать функцию
в смешанном режиме C ++ DLL и передать указатель на поверхность вдоль
с Hwnd / ручкой. Этот смешанный режим C ++ должен затем вызвать мой C #
управляемый код.
В качестве примера, в C я хочу сделать следующее:
Hwnd handle;
LPDIRECT3DSURFACE d3dtarg;
SurfaceCreated(handle, d3dtarg);
В C # я хочу, чтобы это вызывалось из сборки смешанного режима
public static class D3DInterop
{
public static void SurfaceCreated(IntPtr handle, IntPtr surface)
{
//do work
}
}
Так как я сосу на C ++, я просто хочу знать, может ли кто-нибудь дать мне
Пример того, что мне нужно, чтобы код для смешанного режима DLL. Я также хотел бы
не нужно компилировать dll смешанного режима с заголовками DirectX, так это
есть способ, которым я могу привести «C» LPDIRECT3DSURFACE в общий
указатель? В C # я все равно просто использую IntPtr.