Share via


FltFlushBuffers 関数 (fltkernel.h)

FltFlushBuffers ルーチンは、指定されたファイルのフラッシュ要求をファイル システムに送信するためにミニフィルター ドライバーによって使用されます。 FltFlushBuffers2 を使用して、さまざまなフラッシュ型オプションを指定します。

構文

NTSTATUS FLTAPI FltFlushBuffers(
  [in] PFLT_INSTANCE Instance,
  [in] PFILE_OBJECT  FileObject
);

パラメーター

[in] Instance

呼び出し元の不透明なインスタンス ポインター。 このパラメーターは必須であり、 NULL にすることはできません。

[in] FileObject

フラッシュするファイルのファイル オブジェクト ポインター。 このパラメーターは必須であり、 NULL にすることはできません。

戻り値

FltFlushBuffers は、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_MEDIA_WRITE_PROTECTED
ファイルは書き込み保護ボリュームに存在します。 これはエラー コードです。
STATUS_VOLUME_DISMOUNTED
ファイルは、現在マウントされていないボリュームに存在します。 これはエラー コードです。

注釈

ミニフィルター ドライバーは 、FltFlushBuffers を呼び出して、特定のファイルのファイル システムに IRP_MJ_FLUSH_BUFFERS 要求を発行できます。 フラッシュ操作は同期であり、指定されたインスタンスの下のインスタンスに対して発行 されます

FileObject がファイルの場合、ファイル キャッシュ内のファイル データとメタデータの両方が書き込まれ、基になるストレージが同期されてキャッシュがフラッシュされます。 FileObject がボリュームの場合、ファイル システムによって、ボリューム上のすべての変更されたファイルのファイル データとメタデータの両方が書き込まれ、基になるストレージが同期されてキャッシュがフラッシュされます。 FltFlushBuffers2 を使用して、ファイル システムで実行する必要があるフラッシュの種類をよりきめ細かく制御します。

要件

要件
対象プラットフォーム ユニバーサル
Header fltkernel.h (Fltkernel.h を含む)
Library FltMgr.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS