Função ReadConsoleInputEx
Lê os dados de um buffer de entrada do console e os remove do buffer, com comportamento configurável.
Sintaxe
BOOL WINAPI ReadConsoleInputEx(
_In_ HANDLE hConsoleInput,
_Out_ PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags
);
Parâmetros
hConsoleInput [in]
Um identificador do buffer da entrada do console. O identificador deve ter o direito de acesso GENERIC_READ. Para saber mais, confira Segurança de buffer e direitos de acesso do console.
lpBuffer [out]
Um ponteiro para uma matriz de estruturas INPUT_RECORD que recebe os dados do buffer de entrada.
nLength [in]
O tamanho da matriz apontada pelo parâmetro lpBuffer, em elementos de matriz.
lpNumberOfEventsRead [out]
Um ponteiro para uma variável que recebe o número de registros de entrada lidos.
wFlags [in]
Um conjunto de sinalizadores (associados por OR) que especificam o comportamento de leitura do console.
Valor | Significado |
---|---|
CONSOLE_READ_NOREMOVE 0x0001 |
Deixe os eventos no buffer de entrada (como em PeekConsoleInput ) |
CONSOLE_READ_NOWAIT 0x0002 |
Retorna imediatamente, mesmo quando não há eventos no buffer de entrada. |
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Esta função é uma versão configurável do ReadConsoleInput
. Consulte os comentários de ReadConsoleInput
para obter detalhes operacionais adicionais.
Chamar ReadConsoleInputEx
com o sinalizador CONSOLE_READ_NOMOVE | CONSOLE_READ_NOWAIT
é equivalente a chamar PeekConsoleInput
.
Essa função não existe nos cabeçalhos do Console do Windows. Para acessá-los a partir de um aplicativo C ou C++, inclua as seguintes declarações e faça o vínculo dinâmico do kernel32.dll conforme observado acima.
#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 com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | nenhuma, ver comentários |
Biblioteca | nenhuma, ver comentários |
DLL | Kernel32.dll |
Nomes Unicode e ANSI | ReadConsoleInputExW (Unicode) e ReadConsoleInputExA (ANSI) |