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