ReadConsoleInputEx 関数
コンソール入力バッファーからデータを読み取り、構成可能な動作でバッファーから削除します。
構文
BOOL WINAPI ReadConsoleInputEx(
_In_ HANDLE hConsoleInput,
_Out_ PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags
);
パラメーター
hConsoleInput [in]
コンソール入力バッファーへのハンドル。 ハンドルには、GENERIC_READ アクセス権があります。 詳細については、「コンソール バッファーのセキュリティとアクセス権」を参照してください。
lpBuffer [out]
入力バッファー データを受信する INPUT_RECORD 構造体の配列へのポインター。
nLength [in]
lpBuffer パラメーターが指す配列のサイズ (配列要素)。
lpNumberOfEventsRead [out]
読み込まれた入力レコードの数を受け取る変数へのポインター。
wFlags [in]
コンソールの読み取り動作を指定するフラグのセット (ORed と一緒に)。
値 | 意味 |
---|---|
CONSOLE_READ_NOREMOVE 0x0001 |
入力バッファーにイベントを残す (PeekConsoleInput のように) |
CONSOLE_READ_NOWAIT 0x0002 |
入力バッファーにイベントがない場合でも、すぐに戻ります。 |
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
この関数は、ReadConsoleInput
の構成可能なバージョンです。 その他の操作の詳細については、「ReadConsoleInput
の備考」を参照してください。
CONSOLE_READ_NOMOVE | CONSOLE_READ_NOWAIT
のフラグを伴う ReadConsoleInputEx
の呼び出しは、PeekConsoleInput
の呼び出しに相当します。
この関数は、Windows コンソール ヘッダーには存在しません。 C または C++ アプリケーションからアクセスするには、次の宣言を含め、上記のように kernel32.dll を動的にリンクします。
#ifndef CONSOLE_READ_NOREMOVE
#define CONSOLE_READ_NOREMOVE 0x0001
#endif
#ifndef CONSOLE_READ_NOWAIT
#define CONSOLE_READ_NOWAIT 0x0002
#endif
BOOL
WINAPI
ReadConsoleInputExA(
_In_ HANDLE hConsoleInput,
_Out_writes_(nLength) PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags);
BOOL
WINAPI
ReadConsoleInputExW(
_In_ HANDLE hConsoleInput,
_Out_writes_(nLength) PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags);
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
ヘッダー | なし、注釈を参照 |
ライブラリ | なし、注釈を参照 |
DLL | Kernel32.dll |
Unicode 名と ANSI 名 | ReadConsoleInputExW (Unicode) と ReadConsoleInputExA (ANSI) |