WriteFile

指定されたファイルまたは I/O デバイスにデータを書き込む。

WriteFile hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, lpOverlapped

hFile : [intptr] ファイルまたは I/O デバイスへのハンドル(ファイル、ファイルストリーム、物理ディスク、ボリューム、コンソールバッファ、テープドライブ、ソケット、通信リソース、メールスロット、パイプなど)。書き込みアクセスで作成する必要がある。非同期書き込みでは FILE_FLAG_OVERLAPPED で開いたハンドル、または socket/accept が返すソケットハンドルを指定できる。
lpBuffer : [var] ファイルまたはデバイスに書き込むデータを含むバッファへのポインタ。書き込み操作中はバッファを有効に保ち、完了するまで呼び出し元はバッファを使用してはならない。
nNumberOfBytesToWrite : [int] ファイルまたはデバイスに書き込むバイト数。0 は null write 操作を指定し、基礎となるファイルシステムまたは通信技術に依存する動作をする。
lpNumberOfBytesWritten : [var] 同期 hFile 使用時に書き込まれたバイト数を受け取る変数へのポインタ。非同期操作では誤った結果を避けるため NULL を使う(この場合 lpOverlapped が非 NULL でなければならない)。
lpOverlapped : [var] hFile が FILE_FLAG_OVERLAPPED で開かれた場合に必要な OVERLAPPED 構造体へのポインタ。そうでなければ NULL。バイトオフセットをサポートする hFile でこのパラメータを使用する場合、Offset と OffsetHigh メンバで書き込み開始オフセットを指定する。ファイル末尾に書き込むには Offset/OffsetHigh を 0xFFFFFFFF に設定する。

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

解説

指定されたファイルまたは I/O デバイスにデータを書き込む。

[戻り値]
関数が成功した場合、戻り値は 0 以外(TRUE)。失敗または非同期完了中の場合は 0(FALSE)。拡張エラー情報は
GetLastError で取得する。ERROR_IO_PENDING は失敗ではなく非同期完了待機を示す。

[備考]
WriteFile 関数は次のいずれかの条件が発生した場合に戻る:
(以下省略)

サンプル逆引き (1)

named_pipe.hsp

情報

プラグイン / モジュール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