Sdílet prostřednictvím


ReadConsoleInputEx – funkce

Načte data ze vstupní vyrovnávací paměti konzoly a odebere je z vyrovnávací paměti s konfigurovatelným chováním.

Poznámka Tato funkce nemá přidruženou knihovnu importu. Tato funkce je k dispozici jako prostředky s názvem ReadConsoleInputExA a ReadConsoleInputExW v Kernel32.dll. K dynamickému propojení s Kernel32.dllje nutné použít funkce LoadLibrary a GetProcAddress .

Syntaxe

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

Parametry

hConsoleInput [in]
Popisovač vstupního vyrovnávacího bufferu konzoly. Popisovač musí mít přístupové právo na GENERIC_READ. Další informace naleznete v tématu Zabezpečení vyrovnávací paměti konzoly a přístupová práva.

lpBuffer [out]
Ukazatel na pole INPUT_RECORD struktur, které přijímají vstupní data vyrovnávací paměti.

nLength [in]
Velikost pole, na kterou odkazuje parametr lpBuffer , v elementech pole.

lpNumberOfEventsRead [out]
Ukazatel na proměnnou, která přijímá počet načtených vstupních záznamů.

wFlags [in]

Sada příznaků (spojených pomocí operace NEBO), které určují chování konzole při čtení.

Hodnota Význam
CONSOLE_READ_NOREMOVE0x0001 Ponechte události ve vstupní vyrovnávací paměti (jako v PeekConsoleInput)
CONSOLE_READ_NOWAIT0x0002 Okamžitě se vraťte, i když ve vstupní vyrovnávací paměti nejsou žádné události.

Návratová hodnota

Pokud je funkce úspěšná, je návratová hodnota nenulová.

Pokud funkce selže, návratová hodnota je nula. Pokud chcete získat rozšířené informace o chybě, zavolejte GetLastError.

Poznámky

Tato funkce je konfigurovatelná verze ReadConsoleInput. Další provozní podrobnosti najdete v poznámkách ReadConsoleInput .

Volání ReadConsoleInputEx pomocí příznaků CONSOLE_READ_NOREMOVE | CONSOLE_READ_NOWAIT je ekvivalentní volání PeekConsoleInput.

Tato funkce v záhlaví konzoly systému Windows neexistuje. Pokud chcete získat přístup z aplikace jazyka C nebo C++, zahrňte následující deklarace a dynamicky propojit kernel32.dll, jak je uvedeno výše.

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

Požadavky

   
Minimální podporovaný klient Windows 7 [pouze desktopové aplikace]
Minimální podporovaný server Windows Server 2003 [pouze desktopové aplikace]
Záhlaví žádné, viz poznámky
Knihovna žádné, viz poznámky
knihovna DLL Kernel32.dll
Názvy Unicode a ANSI ReadConsoleInputExW (Unicode) a ReadConsoleInputExA (ANSI)

Viz také

Funkce konzoly

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

vstupní funkce konzolyLow-Level

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput