次の方法で共有


ZwFlushBuffersFileEx 関数 (ntifs.h)

ZwFlushBuffersFileEx ルーチンは、特定のファイルのフラッシュ要求をファイル システムに送信するファイル システム フィルター ドライバーによって呼び出されます。 オプションのフラッシュ操作フラグを設定して、ファイル データをストレージに書き込む方法を制御できます。

構文

NTSYSAPI NTSTATUS ZwFlushBuffersFileEx(
  [in]  HANDLE           FileHandle,
        ULONG            FLags,
        PVOID            Parameters,
        ULONG            ParametersSize,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

パラメーター

[in] FileHandle

バッファー フラッシュされるファイルの ZwOpenFile または ZwOpenFile によって返されるハンドル。 このパラメーターは必須であり、NULLすることはできません。

FLags

フラッシュ操作フラグ。 フラグ には、0 または次のいずれかの値を指定できます。

価値 意味
FLUSH_FLAGS_FILE_DATA_ONLY

ファイルが NTFS ファイル システム上にある場合は、ファイル キャッシュ内のファイル データが書き込まれます。 メタデータは書き込まれず、基になるストレージはキャッシュをフラッシュするために同期されません。 このフラグは、ボリューム ハンドルでは無効です。

FLUSH_FLAGS_NO_SYNC

ファイルが NTFS ファイル システム上にある場合は、ファイル キャッシュ内のファイル データとメタデータが書き込まれます。 基になるストレージは、キャッシュをフラッシュするために同期されません。 このフラグは、ボリューム ハンドルでは無効です。

 

Parameters

呼び出し元の I/O 状態ブロックのアドレス。 このパラメーターは必須であり、NULLすることはできません。

ParametersSize

パラメーター ブロックのサイズ (バイト単位)。

[out] IoStatusBlock

呼び出し元の I/O 状態ブロックのアドレス。 このパラメーターは必須であり、NULLすることはできません。

戻り値

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

リターン コード 形容
STATUS_MEDIA_WRITE_PROTECTED
ファイルは書き込み保護ボリュームに存在します。これはエラー コードです。
STATUS_VOLUME_DISMOUNTED
ファイルは、現在マウントされていないボリューム上に存在します。これはエラー コードです。
STATUS_ACCESS_DENIED
ファイルには書き込みアクセスも追加アクセスも含まれません。

備考

ファイル システム フィルター ドライバーは、ZwFlushBuffersFileEx を呼び出して、特定のファイルの IRP_MJ_FLUSH_BUFFERS 要求をファイル システムに発行できます。 フラッシュ操作は同期です。

ミニフィルター ドライバーは、ZwFlushBuffersFileExを呼び出す代わりに、FltFlushBuffers 呼び出す必要があります。

ZwFlushBuffersFileEx の呼び出し元は、IRQL = PASSIVE_LEVEL で実行され、特殊なカーネル API が有効になっている 必要があります。

ZwFlushBuffersFileEx 関数の呼び出しがユーザー モードで発生した場合は、"ZwFlushBuffersFileEx" ではなく"NtFlushBuffersFileEx" という名前を使用する必要があります。
 
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの **Nt*Xxx*** バージョンと **Zw*Xxx*** バージョンは、入力パラメーターを処理して解釈する方法で動作が異なる場合があります。 ルーチンの **Nt*Xxx*** バージョンと **Zw*Xxx*** バージョン間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用](/windows-hardware/drivers/kernel/using-nt-and-zw-versions-of-the-native-system-services-routines)を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 8。
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (「解説」セクションを参照)。

関連項目

FltFlushBuffers を する

IRP_MJ_FLUSH_BUFFERS

ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンを使用した

ZwCreateFile

ZwOpenFile