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 |