Partilhar via


Função ReadConsoleInputEx

Lê dados de um buffer de entrada do console e os remove do buffer, com comportamento configurável.

Observação Esta função não tem nenhuma biblioteca de importação associada. Esta função está disponível como os recursos chamados ReadConsoleInputExA e ReadConsoleInputExW no Kernel32.dll. Você deve usar as funções LoadLibrary e GetProcAddress para vincular dinamicamente a Kernel32.dll.

Sintaxe

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

Parâmetros

hConsoleInput [em]
Um identificador para o buffer de entrada do console. O identificador deve ter o direito de acesso GENERIC_READ. Para obter mais informações, consulte Segurança do buffer de console e direitos de acesso.

lpBuffer [saída]
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 [saída]
Um ponteiro para uma variável que recebe o número de registros de entrada lidos.

wFlags [em]

Um conjunto de sinalizadores (combinados por OU) que especificam o comportamento de leitura do console.

Valor Significado
CONSOLE_READ_NOREMOVE0x0001 Deixe os eventos no buffer de entrada (como em PeekConsoleInput)
CONSOLE_READ_NOWAIT0x0002 Retorne imediatamente, mesmo que não haja eventos no buffer de entrada.

Valor de retorno

Se a função for bem-sucedida, o valor de retorno será diferente de zero.

Se a função falhar, o valor de retorno será zero. Para obter informações de erro estendidas, chame GetLastError.

Observações

Esta função é uma versão configurável do ReadConsoleInput. Consulte as observações para ReadConsoleInput obter mais detalhes operacionais.

Chamar ReadConsoleInputEx com as bandeiras CONSOLE_READ_NOREMOVE | CONSOLE_READ_NOWAIT equivale a chamar PeekConsoleInput.

Esta função não existe nos cabeçalhos da consola Windows. Para obter acesso a ele a partir de um aplicativo C ou C++, inclua as seguintes declarações e vincule dinamicamente kernel32.dll como 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);

Requerimentos

   
Cliente mínimo suportado Windows 7 [apenas aplicações de ambiente de trabalho]
Servidor mínimo suportado Windows Server 2003 [apenas aplicações de ambiente de trabalho]
Cabeçalho nenhuma, ver observações
Biblioteca nenhuma, ver observações
DLL Kernel32.dll
Nomes Unicode e ANSI ReadConsoleInputExW (Unicode) e ReadConsoleInputExA (ANSI)

Ver também

Funções do console

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Funções de entrada do consoleLow-Level

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput