Ciao a tutti, sono nuovo e grazie al vostro sito mi sono avvicinato al mondo .NET. Ora sto provando ad importare in un progetto C#, una funzione contenuta in una DLL scritta in C++.
La firma della funzione è:
int regBox(
const char *BID,
const char* ModelName
);
Ho provato ad importare la funzione con questo codice:
[DllImport("GGS.dll")]
public static extern int regBox(
[MarshalAs(UnmanagedType.LPStr)] string boxid,
[MarshalAs(UnmanagedType.LPStr)] string model);
Ottengo però questo errore:
Una chiamata alla funzione PInvoke 'Test GV API!Test_GV_API.GVImport::regBox' ha sbilanciato lo stack. Questo problema può verificarsi quando la firma PInvoke gestita non corrisponde alla firma di destinazione non gestita. Verificare che la convenzione di chiamata e i parametri della firma PInvoke corrispondano alla firma di destinazione non gestita.
Avete qualche idea su come si possa risolvere la questione?
grazie mille per l'aiuto!