На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Low-Level Console Input Functions



A console's input buffer contains input records that can include information about keyboard, mouse, buffer-resizing, focus, and menu events. The low-level functions provide direct access to the input buffer, unlike the high-level functions that filter and process the input buffer's data, discarding all but keyboard input.

The Win32 API provides five low-level functions for accessing a console's input buffer:

· ReadConsoleInput
· PeekConsoleInput
· GetNumberOfConsoleInputEvents
· WriteConsoleInput
· FlushConsoleInputBuffer



The ReadConsoleInput, PeekConsoleInput, and WriteConsoleInput functions use the INPUT_RECORD structure to read from or write to an input buffer.
Following are descriptions of the low-level console input functions.

Function Description
ReadConsoleInput Reads and removes input records from an input buffer. The function does not return until at least one record is available to be read. Then all available records are transferred to the buffer of the calling process until either no more records are available or the specified number of records has been read. Unread records remain in the input buffer for the next read operation. The function reports the total number of records that have been read. For an example that uses ReadConsoleInput, see Reading Input Buffer Events.
PeekConsoleInput Reads without removing the pending input records in an input buffer. All available records up to the specified number are copied into the buffer of the calling process. If no records are available, the function returns immediately. The function reports the total number of records that have been read.
GetNumberOfConsoleInputEvents Determines the number of unread input records in an input buffer.
WriteConsoleInput Places input records into the input buffer behind any pending records in the buffer. The input buffer grows dynamically, if necessary, to hold as many records as are written. To use this function, the specified input buffer handle must have GENERIC_WRITE access.
FlushConsoleInputBuffer Discards all unread events in the input buffer. To use this function, the specified input buffer handle must have GENERIC_WRITE access.


A thread of an application's process can perform a wait operation to wait for input to be available in an input buffer. To initiate a wait operation, specify a handle of the input buffer in a call to any of the wait functions. These functions can return when the state of one or more objects is signaled. The state of a console input handle becomes signaled when there are unread records in its input buffer. The state is reset to nonsignaled when the input buffer becomes empty. If there is no input available, the calling thread enters an efficient wait state, consuming very little processor time while waiting for the conditions of the wait operation to be satisfied.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

КОНСОЛЬНЫЙ Вклад Low-Level Функционирует



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

Win32 API Обеспечивает пять функций низкого уровня для доступа консольного входного буфера:

ReadConsoleInput PeekConsoleInput GetNumberOfConsoleInputEvents WriteConsoleInput FlushConsoleInputBuffer



ReadConsoleInput, PeekConsoleInput, И WriteConsoleInput функционирует использованию структуру INPUT_RECORD, чтобы читаться из или записываться в входной буфер.
Следующее является описаниями консольных входных функций низкого уровня.

Описание Функции
ReadConsoleInput ЧИТАЕТ и удаляет входные записи из входного буфера. Функция не возвращается пока по крайней мере одна запись не будет доступна быть прочитанн. Затем все доступные записи переданы в буфер вызова процесса до или больше записи не доступны или определенное количество записей прочитано. Записи Unread остаются в входном буфере для следующей операции чтения. Функция сообщает общее число записей, которые прочитаны. Для примера, который использует ReadConsoleInput, смотри Входные Буферные События Чтения.
PeekConsoleInput НЕ Читает удаляя незаконченный ввод записывается в входной буфер. Все доступные записи вплоть до определенного числа скопированы в буфер вызова процесса. Если никакие записи не доступны, функция возвращается немедленно. Функция сообщает общее число записей, которые прочитаны.
GetNumberOfConsoleInputEvents ОПРЕДЕЛЯЕТ число unread входных записей в входном буфере.
WriteConsoleInput УСТАНАВЛИВАЕТ входные записи в входной буфер за любыми незаконченными записями в буфере. Входной буфер выращивает динамически, если необходимо, чтобы держать столько записей сколько записаны. Для того, чтобы использовать эту функцию, определенная входная буферная ручка должна иметь доступ GENERIC_WRITE.
FlushConsoleInputBuffer ОТВЕРГАЕТ все unread события в входном буфере. Для того, чтобы использовать эту функцию, определенная входная буферная ручка должна иметь доступ GENERIC_WRITE.


Резьба прикладного процесса может выполнить операцию ожидания, чтобы ждать ввод, чтобы быть доступно в входном буфере. Для того, чтобы вводить операцию ожидания, определите ручку входного буфера на вызове в любую из функций ожидания. Эти функции могут возвращаться когда состояние одного или более объектов сигнализировано. Состояние консольной входной ручки становится сигнальным когда есть unread записи в своем входном буфере. Состояние восстановлено на nonsignaled когда входной буфер становится пустым. Если нет ввода доступного, вызов резьбы вводит эффективное состояние ожидания, поглощая очень небольшое время процессора при ожидании условий операции ожидания, которое нужно удовлетворяться.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz