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.
Una funzione di callback è codice all'interno di un'applicazione gestita che consente a una funzione DLL non gestita di completare un'attività. Le chiamate a una funzione di callback passano indirettamente da un'applicazione gestita, tramite una funzione DLL e di nuovo all'implementazione gestita. Alcune delle numerose funzioni DLL chiamate con platform invoke richiedono l'esecuzione corretta di una funzione di callback nel codice gestito.
Per chiamare la maggior parte delle funzioni DLL dal codice gestito, creare una definizione gestita della funzione e quindi chiamarla. Il processo è semplice.
L'uso di una funzione DLL che richiede una funzione di callback prevede alcuni passaggi aggiuntivi. Prima di tutto, è necessario determinare se la funzione richiede un callback esaminando la documentazione per la funzione. Successivamente, è necessario creare la funzione di callback nell'applicazione gestita. Infine, chiami la funzione DLL, passando un puntatore alla funzione di callback come argomento.
La figura seguente riepiloga la funzione di callback e i passaggi di implementazione:
Le funzioni di callback sono ideali per l'uso in situazioni in cui un'attività viene eseguita ripetutamente. Un altro utilizzo comune è costituito da funzioni di enumerazione, ad esempio EnumFontFamilies, EnumPrinters ed EnumWindows nell'API Windows. La funzione EnumWindows enumera tutte le finestre esistenti nel computer, chiamando la funzione di callback per eseguire un'attività in ogni finestra. Per istruzioni e un esempio, vedere Procedura: Implementare funzioni di callback.