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 值,例如下列其中一項:
傳回碼 | 描述 |
---|---|
|
傳回此狀態值可防止小型篩選驅動程序實例中斷連結。 這是錯誤碼。 |
言論
當小型篩選驅動程式透過從 DriverEntry 例程呼叫 FltRegisterFilter 來註冊自己時,它可以將類型為 PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK 的例程註冊為迷你篩選驅動程式的 InstanceQueryTeardownCallback 例程。
若要註冊 InstanceQueryTeardownCallback 例程,迷你篩選驅動程式會將類型 PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK 的例程位址儲存在 InstanceQueryTeardownCallbackFLT_REGISTRATION 結構的成員中,迷你篩選驅動程式會傳遞為 FltRegisterFilterRegistration 參数。
篩選管理員會呼叫此例程,以允許迷你篩選驅動程序回應手動卸離要求。 當使用者模式應用程式呼叫 filterDetach 或內核模式元件呼叫 FltDetachVolume時,會收到這類要求。
例如,卸除迷你篩選驅動程式或卸除磁碟區時,不會針對自動或強制卸離要求呼叫此例程。
如果這個例程傳回錯誤或警告,NTSTATUS 程式代碼,例如 STATUS_FLT_DO_NOT_DETACH,則小型篩選驅動程序實例不會與磁碟區中斷連結。 否則,實例會中斷連結。
如果迷你篩選驅動程式未定義 InstanceQueryTeardownCallback 例程,則無法藉由 呼叫 filterDetach 或 FltDetachVolume來手動中斷其實例。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | fltkernel.h (包括 Fltkernel.h) |
IRQL | PASSIVE_LEVEL |