Mit C# Buffer in struktur schreiben

xbu58

Mitglied
Hallo

Ich habe ein Problem mit einem Buffer, welcher eine dynamische Struktur enthält. Dieser Buffer bekomme ich von einer API zurück. Im ersten DWord ist die Anzahl folgenden Elemente enthalten, wobei die maximale Länge bekannt ist. Wie ich nun feststelle, kann ich das nicht direkt in die Struktur abfüllen, auch wenn ich die Funktions-Methode mit der dynamischen Struktur versehen habe (bei statischen geht das problemlos). Also habe ich nun versucht, die Daten in einen Byte-Stack auszulesen. Das funktioniert soweit problemlos:
Code:
      byte* xData = stackalloc byte[cDataSize];
      IntPtr xDataPtr = (IntPtr)xData;
      uint xErr = EDSDK.EdsGetPropertyData(inRef, inPropertyID, inParam, cDataSize, xDataPtr);
Nun habe jedoch das Problem, dass ich keine Möglichkeit finde, einen Buffer nach einer Strucktur zu casten. Bei Delphi hätte ich dafür einfach einen Varianten-Rekord definiert. Wie macht man das jedoch in C# (bei Text konnte ich das mit dem StringBuilder machen)?

Gruss
Xaver
 
Zurück