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 chiamata di procedura asincrona (APC) è una funzione che viene eseguita in modo asincrono. Gli APC sono simili alle chiamate di procedura posticipata (DPC), ma a differenza dei DPC, gli APC vengono eseguiti nel contesto di un determinato thread. I driver (diversi dai file system e i driver di filtro del file system) non usano direttamente le API, ma altre parti del sistema operativo fanno, quindi è necessario essere consapevoli del funzionamento delle API.
Il sistema operativo Windows usa quattro tipi di APC:
Le API speciali in modalità utente vengono eseguite rigorosamente in modalità utente ed eseguite sempre, anche se il thread di destinazione non è in uno stato di attesa avvisabile. Per altre informazioni sulle API speciali in modalità utente, vedere QueueUserAPC2.
Gli APC in modalità utente regolari vengono eseguiti rigorosamente in modalità utente e solo quando il thread di destinazione è in uno stato di attesa avvisabile. Il sistema operativo usa le normali API utente per implementare meccanismi come le operazioni di I/O sovrapposte e la routine QueueUserApc Win32.
APC normali del kernel sono in esecuzione in modalità kernel a IRQL = PASSIVE_LEVEL. Un normale kernel APC annulla tutto il codice in modalità utente, incluse le API utente. Le normali APC del kernel vengono generalmente utilizzate dai file system e dai driver filtro del file system.
Gli APC speciali del kernel vengono eseguiti in modalità kernel con IRQL = APC_LEVEL. Un kernel speciale APC annulla il codice in modalità utente e il codice in modalità kernel che viene eseguito in IRQL = PASSIVE_LEVEL, incluse le API utente e le NORMALI API del kernel. Il sistema operativo usa API kernel speciali per gestire operazioni come il completamento delle richieste di I/O.
Per un elenco di IRQLs dalla priorità più bassa alla più alta, vedere Gestione delle priorità hardware.