Функция ReadConsoleInput


Функция ReadConsoleInput читает данные из консольного буфера ввода и удаляет их из буфера.

Синтаксис

BOOL ReadConsoleInput(

HANDLE hConsoleInput,    // дескриптор буфера ввода консоли
PINPUT_RECORD
lpBuffer , // буфер данных
DWORD
nLength ,          // число записей для чтения
LPDWORD
lpNumberOfEventsRead // число прочитанных записей

);

Параметры

hConsoleInput

[in] Дескриптор консольного буфера ввода. Дескриптор должен иметь право доступа GENERIC_READ. Для получения дополнительной информации, см. статью Защита буфера и права доступа в консоли.

lpBuffer

[out] ] Указатель на массив структур INPUT_RECORD, который принимает данные буфера ввода. Общий размер требуемого массива должен быть меньше чем 64КБ.

nLength

[in] Размер массива, указанного параметром lpBuffer, в элементах массива

lpNumberOfEventsRead

[out] Указатель на переменную, которая принимает число прочитанных записей вводимых данных.

Возвращаемые значения

Если функция завершается успешно, величина возвращаемого значения - не ноль.

Если функция завершается с ошибкой, величина возвращаемого значения - ноль. Чтобы получать расширенные данные об ошибках, вызовите функцию GetLastError.

Замечания

Если число записей, предписываемых в параметре nLength, превышает число записей, доступных в буфере, читается доступное число. Функция не возвращает значения до тех пор, пока, по крайней мере, не будет прочитана одна запись вводимых данных.

Процесс может установить консольный дескриптор буфера ввода в одной из функций ожидания, чтобы выяснить, когда имеется непрочитанный консольный ввод данных. Когда буфер ввода не пуст, состояние консольного дескриптора буфера ввода является сигнальным.

Чтобы выяснять число непрочитанных записей вводимых данных в буфере ввода консоли, используйте функцию GetNumberOfConsoleInputEvents. Чтобы читать записи вводимых данных из консольного буфера ввода без воздействия на число непрочитанных записей, используйте функцию PeekConsoleInput. Чтобы сбросить все непрочитанные записи в буфере ввода консоли, используйте функцию FlushConsoleInputBuffer.

Windows NT /2000/XP: эта функция использует или символы Unicode или 8-разрядные символы от текущей кодовой страницы консоли. Кодовая страница консоли вначале устанавливается по умолчанию как системная кодовая страница (OEM). Чтобы изменить кодовую страницу консоли, используйте функции SetConsoleCP или SetConsoleOutputCP, или используйте команды chcp или mode con cp select =.

Windows 95/98/Me: функция ReadConsoleInputW поддерживает Microsoft Layer for Unicode. Чтобы использовать его, Вы должны добавить некоторые файлы к вашему приложению, как изложено в Microsoft Layer for Unicode для систем Windows 95/98/Me.

Код примера

Пример смотри в статье Чтение событий буфера вводимых данных.

Смотри также

Обзор консольных приложений, Функции консоли, FlushConsoleInputBuffer, GetNumberOfConsoleInputEvents, INPUT_RECORD, PeekConsoleInput, ReadConsole, ReadFile, SetConsoleCP, SetConsoleOutputCP, WriteConsoleInput

Размещение и совместимость ReadConsoleInput

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Kernel32.lib

Заголовочный файл

 

- объявлено в

Wincon.h

- включено в

Windows.h

Unicode

Реализуется как Unicode и ANSI в версиях Windows NT/2000/XP. А также поддерживает Microsoft Layer for Unicode

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz