共用方式為


FltCbdqDisable 函式 (fltkernel.h)

FltCbdqDisable 會停用迷你篩選驅動程式的回呼數據佇列。

語法

VOID FLTAPI FltCbdqDisable(
  [in, out] PFLT_CALLBACK_DATA_QUEUE Cbdq
);

參數

[in, out] Cbdq

回呼數據佇列的指標。

傳回值

沒有

言論

FltCbdqDisable 會停用回呼數據佇列,這樣就不會再新增任何專案。

迷你篩選驅動程式可以使用 FltCbdqXxx 例程來實作 IRP 型 I/O 作業的回呼數據佇列。 使用這些例程,小型篩選驅動程式可以讓佇列取消安全;系統會以透明方式處理小型篩選驅動程式的 I/O 取消。

FltCbdqXxx 例程只能用於 IRP 型 I/O 作業。 若要判斷指定的回呼數據結構是否代表 IRP 型 I/O 作業,請使用 FLT_IS_IRP_OPERATION 巨集。

小型篩選驅動程式通常會在實例卸除或小型篩選驅動程式卸載期間呼叫 FltCbdqDisable。 呼叫此例程之後,小型篩選驅動程式應清空或 清空佇列。 這可以藉由重複呼叫 FltCbdqRemoveNextIo,直到佇列中不再保留任何項目為止。

如需如何建立回呼數據佇列的詳細資訊,請參閱 FltCbdqInitialize。 使用 FltCbdqInsertIo,將 I/O 要求新增至佇列。 使用 FltCbdqRemoveIo 從佇列中移除特定 I/O 要求,或 FltCbdqRemoveNextIo 移除下一個可用的 I/O 要求。

若要在停用佇列之後重新啟用佇列,請呼叫 FltCbdqEnable

如果佇列受到 微調鎖定 保護,而不是 mutex 物件資源變數FltCbdqDisable 的呼叫者可以在 IRQL <= DISPATCH_LEVEL 執行。 如果使用 mutex 或資源,呼叫端必須在 IRQL <= APC_LEVEL執行。

要求

要求 價值
目標平臺 普遍
標頭 fltkernel.h (包括 Fltkernel.h)
IRQL 請參閱一節。

另請參閱

FLT_CALLBACK_DATA_QUEUE

FLT_IS_IRP_OPERATION

FltCbdqEnable

FltCbdqInitialize

FltCbdqInsertIo

FltCbdqRemoveIo

FltCbdqRemoveNextIo