次の方法で共有


ReadConsoleInputEx 関数

コンソール入力バッファーからデータを読み取り、構成可能な動作でバッファーから削除します。

注: この関数には、関連付けられたインポート ライブラリはありません。 この関数は、Kernel32.dll の ReadConsoleInputExA および ReadConsoleInputExW という名前のリソースとして使用できます。 Kernel32.dll に動的にリンクするには、LoadLibrary 関数と GetProcAddress 関数を使用する必要があります。

構文

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)

関連項目

コンソール関数

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

低レベル コンソール入力関数

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput