次の方法で共有


FltCompletePendedPreOperation 関数 (fltkernel.h)

FltCompletePendedPreOperation 、ミニフィルター ドライバーのプリ操作コールバック (PFLT_PRE_OPERATION_CALLBACK) ルーチンにペンドされた I/O 操作の処理を再開します。

構文

VOID FLTAPI FltCompletePendedPreOperation(
                 PFLT_CALLBACK_DATA        CallbackData,
  [in]           FLT_PREOP_CALLBACK_STATUS CallbackStatus,
  [in, optional] PVOID                     Context
);

パラメーター

CallbackData

I/O 操作のコールバック データ (FLT_CALLBACK_DATA) 構造体へのポインター。 このパラメーターは必須であり、NULL にすることはできません。

[in] CallbackStatus

ミニフィルター ドライバーがこの I/O 操作に対して返す状態値。 FLT_PREOP_PENDING、FLT_PREOP_SYNCHRONIZE、またはFLT_PREOP_DISALLOW_FASTIOすることはできません。 次のいずれかのFLT_PREOP_CALLBACK_STATUS値を指定する必要があります。 これらの値の効果の詳細については、PFLT_PRE_OPERATION_CALLBACKのリファレンス エントリの「解説」セクションを参照してください。

価値 意味
FLT_PREOP_COMPLETE ミニフィルター ドライバーが I/O 操作を完了しています。 フィルター マネージャーは、呼び出し元の下のミニフィルター ドライバーまたはファイル システムに I/O 操作を送信しません。 フィルター マネージャーは、呼び出し元の上にあるミニフィルター ドライバーのポスト操作コールバック (PFLT_POST_OPERATION_CALLBACK) ルーチンのみを呼び出します。
FLT_PREOP_SUCCESS_NO_CALLBACK ミニフィルター ドライバーは、フィルター マネージャーに I/O 操作の制御を返しています。 フィルター マネージャーは、I/O の完了中に対応する事後操作コールバックが存在する場合は呼び出しません。
FLT_PREOP_SUCCESS_WITH_CALLBACK ミニフィルター ドライバーは、フィルター マネージャーに I/O 操作の制御を返しています。 フィルター マネージャーは、I/O の完了時に対応するポスト操作コールバックを呼び出します。

[in, optional] Context

CallbackStatusにFLT_PREOP_SUCCESS_WITH_CALLBACKが指定されている場合、このパラメーターは、対応する事後処理コールバック ルーチンに渡される省略可能なコンテキスト ポインターです。 CallbackStatus にFLT_PREOP_COMPLETEまたはFLT_PREOP_SUCCESS_NO_CALLBACK指定する場合、このパラメーターは NULL である必要があります。

戻り値

何一つ

備考

ミニフィルター ドライバーのプリ操作コールバック (PFLT_PRE_OPERATION_CALLBACK) ルーチンが作業キューに I/O 操作をポストし、FLT_PREOP_PENDINGを返すと、フィルター マネージャーは操作の処理を停止します。 操作が最終的にデキューされて処理されると、ミニフィルター ドライバーは FltCompletePendedPreOperation を呼び出してフィルター マネージャーに操作を返す必要があります。これにより、ミニフィルター ドライバーで指定された CallbackStatus の指示に基づく処理が再開されます。

CallbackStatus パラメーターがFLT_PREOP_COMPLETEされている場合は、IRQL <= DISPATCH_LEVEL で FltCompletePendedPreOperation 呼び出すことができます。 それ以外の場合は、FltCompletePendedPreOperation の呼び出し元が IRQL <= APC_LEVEL で実行されている必要があります。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー fltkernel.h (Fltkernel.h を含む)
ライブラリ FltMgr.lib
IRQL 「解説」セクションを参照してください。

関連項目

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK