Ich arbeite derzeit an einigen C# -Code, der in eine benutzerdefinierte, native DLL aufruft. Beim Marshalling von Daten zurück nach C# muss ich die Felder der zum Marshalling verwendeten Klassen/Strukturen explizit ausrichten. Ich hatte eine Reihe von Problemen damit, die auf einem unvollständigen Verständnis des Marshallers und seiner Regeln beruhen. Zum Beispiel habe ich kürzlich durch eine SO-Frage herausgefunden, dass der Marshaller erfordert, dass Arrays DWORD-ausgerichtet werden. Hätte ich das früher gewusst, hätte es mir Kopfschmerzen erspart..NET Marshaler: Gute Dokumentation?
Meine Frage ist zweifach:
1) Gibt es eine gute Dokumentation für die Marshaler, die diese Art von Informationen liefern?
2) Welche anderen ähnlichen Einschränkungen sollte ich beachten? (Müssen beispielsweise alle DWORD-großen Felder DWORD-ausgerichtet sein)?
Das ist eine nützliche Site, aber ich hole Daten von einer benutzerdefinierten DLL zurück. Also, ich muss alle Marshalling-Struktur/Klassen selbst definieren. Ich hatte einige ärgerliche Probleme, die darauf zurückzuführen waren, dass ich den Marshaller und seine Regeln nicht verstanden hatte, also hoffte ich, eine gute Dokumentation zu diesem Thema zu finden. – Odrade