Principale utente con più risposte
Chiamare api da metodo

Domanda
-
Ciao,
Sarebbe possibile creare un metodo per chiamare le funzioni della dll. Cioè al posto di chiamare con:
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Ansi)]
private static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName);Usare tipo : metodo("nomedll","Nomefunzione","argomenti");
Grazie in anticipo.
Risposte
-
no è impossibile
per chiamare un metodo Win32, devi usare il pInvoke che funziona con l'Attributo + il metodo con firma uguale, più eventuali marshalling dei dati......
scrivere un wrapper globale non è possibile in .NET
ma forse è possibile in Win32 scrivere forse un wrapper globale se C++ supporta la reflection e il caricamento dinamico delle dll
a quel punto da .NET ti connetti al metodo unico e puoi fare come hai chiesto
a presto
- Proposto come risposta Irina Turcu lunedì 6 febbraio 2012 14:57
- Contrassegnato come risposta Marco MinervaMVP, Moderator domenica 12 febbraio 2012 00:16
Tutte le risposte
-
no è impossibile
per chiamare un metodo Win32, devi usare il pInvoke che funziona con l'Attributo + il metodo con firma uguale, più eventuali marshalling dei dati......
scrivere un wrapper globale non è possibile in .NET
ma forse è possibile in Win32 scrivere forse un wrapper globale se C++ supporta la reflection e il caricamento dinamico delle dll
a quel punto da .NET ti connetti al metodo unico e puoi fare come hai chiesto
a presto
- Proposto come risposta Irina Turcu lunedì 6 febbraio 2012 14:57
- Contrassegnato come risposta Marco MinervaMVP, Moderator domenica 12 febbraio 2012 00:16
-
-
Ciao Orlando Liccardo,
Mi accodo a quanto detto da Antonio per suggerirti il PInvoke Interop Assistant, che è stato creato specialmente per semplificare il lavoro degli sviluppatori che devono gestire metodi delle dll unmanaged.
Spero ti sia utile,
Irina Turcu - Microsoft
Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e approfondire la loro conoscenza dei prodotti e tecnologie Microsoft.