Funzione ReadConsoleInputEx

Legge i dati da un buffer di input della console e lo rimuove dal buffer, con un comportamento configurabile.

Nota Questa funzione non ha una libreria di importazione associata. Questa funzione è disponibile come risorse denominate ReadConsoleInputExA e ReadConsoleInputExW in Kernel32.dll. È necessario usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a Kernel32.dll.

Sintassi

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

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.

wFlags [in]

Set di flag (ORed insieme) che specificano il comportamento di lettura della console.

valore Significato
CONSOLE_READ_NOREMOVE0x0001 Lasciare gli eventi nel buffer di input (come in PeekConsoleInput)
CONSOLE_READ_NOWAIT0x0002 Restituisce immediatamente, anche se non sono presenti eventi nel buffer di input.

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:

Questa funzione è una versione configurabile di ReadConsoleInput. Per altri dettagli operativi, vedere le ReadConsoleInput osservazioni.

La chiamata ReadConsoleInputEx con i CONSOLE_READ_NOMOVE | CONSOLE_READ_NOWAIT flag equivale a chiamare PeekConsoleInput.

Questa funzione non esiste nelle intestazioni della console di Windows. Per ottenere l'accesso da un'applicazione C o C++, includere le dichiarazioni seguenti e collegare dinamicamente kernel32.dll, come indicato in precedenza.

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

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione nessuno, vedere le osservazioni
Libreria nessuno, vedere le osservazioni
DLL Kernel32.dll
Nomi Unicode e ANSI ReadConsoleInputExW (Unicode) e ReadConsoleInputExA (ANSI)

Vedi anche

Funzioni della console

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Funzioni di input della console di basso livello

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput