C# Handle to C++ HWND
-
Hallo!
Ich versuch in meinem C# Projekt eine C++ funktion aus einer dll aufzurufen.extern "C" __declspec(dllexport)void CreateOpenGLDevice(HWND hWnd)()
Das is die funktion, die ich aufrufen will (Ich weiß, dass sie noch nix macht)
In meinem c# wrapper hab ich dann folgenden code:
[DllImport("OpenGLWindow.dll")] public static extern void CreateOpenGLDevice(IntPtr handle);
und
LEWrapper.LEWindow.CreateOpenGLDevice(this.Handle);
Dann in meinem Haupt-Projekt (Is eine UserControl von WinForms)
Wenn ich das jetzt starte kommt folgende fehlermeldung:
Ein Aufruf an die PInvoke-Funktion "LEWrapper!LEWrapper.LEWindow::CreateOpenGLDevice" hat das Gleichgewicht des Stapels gestört. Wahrscheinlich stimmt die verwaltete PInvoke-Signatur nicht mit der nicht verwalteten Zielsignatur überein. Überprüfen Sie, ob die Aufrufkonvention und die Parameter der PInvoke-Signatur mit der nicht verwalteten Zielsignatur übereinstimmen.
Was mach ich falsch??
-
Ev. ist die Calling Convention falsch. Die kann über das DllImport Attribute gesteuert werden.
-
Danke!
Das wars anscheinend