Condividi tramite


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 del driver minifilter InstanceQueryTeardownCallback routine.

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. Nessun flag è attualmente definito.

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 minifiltro venga scollegata. Si tratta di un codice di errore.

Osservazioni

Quando un driver minifiltro 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 InstanceQueryTeardownCallback membro 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 minifiltro viene scaricato o viene smontato un volume.

Se questa routine restituisce un errore o un avviso codice NTSTATUS, 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 minifiltro non definisce una routine InstanceQueryTeardownCallback, le relative istanze non possono essere scollegate manualmente chiamando FilterDetach o FltDetachVolume.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione fltkernel.h (include Fltkernel.h)
IRQL PASSIVE_LEVEL

Vedere anche

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FilterDetach

FltDetachVolume

FltRegisterFilter

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK