PDA

View Full Version : [C#]Marshaling stringhe da C a C#


elyarwen
19-07-2007, 08:12
Ciao a tutti!
Programmo in C# e sto usando delle classi wrapper che ha scritto un mio collega per darmi la possibiltà di utilizzare da C# alcune classi scritte in C.
Purtroppo non riesco a utilizzare un metodo di queste classi: questo metodo dovrebbe restituirmi una stringa e invece mi restituisce un insieme di caratteri incomprensibili tipo: У÷? ¤÷?ƒÄ?‹øë?
Ho guardato un pò il codice delle classi wrapper e ho visto che il mio collega
ha utilizzato il marshaling per la gestione della stringa in questione.
Lui l'ha utilizzato in questo modo
[MarshalAs(UnmanagedType.LPStr)]string szName. Io ho provato a cambiare il tipo utilizzando LPWStr al posto di LPStr ma ho ottenuto solo una serie di "quadretti".
Non so che altro fare perchè non ho mai usato il marshaling e non so nemmeno se il problema sia quello, purtroppo non ho trovato il modo di farmi restituire la stringa sottoforma di byte anche perchè non ho il codice delle classi C di partenza quindi devo trovare un modo per leggere questa stringa. Qualcuno sa dirmi come posso fare?