Función ReadConsoleInputEx
Lee datos de un búfer de entrada de la consola y los elimina del búfer, con un comportamiento configurable.
Sintaxis
BOOL WINAPI ReadConsoleInputEx(
_In_ HANDLE hConsoleInput,
_Out_ PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags
);
Parámetros
hConsoleInput [in]
Identificador del búfer de entrada de la consola. El identificador debe tener derecho de acceso de GENERIC_READ. Para obtener más información, consulte Seguridad y derechos de acceso del búfer de la consola.
lpBuffer [out]
Puntero a una matriz de estructuras INPUT_RECORD que recibe los datos del búfer de entrada.
nLength [in]
Tamaño de la matriz a la que apunta el parámetro lpBuffer en los elementos de matriz.
lpNumberOfEventsRead [out]
Puntero a una variable que recibe el número de registros de entrada leídos.
wFlags [in]
Conjunto de marcas (unidas por el operador OR) que especifica el comportamiento de lectura de la consola.
Valor | Significado |
---|---|
CONSOLE_READ_NOREMOVE 0x0001 |
Dejar los eventos en el búfer de entrada (como en PeekConsoleInput ). |
CONSOLE_READ_NOWAIT 0x0002 |
Devolver inmediatamente, incluso si no hay eventos en el búfer de entrada. |
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Esta función es una versión configurable de ReadConsoleInput
. Consulte los comentarios de ReadConsoleInput
para obtener más detalles operativos.
Llamar a ReadConsoleInputEx
con las marcas CONSOLE_READ_NOMOVE | CONSOLE_READ_NOWAIT
es equivalente a llamar a PeekConsoleInput
.
Esta función no existe en los encabezados de la consola de Windows. Para acceder a ella desde una aplicación de C o C++, incluya las siguientes declaraciones y vincule dinámicamente a kernel32.dll como se indicó anteriormente.
#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);
Requisitos
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | Ninguno, consulte los comentarios. |
Biblioteca | Ninguna, consulte los comentarios. |
DLL | Kernel32.dll |
Nombres Unicode y ANSI | ReadConsoleInputExW (Unicode) y ReadConsoleInputExA (ANSI) |