Condividi tramite


Funzione ReadConsoleInput

Legge i dati da un buffer di input della console e lo rimuove dal buffer.

Sintassi

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

Parametri

hConsoleInput [in]
Handle per il buffer di input della console. L'handle deve avere il diritto di accesso GENERIC_READ . Per altre informazioni, vedere Sicurezza dei buffer della console e diritti di accesso.

lpBuffer [out]
Puntatore a una matrice di strutture INPUT_RECORD che riceve i dati del buffer di input.

nLength [in]
Dimensioni della matrice a cui punta il parametro lpBuffer , negli elementi della matrice.

lpNumberOfEventsRead [out]
Puntatore a una variabile che riceve il numero di record di input letti.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Osservazioni:

Se il numero di record richiesti nel parametro nLength supera il numero di record disponibili nel buffer, il numero disponibile viene letto. La funzione non restituisce finché non viene letto almeno un record di input.

Un processo può specificare un handle del buffer di input della console in una delle funzioni di attesa per determinare quando è presente un input della console non letto. Quando il buffer di input non è vuoto, viene segnalato lo stato di un handle del buffer di input della console.

Per determinare il numero di record di input non letti nel buffer di input di una console, usare la funzione GetNumberOfConsoleInputEvents. Per leggere i record di input da un buffer di input della console senza influire sul numero di record non letti, usare la funzione PeekConsoleInput. Per eliminare tutti i record non letti nel buffer di input di una console, usare la funzione FlushConsoleInputBuffer.

Questa funzione usa i caratteri Unicode o i caratteri a 8 bit dalla tabella codici corrente della console. Inizialmente il valore predefinito della tabella codici della console è la tabella codici OEM del sistema. Per modificare la tabella codici della console usare le funzioni SetConsoleCP o SetConsoleOutputCP. I consumer legacy possono anche usare i comandichcp o mode con cp select= ma non è consigliabile per il nuovo sviluppo.

Esempi

Un esempio è disponibile in Lettura di eventi del buffer di input.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione ConsoleApi.h (tramite WinCon.h, con Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll
Nomi Unicode e ANSI ReadConsoleInputW (Unicode) e ReadConsoleInputA (ANSI)

Vedi anche

Funzioni della console

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Funzioni di input della console di basso livello

PeekConsoleInput

ReadConsole

ReadConsoleInputEx

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput