共用方式為


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_SUCCESSNTSTATUS 值,例如下列其中一項:

傳回碼 描述
STATUS_FLT_DO_NOT_DETACH
傳回此狀態值可防止小型篩選驅動程序實例中斷連結。 這是錯誤碼。

言論

當小型篩選驅動程式透過從 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 例程,則無法藉由 呼叫 filterDetachFltDetachVolume來手動中斷其實例。

要求

要求 價值
目標平臺 桌面
標頭 fltkernel.h (包括 Fltkernel.h)
IRQL PASSIVE_LEVEL

另請參閱

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FilterDetach

FltDetachVolume

FltRegisterFilter

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK