PFLT_FILTER_UNLOAD_CALLBACK funzione di callback (fltkernel.h)
Un driver minifilter può registrare una routine di tipo PFLT_FILTER_UNLOAD_CALLBACK come routine FilterUnloadCallback del driver minifilter.
Sintassi
PFLT_FILTER_UNLOAD_CALLBACK PfltFilterUnloadCallback;
NTSTATUS PfltFilterUnloadCallback(
FLT_FILTER_UNLOAD_FLAGS Flags
)
{...}
Parametri
Flags
Maschera di bit dei flag che descrivono la richiesta di scaricamento. Questo parametro può essere NULL o il seguente:
Contrassegno | Significato |
---|---|
FLTFL_FILTER_UNLOAD_MANDATORY | Gestione filtri imposta questo flag per indicare che l'operazione di scaricamento è obbligatoria. |
Valore restituito
Questa routine di callback restituisce STATUS_SUCCESS o un valore NTSTATUS, ad esempio:
Codice restituito | Descrizione |
---|---|
STATUS_FLT_DO_NOT_DETACH | Se l'operazione di scaricamento non è obbligatoria, la restituzione di questo valore di stato impedisce il caricamento del driver minifilter. Si tratta di un codice di errore. |
Commenti
Quando un driver minifilter si registra chiamando FltRegisterFilter, può registrare una routine FilterUnloadCallback . Per registrare questa routine di callback, il driver minifilter archivia l'indirizzo di una routine di tipo PFLT_FILTER_UNLOAD_CALLBACK nel campo FilterUnloadCallback della struttura FLT_REGISTRATION che il driver minifilter passa come parametro a FltRegisterFilter.
I driver minifilter non sono necessari per registrare una routine FilterUnloadCallback . È tuttavia consigliabile registrare una routine di scaricamento. Se un driver minifilter non registra una routine FilterUnloadCallback , non può essere scaricato.
Quando un driver minifilter registra una routine FilterUnloadCallback :
Gestione filtri chiama la routine FilterUnloadCallback per notificare al driver minifilter che il gestore filtri sta per scaricare il driver minifilter.
Se l'operazione di scaricamento non è obbligatoria e la routine FilterUnloadCallback restituisce un errore o un codice NTSTATUS di avviso, ad esempio STATUS_FLT_DO_NOT_DETACH, il driver minifilter non viene scaricato. In caso contrario, il driver minifilter viene scaricato.
Se il flag FLTFL_FILTER_UNLOAD_MANDATORY è impostato nel parametro Flags , l'operazione di scaricamento è obbligatoria e il driver minifilter non può impedire il caricamento.
Vedere Quando viene chiamata la routine FilterUnloadCallback per altre informazioni sulle possibili cause di scaricamento e sul processo di scaricamento del driver minifilter.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | fltkernel.h (include Fltkernel.h) |
IRQL | PASSIVE_LEVEL |