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 呼び出します。
キューが ミューテックス オブジェクト またはリソース変数 ではなく、スピン ロック によって保護されている場合、FltCbdqDisable の呼び出し元は IRQL <= DISPATCH_LEVEL で実行できます。 ミューテックスまたはリソースを使用する場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
IRQL | 「解説」セクションを参照してください。 |
関連項目
FltCbdqEnable の
FltCbdqInitialize の
FltCbdqInsertIo を する
FltCbdqRemoveIo を する
FltCbdqRemoveNextIo の