Condividi tramite


Identificazione di funzioni nelle DLL

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.

Vedere anche