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