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'uso delle funzioni di DLL. In questa sezione vengono presentati argomenti che descrivono 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. Questi tipi sono definiti tipi copiabili da BLT perché non richiedono la conversione. Vedere Tipi copiabili e non copiabili da BLT. Per chiamare una funzione con una struttura non copiabile da BLT come tipo restituito, è possibile definire un tipo di helper copiabile da BLT della stessa dimensione del tipo non copiabile da BLT e convertire i dati dopo la restituzione della funzione.

In questa sezione

Passaggio di strutture
Identifica le problematiche relative al passaggio di strutture di dati con un layout predefinito.

Funzioni di callback
Include informazioni di base sulle funzioni di callback.

Procedura: Implementare funzioni di callback
Descrive come implementare funzioni di callback nel codice gestito.

Utilizzo di funzioni di DLL non gestite
Descrive come chiamare funzioni di DLL non gestite con platform invoke.

Marshalling di dati con platform invoke
Descrive come dichiarare i parametri dei metodi e passare gli argomenti alle funzioni esportate dalle librerie non gestite.