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
STATUS_FLT_DO_NOT_DETACH
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

Vedi anche

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FilterDetach

FltDetachVolume

FltRegisterFilter

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK