Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'identità di una funzione DLL è costituita dagli elementi seguenti:
Nome o ordinale della funzione
Nome del file DLL in cui è possibile trovare l'implementazione
Ad esempio, specificando la funzione MessageBox nel User32.dll identifica la funzione (MessageBox) e la relativa posizione (User32.dll, User32 o user32). L'API Windows (Application Programming Interface) di Microsoft Windows può contenere due versioni di ogni funzione che gestisce caratteri e stringhe: una versione ANSI di 1 byte e una versione Unicode a 2 byte. Se non specificato, il set di caratteri, rappresentato dal CharSet campo, per impostazione predefinita è ANSI. Alcune funzioni possono avere più di due versioni.
MessageBoxA è il punto di ingresso ANSI per la funzione MessageBox ; MessageBoxW è la versione Unicode. È possibile elencare i nomi delle funzioni per una DLL specifica, ad esempio user32.dll, eseguendo un'ampia gamma di strumenti da riga di comando. Ad esempio, è possibile usare dumpbin /exports user32.dll
o link /dump /exports user32.dll
per ottenere nomi di funzione.
È possibile rinominare una funzione non gestita in qualsiasi elemento desiderato all'interno del codice, purché il nuovo nome venga mappato al punto di ingresso originale nella DLL. Per istruzioni sulla ridenominazione di una funzione DLL non gestita nel codice sorgente gestito, vedere Specifica di un punto di ingresso.
Platform invoke consente di controllare una parte significativa del sistema operativo chiamando le funzioni nell'API Windows e in altre DLL. Oltre all'API Windows, sono disponibili numerose altre API e DLL tramite platform invoke.
La tabella seguente descrive diverse DLL di uso comune nell'API di Windows.
DLL | Descrizione del contenuto |
---|---|
GDI32.dll | Funzioni GDI (Graphics Device Interface) per l'output del dispositivo, ad esempio quelle per la gestione del disegno e del tipo di carattere. |
Kernel32.dll | Funzioni del sistema operativo di basso livello per la gestione della memoria e la gestione delle risorse. |
User32.dll | Funzioni di gestione di Windows per la gestione dei messaggi, i timer, i menu e le comunicazioni. |
Per la documentazione completa sull'API Windows, vedere Platform SDK. Per esempi che illustrano come costruire dichiarazioni basate su .NET da usare con Platform Invoke, vedere Marshalling dei dati con Platform Invoke.