Функция 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 |
Возвращается немедленно, даже если в входном буфере отсутствуют события. |
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Замечания
Эта функция является настраиваемой версией ReadConsoleInput
. Дополнительные сведения о работе см. в примечанияхReadConsoleInput
.
Вызов ReadConsoleInputEx
с флагами CONSOLE_READ_NOMOVE | CONSOLE_READ_NOWAIT
эквивалентен вызову 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 |
Имена Юникода и ANSI | ReadConsoleInputExW (Юникод) и ReadConsoleInputExA (ANSI) |