PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK funzione di callback (fltkernel.h)
Un driver minifilter può registrare una routine di tipo PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK come routine instanceQueryTeardownCallback del driver minifilter.
Sintassi
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK PfltInstanceQueryTeardownCallback;
NTSTATUS PfltInstanceQueryTeardownCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags
)
{...}
Parametri
[in] FltObjects
Puntatore a una struttura FLT_RELATED_OBJECTS che contiene puntatori opachi per gli oggetti correlati all'operazione corrente.
[in] Flags
Maschera di bit di flag che descrivono il motivo per cui è stata chiamata la routine di callback della query di istanza specificata. Non sono attualmente definiti flag.
Valore restituito
Questa routine di callback restituisce STATUS_SUCCESS o un valore NTSTATUS , ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
|
La restituzione di questo valore di stato impedisce che l'istanza del driver minifilter venga scollegata. Si tratta di un codice di errore. |
Commenti
Quando un driver minifilter si registra chiamando FltRegisterFilter dalla routine DriverEntry , può registrare una routine di tipo PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK come routine del driver minifilter InstanceQueryTeardownCallback .
Per registrare la routine InstanceQueryTeardownCallback , il driver minifilter archivia l'indirizzo di una routine di tipo PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK nel membro InstanceQueryTeardownCallback della struttura FLT_REGISTRATION che il driver minifilter passa come parametro Registration di FltRegisterFilter.
Gestione filtri chiama questa routine per consentire al driver minifilter di rispondere a una richiesta di scollegamento manuale. Tale richiesta viene ricevuta quando un'applicazione in modalità utente chiama FilterDetach o un componente in modalità kernel chiama FltDetachVolume.
Questa routine non viene chiamata per richieste di scollegamento automatico o obbligatorio, ad esempio quando il driver minifilter viene scaricato o un volume viene smontato.
Se questa routine restituisce un errore o un codice NTSTATUS di avviso, ad esempio STATUS_FLT_DO_NOT_DETACH, l'istanza del driver minifilter non viene scollegata dal volume. In caso contrario, l'istanza viene scollegata.
Se un driver minifilter non definisce una routine InstanceQueryTeardownCallback , le relative istanze non possono essere scollegate manualmente chiamando FilterDetach o FltDetachVolume.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | fltkernel.h (include Fltkernel.h) |
IRQL | PASSIVE_LEVEL |