次の方法で共有


PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK コールバック関数 (fltkernel.h)

ミニフィルター ドライバーは、必要に応じて、ミニフィルター ドライバーの SectionNotificationCallback ルーチンとしてPFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK型のルーチンを登録できます。 特定のファイル操作は、ファイル セクションと互換性がありません。 ミニフィルターが SectionNotificationCallback ルーチンを提供する場合、セクションの競合が発生したときにコールバックが呼び出されます。

構文

PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK PfltSectionConflictNotificationCallback;

NTSTATUS PfltSectionConflictNotificationCallback(
  [in] PFLT_INSTANCE Instance,
  [in] PFLT_CONTEXT SectionContext,
  [in] PFLT_CALLBACK_DATA Data
)
{...}

パラメーター

[in] Instance

I/O 操作を開始しているミニフィルター ドライバー インスタンスへの不透明なインスタンス ポインター。

[in] SectionContext

データ スキャン セクションの競合が発生したセクション コンテキストへのポインター。

[in] Data

コールバック データを含む呼び出し元によって割り当てられた構造体へのポインター。

戻り値

このコールバック ルーチンは、STATUS_SUCCESSを返します。

備考

ミニフィルター は、ミニフィルター ドライバーを登録するときに、PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK ルーチンを SectionNotificationCallbackFLT_REGISTRATION 構造体のメンバーに設定することによって、セクション競合通知に登録します。

セクションを開いたままにすると、現在のファイル I/O と互換性がない場合があります。 特に、キャッシュの消去をトリガーするファイル I/O では、セクションが開いているためにキャッシュの消去が禁止されている場合、キャッシュの一貫性が低下する可能性があります。 ミニフィルターは、これらのイベントの通知にこの省略可能なコールバック ルーチンを提供できます。 通知を受信すると、セクションを閉じて、競合する I/O 操作を続行できます。

必要条件

要件 価値
サポートされる最小クライアント PFLT_CONTEXT_ALLOCATE_CALLBACK コールバック ルーチンは、Windows 8 以降で使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー fltkernel.h (Fltkernel.h を含む)
IRQL PASSIVE_LEVEL

関連項目

FLT_CALLBACK_DATA

FLT_REGISTRATION

FltCreateSectionForDataScan

FltRegisterFilter