指定したファイルまたは 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 関数は次のいずれかの条件が発生した場合に戻る: (以下省略)
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |