struct als rückgabe (DLL)
-
Hallo Zusammen,
habe eine DLL Funktion, die als Returnwert einen Zeiger auf eine Struktur gibt.
Jetzt möchte ich diese Struktur in C# auslesen. Doch leider erhalte ich immer folgende Fehlermeldung beim ausführenZusätzliche Informationen: return value kann nicht gemarshallt werden.
Die Funktion in der DLL Datei hat etwa diesen Aufbau
struct K { int x; }k[10]; extern "C" __declspec(dllexport) StrukturDaten * __stdcall Lesen() { k[0].x = 1; k[1].x = 5; return k; }
und in der C# Datei
public struct K { public int x; } [DllImport("xxx.dll")] unsafe static extern K [] Lesen(); ... K [] k = new k[10]; unsafe { k= GWSearchTargets(); }
Hoffe ihr könnt mir Helfen, oder soll ich die Strutur Daten anders zurückgeben. z.B. Call by Reference, wenn ja wie wir das gemacht, hier will c# auch nicht mitmachen?