ReadFile

指定したファイルまたは I/O デバイスからデータを読み取る。デバイスがサポートする場合、読み取りはファイルポインタが示す位置で行われる。

ReadFile hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped

hFile : [intptr] デバイスへのハンドル(ファイル、ファイルストリーム、物理ディスク、ボリューム、コンソールバッファ、テープドライブ、ソケット、通信リソース、メールスロット、パイプなど)。読み取りアクセスで作成する必要がある。非同期読み取りでは FILE_FLAG_OVERLAPPED で開いた任意のハンドル、または socket/accept が返すソケットハンドルを指定できる。
lpBuffer : [var] ファイルまたはデバイスから読み取られたデータを受け取るバッファへのポインタ。読み取り操作中、このバッファは有効なままでなければならず、完了するまで呼び出し元はバッファを使用してはならない。
nNumberOfBytesToRead : [int] 読み取る最大バイト数。
lpNumberOfBytesRead : [var] 同期 hFile 使用時に読み取られたバイト数を受け取る変数へのポインタ。非同期操作では誤った結果を避けるため NULL を使う(この場合 lpOverlapped が非 NULL でなければならない)。
lpOverlapped : [var] hFile が FILE_FLAG_OVERLAPPED で開かれた場合に必要な OVERLAPPED 構造体へのポインタ。そうでなければ NULL。バイトオフセットをサポートする hFile でこのパラメータを使用する場合、Offset と OffsetHigh メンバで開始バイトオフセットを指定する。

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

解説

指定したファイルまたは I/O デバイスからデータを読み取る。デバイスがサポートする場合、読み取りはファイルポインタが示す位置で行われる。

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

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

サンプル逆引き (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