次の方法で共有


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を返します。

注釈

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

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

要件

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

こちらもご覧ください

FLT_CALLBACK_DATA

FLT_REGISTRATION

FltCreateSectionForDataScan

FltRegisterFilter