Chiamata a una funzione di DLL
Anche se le chiamate a funzioni di DLL non gestite sono quasi identiche alle chiamate ad altro codice gestito, esistono alcune differenze che possono rendere apparentemente poco chiaro l'utilizzo delle funzioni di DLL. In questa sezione vengono presentati argomenti in cui sono descritti alcuni aspetti meno comuni delle chiamate.
Le strutture che vengono restituite dalle chiamate platform invoke devono essere tipi di dati contenenti la stessa rappresentazione in codice gestito e non gestito. Tali tipi sono denominati tipi non copiabili perché non richiedono la conversione (vedere tipi copiabili e non copiabili). Per chiamare una funzione con una struttura non copiabile come tipo restituito, è possibile definire un tipo di supporto copiabile della stessa dimensione del tipo non copiabile e convertire i dati dopo la restituzione della funzione.
In questa sezione
Passaggio di strutture
Vengono descritte le problematiche del passaggio di strutture di dati con un layout predefinito.Funzioni di callback
Vengono fornite informazioni di base sulle funzioni di callback.Procedura: implementare funzioni di callback
Viene descritto come implementare funzioni di callback nel codice gestito.
Sezioni correlate
Utilizzo di funzioni di DLL non gestite
Viene descritto come chiamare le funzioni di DLL non gestite mediante platform invoke.Marshalling dei dati con platform invoke
Viene descritto come dichiarare i parametri dei metodi e passare gli argomenti alle funzioni esportate dalle librerie non gestite.
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Maggio 2010 |
Aggiunta di un chiarimento per spiegare che la restrizione sui tipi restituiti si applica alle strutture. |
Correzione di bug nel contenuto. |