Delen via


ReadConsoleInputEx functie

Leest gegevens uit een consoleinvoerbuffer en verwijdert deze uit de buffer, met configureerbaar gedrag.

Notitie Deze functie heeft geen gekoppelde importbibliotheek. Deze functie is beschikbaar als de resources met de naam ReadConsoleInputExA en ReadConsoleInputExW in Kernel32.dll. U moet de functies LoadLibrary en GetProcAddress gebruiken om dynamisch te koppelen aan Kernel32.dll.

Syntaxis

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

Parameterwaarden

hConsoleInput [in]
Een ingang naar de consoleinvoerbuffer. De ingang moet het GENERIC_READ toegangsrecht hebben. Zie Beveiliging en toegangsrechten voor consolebuffers voor meer informatie.

lpBuffer [out]
Een aanwijzer naar een matrix van INPUT_RECORD structuren die de invoerbuffergegevens ontvangen.

nLength [in]
De grootte van de matrix die wordt verwezen door de parameter lpBuffer , in matrixelementen.

lpNumberOfEventsRead [out]
Een aanwijzer naar een variabele die het aantal gelezen invoerrecords ontvangt.

wFlags [in]

Een set vlaggen (ORed samen) waarmee het leesgedrag van de console wordt opgegeven.

Waarde Betekenis
CONSOLE_READ_NOREMOVE0x0001 Laat de gebeurtenissen in de invoerbuffer staan (zoals in PeekConsoleInput)
CONSOLE_READ_NOWAIT0x0002 Retourneer onmiddellijk, zelfs als er geen gebeurtenissen in de invoerbuffer staan.

Retourwaarde

Als de functie slaagt, is de retourwaarde niet-nul.

Als de functie mislukt, is de retourwaarde nul. Als u uitgebreide foutinformatie wilt ophalen, roept u GetLastError aan.

Opmerkingen

Deze functie is een configureerbare versie van ReadConsoleInput. Zie voor aanvullende operationele details de opmerkingen van ReadConsoleInput.

Bellen ReadConsoleInputEx met de vlaggen CONSOLE_READ_NOREMOVE | CONSOLE_READ_NOWAIT is gelijk aan bellen PeekConsoleInput.

Deze functie bestaat niet in de Windows Console-headers. Als u toegang wilt krijgen vanuit een C- of C++-toepassing, neemt u de volgende declaraties op en koppelt u dynamisch kernel32.dll zoals hierboven vermeld.

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

Behoeften

   
Minimaal ondersteunde client Windows 7 [alleen desktop-apps]
Minimaal ondersteunde server Windows Server 2003 [alleen desktop-apps]
Koptekst geen, zie opmerkingen
Bibliotheek geen, zie opmerkingen
DLL Kernel32.dll
Unicode- en ANSI-namen ReadConsoleInputExW (Unicode) en ReadConsoleInputExA (ANSI)

Zie ook

Consolefuncties

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Low-Level Console-Invoerfuncties

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput