PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK回呼函式 (fltkernel.h)
迷你篩選驅動程式可以註冊類型 為 PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK 的例程,做為迷你篩選驅動程式的 InstanceQueryTeardownCallback 例程。
語法
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK PfltInstanceQueryTeardownCallback;
NTSTATUS PfltInstanceQueryTeardownCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags
)
{...}
參數
[in] FltObjects
FLT_RELATED_OBJECTS 結構的指標,其中包含與目前作業相關之物件的不透明指標。
[in] Flags
旗標的位掩碼,描述為何呼叫指定的實例查詢終止回呼例程。 目前未定義任何旗標。
傳回值
此回呼例程會 傳回STATUS_SUCCESS 或 NTSTATUS 值,例如下列其中一項:
傳回碼 | Description |
---|---|
|
傳回此狀態值可防止中斷連結迷你篩選驅動程序實例。 這是錯誤碼。 |
備註
當 minifilter 驅動程式從其 DriverEntry 例程呼叫 FltRegisterFilter 來註冊本身時,它可以註冊類型為 PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK 的例程,作為 minifilter 驅動程式的 InstanceQueryTeardownCallback 例程。
若要註冊 InstanceQueryTeardownCallback 例程,迷你篩選驅動程式會將類型PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK例程的地址儲存在minifilter驅動程式傳遞為 FltRegisterFilter註冊參數之FLT_REGISTRATION結構的 InstanceQueryTeardownCallback 成員中。
篩選管理員會呼叫此例程,以允許迷你篩選驅動程序回應手動卸離要求。 當使用者模式應用程式呼叫 FilterDetach 或內核模式元件呼叫 FltDetachVolume 時,就會收到這類要求。
例如,卸除迷你篩選驅動程式或卸除磁碟區時,不會針對自動或強制卸離要求呼叫此例程。
如果這個例程傳回錯誤或警告 NTSTATUS 程式代碼,例如 STATUS_FLT_DO_NOT_DETACH,則迷你篩選驅動程序實例不會與磁碟區中斷連結。 否則,實例會中斷連結。
如果迷你篩選驅動程式未定義 InstanceQueryTeardownCallback 例程,則無法藉由呼叫 FilterDetach 或 FltDetachVolume 手動卸離其實例。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | fltkernel.h (包含 Fltkernel.h) |
IRQL | PASSIVE_LEVEL |