Udostępnij przez


ReadConsoleInputEx, funkcja

Odczytuje dane z buforu wejściowego konsoli i usuwa je z buforu przy użyciu konfigurowalnego zachowania.

Uwaga Ta funkcja nie ma skojarzonej biblioteki importowej. Ta funkcja jest dostępna jako zasoby o nazwach ReadConsoleInputExA i ReadConsoleInputExW w Kernel32.dll. Należy użyć funkcji LoadLibrary i GetProcAddress , aby dynamicznie łączyć się z Kernel32.dll.

Składnia

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

Parametry

hConsoleInput [in]
Dojście do buforu wejściowego konsoli. Dojście musi mieć uprawnienie dostępu GENERIC_READ. Aby uzyskać więcej informacji, zobacz Zabezpieczenia buforu konsoli i prawa dostępu.

lpBuffer [out]
Wskaźnik do tablicy struktur INPUT_RECORD , które odbierają dane buforu wejściowego.

nLength [in]
Rozmiar tablicy wskazywany przez parametr lpBuffer w elementach tablicy.

lpNumberOfEventsRead [out]
Wskaźnik do zmiennej, która odbiera liczbę odczytanych rekordów wejściowych.

wFlags [in]

Zestaw flag (połączonych za pomocą operacji OR) określających zachowanie odczytu konsoli.

Wartość Znaczenie
CONSOLE_READ_NOREMOVE0x0001 Pozostaw zdarzenia w buforze wejściowym (jak w pliku PeekConsoleInput)
CONSOLE_READ_NOWAIT0x0002 Zwracaj natychmiast, nawet jeśli w buforze wejściowym nie ma żadnych zdarzeń.

Wartość zwracana

Jeśli funkcja powiedzie się, zwracana wartość jest niezerowa.

Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość to zero. Aby uzyskać rozszerzone informacje o błędzie, wywołaj metodę GetLastError.

Uwagi

Ta funkcja jest konfigurowalną wersją programu ReadConsoleInput. W celu uzyskania dodatkowych szczegółów operacyjnych, zobacz uwagi ReadConsoleInput.

Wywołanie ReadConsoleInputEx z flagami CONSOLE_READ_NOREMOVE | CONSOLE_READ_NOWAIT jest równoważne wywołaniu PeekConsoleInput.

Ta funkcja nie istnieje w nagłówkach konsoli systemu Windows. Aby uzyskać dostęp do niego z aplikacji C lub C++, dołącz następujące deklaracje i dynamicznie połącz kernel32.dll, jak wspomniano powyżej.

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

Wymagania

   
Minimalny obsługiwany klient Windows 7 [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer Windows Server 2003 [tylko aplikacje klasyczne]
Nagłówek brak, zobacz uwagi
Biblioteka brak, zobacz uwagi
DLL Kernel32.dll
Nazwy Unicode i ANSI ReadConsoleInputExW (Unicode) i ReadConsoleInputExA (ANSI)

Zobacz także

Funkcje konsoli

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

funkcje wejściowe konsoliLow-Level

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput