Condividi tramite


Informazioni dettagliate su platform invoke

In platform invoke, per l'individuazione delle funzioni esportate e il marshalling dei relativi argomenti in fase di esecuzione vengono utilizzati i metadati. Nella figura che segue viene illustrato questo processo.

Platform invoke per una funzione di DLL non gestita

Platform invoke

Quando platform invoke chiama una funzione non gestita, svolge le seguenti operazioni:

  1. Trova la DLL contenente la funzione.

  2. Carica la DLL in memoria.

  3. Trova l'indirizzo della funzione in memoria e inserisce i relativi argomenti nello stack, effettuando il marshalling dei dati come opportuno.

    NotaNota

    L'individuazione e il caricamento della DLL e l'individuazione dell'indirizzo della funzione in memoria hanno luogo solo la prima volta che si chiama la funzione.

  4. Trasferisce il controllo alla funzione non gestita.

Platform invoke genera per il chiamante gestito le eccezioni generate dalla funzione non gestita.

Vedere anche

Concetti

Utilizzo di funzioni di DLL non gestite

Esempi di platform invoke