コンソール入力バッファからデータを読み取り、バッファから削除する。
ReadConsoleInputW hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead
hConsoleInput : [intptr] コンソール入力バッファへのハンドル。ハンドルは **GENERIC\_READ** アクセス権を持つ必要がある。詳細は [Console Buffer Security and Access Rights](console-buffer-security-and-access-rights.md) を参照。 lpBuffer : [var] 入力バッファデータを受け取る [**INPUT\_RECORD**](input-record-str.md) 構造体の配列へのポインタ。 nLength : [int] *lpBuffer* パラメータが指す配列のサイズ(配列要素数)。 lpNumberOfEventsRead : [var] 読み取られた入力レコード数を受け取る変数へのポインタ。
(プラグイン / モジュール : kernel32.dll)
コンソール入力バッファからデータを読み取り、バッファから削除する。 [戻り値] 関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 である。拡張エラー情報を取得するには [**GetLastError**](/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror) を呼び出す。 [備考] *nLength* パラメータで要求されたレコード数がバッファ内で利用可能なレコード数を超えている場合、利用可能な数が読み取られる。関数は少なくとも 1 つの入力レコードが読み取られるまで戻らない。プロセスは、未読のコンソール入力があるかを判定するために、[wait functions](/windows/win32/sync/wait-functions) のいずれかにコンソール入力バッファハンドルを指定できる。入力バッファが空でない場合、コンソール入力バッファハンドルの状態はシグナル状態となる。コンソールの入力バッファ内の未読入力レコード数を判定するには [**GetNumberOfConsoleInputEvents**](getnumberofconsoleinputevents.md) 関数を使用する。未読レコード数に影響を与えずにコンソール入力バッファから入力レコードを読み取るには [**PeekConsoleInput**](peekconsoleinput.md) 関数を使用する。コンソールの入力バッファ内の未読レコードを全て破棄するには [**FlushConsoleInputBuffer**](flushconsoleinputbuffer.md) 関数を使用する。[!INCLUDE [setting-codepage-mode-remarks](./includes/setting-codepage-mode-remarks.md)]
| プラグイン / モジュール | 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 |