構成可能な動作を使用して、コンソール入力バッファーからデータを読み取り、それをバッファーから削除します。
構文
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_NOREMOVE0x0001 |
入力バッファーにイベントを残します (PeekConsoleInput と同様) |
CONSOLE_READ_NOWAIT0x0002 |
入力バッファーにイベントがない場合でも、すぐに戻ります。 |
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
注釈
この関数は、ReadConsoleInput
の構成可能バージョンです。 操作に関するその他の詳細については、ReadConsoleInput
の解説を参照してください。
フラグ CONSOLE_READ_NOREMOVE | 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 [デスクトップ アプリのみ] |
Header | なし、解説を参照 |
ライブラリ | なし、解説を参照 |
DLL | Kernel32.dll |
Unicode 名と ANSI 名 | ReadConsoleInputExW (Unicode) と ReadConsoleInputExA (ANSI) |