ZwFlushBuffersFileEx 関数 (ntifs.h)
ZwFlushBuffersFileEx ルーチンは、ファイル システム フィルター ドライバーによって呼び出され、特定のファイルのフラッシュ要求をファイル システムに送信します。 オプションのフラッシュ操作フラグを設定して、ファイル データをストレージに書き込む方法を制御できます。
構文
NTSYSAPI NTSTATUS ZwFlushBuffersFileEx(
[in] HANDLE FileHandle,
ULONG FLags,
PVOID Parameters,
ULONG ParametersSize,
[out] PIO_STATUS_BLOCK IoStatusBlock
);
パラメーター
[in] FileHandle
バッファーがフラッシュされるファイルの ZwCreateFile または ZwOpenFile によって返されるハンドル。 このパラメーターは必須であり、 NULL にすることはできません。
FLags
フラッシュ操作フラグ。 フラグ には、0 または次のいずれかの値を指定できます。
Parameters
呼び出し元の I/O 状態ブロックのアドレス。 このパラメーターは必須であり、 NULL にすることはできません。
ParametersSize
パラメーター ブロックのサイズ (バイト単位)。
[out] IoStatusBlock
呼び出し元の I/O 状態ブロックのアドレス。 このパラメーターは必須であり、 NULL にすることはできません。
戻り値
ZwFlushBuffersFileEx は 、次のいずれかのSTATUS_SUCCESS または適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
|
ファイルは書き込み保護ボリュームに存在します。これはエラー コードです。 |
|
ファイルは、現在マウントされていないボリュームに存在します。これはエラー コードです。 |
|
ファイルには書き込みアクセス権も追加アクセス権もありません。 |
注釈
ファイル システム フィルター ドライバーは 、ZwFlushBuffersFileEx を呼び出して、特定のファイルの IRP_MJ_FLUSH_BUFFERS 要求をファイル システムに発行できます。 フラッシュ操作は同期です。
ミニフィルター ドライバーでは、 ZwFlushBuffersFileEx を呼び出す代わりに FltFlushBuffers を呼び出す必要があります。
ZwFlushBuffersFileEx の呼び出し元は、IRQL = PASSIVE_LEVELで実行され、特殊なカーネル API が有効になっている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照)。 |