wincon.h

ReadConsoleInput

Lee datos desde el buffer de entrada de la consola y los elimina de él.

Sintaxis

BOOL WINAPI ReadConsoleInput(
    _In_  HANDLE        hConsoleInput,
    _Out_ PINPUT_RECORD lpBuffer,
    _In_  DWORD         nLength,
    _Out_ LPDWORD       lpNumberOfEventsRead
);

Parámetros:

hConsoleInput
Un manipulador del buffer de entrada de la consola. El manipulador debe tener derecho de acceso GENERIC_READ.
lpBuffer
Un puntero a un array de estructuras INPUT_RECORD que recibe los datos del buffer de entrada.
nLength
El tamaño del array apuntado por el parámetro lpBuffer, el número de elementos del array.
lpNumberOfEventsRead
Un puntero a una variable que recibe el número de registros leídos.

Valor de retorno

Si la función tiene éxito, el valor de retorno es distinto de cero.

Si la funcuón falla, el valor de retorno es cero. Para obtener información adicional, invocar la función GetLastError.

Observaciones

Si el número de registros pedidos en nLength excede del número de registros disponibles en el buffer, se leerá el número disponible. La función no regresa hasta que al menos un registro de entrada haya sido leído.

Un proceso puede especificar un manipulador de buffer de entrada de consola en una de las funciones de espera par determinar cuando hay entradas de consola sin leer. Cuando el buffer de entrada no está vacío, se indica el estado de un manipulador de buffer de entrada.

Para determinar el número de registros sin leer en un buffer de entrada de consola, usar la función GetNumberOfConsoleInputEvents. Para leer registros de entrada desde un buffer de entrada de consola son afectar al número de registros no leídos, usar la función PeekConsoleInput. Para descartar todos los registros sin leer en un buffer de entrada de consola, usar la función FlushConsoleInputBuffer.

Esta función usa los caracteres Unicode o ANSI de la página de códigos actual de la consola. La página de códigos de la consola por defecto es la página de codifos OEM del sistema. Para cambiar la página de códigos usar las funciones SetConsoleCP o SetConsoleOutputCP. Hay compatibilidad con los comandos chcp o mode con cp select=, pero no está recomendado para nuevos desarrollos.