FlushViewOfFile

ファイルのマップされたビュー内のバイト範囲をディスクに書き込む。

FlushViewOfFile lpBaseAddress, dwNumberOfBytesToFlush

lpBaseAddress : [intptr] マップされたファイルのディスク表現にフラッシュするバイト範囲のベースアドレスへのポインタ。
dwNumberOfBytesToFlush : [int] フラッシュするバイト数。dwNumberOfBytesToFlush が 0 の場合、ファイルはベースアドレスからマッピングの末尾までフラッシュされる。

(プラグイン / モジュール : kernel32.dll)

解説

ファイルのマップされたビュー内のバイト範囲をディスクに書き込む。

[戻り値]
関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]

マップされたビューの範囲をフラッシュすると、その範囲内のダーティページのディスクへの書き込みが開始される。ダーティページとは、ファイルビューがマップされてから内容が変更されたページである。FlushViewOfFile
関数はファイルメタデータをフラッシュせず、変更が基となるハードウェアディスクキャッシュからフラッシュされ物理的にディスクに書き込まれるまで待たずに戻る。すべてのダーティページとファイルのメタデータをフラッシュし、それらが物理的にディスクに書き込まれることを保証するには、FlushViewOfFile
を呼び出した後に FlushFileBuffers
関数を呼ぶ。ネットワーク経由でメモリマップトファイルをフラッシュするとき、FlushViewOfFile
はデータがローカルコンピュータから書き込まれたことを保証するが、データがリモートコンピュータ上に存在することは保証しない。サーバーはリモート側でデータをキャッシュすることがある。したがって、FlushViewOfFile
はデータが物理的にディスクに書き込まれる前に戻ることがある。マップされたビューを通じてファイルを変更する際、最終変更タイムスタンプが自動的に更新されないことがある。必要であれば、呼び出し側は
SetFileTime を使ってタイムスタンプを設定すべきである。Windows Server 2012
では、この関数は次の技術でサポートされる。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs