Compartilhar via


Função ReadConsoleInput

Lê os dados de um buffer de entrada do console e os remove do buffer.

Sintaxe

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

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.

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

Se o número de registros solicitados no parâmetro nLength excede o número de registros disponíveis no buffer, o número disponível é lido. A função não retorna até que pelo menos um registro de entrada tenha sido lido.

Um processo pode especificar um identificador de buffer de entrada do console em uma das funções de espera para determinar quando há entrada de console não lida. Quando o buffer de entrada não está vazio, o estado de um identificador de buffer de entrada do console é sinalizado.

Para determinar o número de registros de entrada não lidos no buffer de entrada de um console, use a função GetNumberOfConsoleInputEvents. Para ler registros de entrada de um buffer de entrada do console sem afetar o número de registros não lidos, use a função PeekConsoleInput. Para descartar todos os registros não lidos no buffer de entrada do console, use a função FlushConsoleInputBuffer.

Essa função usa caracteres Unicode ou caracteres de 8 bits da página de código atual do console. O padrão da página de código do console inicialmente é a página de código OEM do sistema. Para alterar a página de código do console, use as funções SetConsoleCP ou SetConsoleOutputCP. Os consumidores herdados também podem usar os comandos chcp ou mode con cp select=, mas eles não são recomendados para novos desenvolvimentos.

Exemplos

Para obter um exemplo, confira Como ler eventos de buffer de entrada.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho ConsoleApi.h (via WinCon.h, inclui o Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll
Nomes Unicode e ANSI ReadConsoleInputW (Unicode) e ReadConsoleInputA (ANSI)

Confira também

Funções de Console

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Funções de entrada do console de baixo nível

PeekConsoleInput

ReadConsole

ReadConsoleInputEx

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput