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) |