ReadConsoleInput-Funktion

Liest Daten aus einem Konsoleneingabepuffer und entfernt sie aus dem Puffer.

Syntax

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

Parameter

hConsoleInput [in]
Ein Handle für den Konsolenbildschirm-Puffer. Das Handle muss über das Zugriffsrecht GENERIC_READ verfügen. Weitere Informationen finden Sie unter Sicherheit und Zugriffsrechte für Konsolenpuffer.

lpBuffer [out]
Ein Zeiger auf ein Array von INPUT_RECORD Strukturen, die die Eingabepufferdaten empfangen.

nLength [in]
Die Größe des Arrays, auf das der lpBuffer-Parameter in Arrayelementen verweist.

lpNumberOfEventsRead [out]
Ein Zeiger auf eine Variable, die die Anzahl der gelesenen Eingabedatensätze empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Wenn die Anzahl der im nLength-Parameter angeforderten Datensätze die Anzahl der im Puffer verfügbaren Datensätze überschreitet, wird die verfügbare Zahl gelesen. Die Funktion wird erst zurückgegeben, wenn mindestens ein Eingabedatensatz gelesen wurde.

Ein Prozess kann ein Konsoleneingabepufferhandle in einer der Wartefunktionen angeben, um zu bestimmen, wann ungelesene Konsoleneingaben vorhanden sind. Wenn der Eingabepuffer nicht leer ist, wird der Zustand eines Konsoleneingabepufferhandles signalisiert.

Verwenden Sie die GetNumberOfConsoleInputEvents-Funktion , um die Anzahl der ungelesenen Eingabedatensätze im Eingabepuffer einer Konsole zu ermitteln. Verwenden Sie die PeekConsoleInput-Funktion , um Eingabedatensätze aus einem Konsoleneingabepuffer ohne Auswirkungen auf die Anzahl ungelesener Datensätze zu lesen. Um alle ungelesenen Datensätze im Eingabepuffer einer Konsole zu entfernen, verwenden Sie die FlushConsoleInputBuffer-Funktion.

Diese Funktion verwendet entweder Unicodezeichen oder 8-Bit-Zeichen aus der aktuellen Codepage der Konsole. Die Codepage der Konsole wird zunächst standardmäßig auf die OEM-Codepage des Systems festgelegt. Um die Codepage der Konsole zu ändern, verwenden Sie die Funktionen SetConsoleCP oder SetConsoleOutputCP. Ältere Consumer können auch die chcp oder mode con cp select=-Befehle verwenden, aber sie werden für neue Entwicklungen nicht empfohlen.

Beispiele

Ein Beispiel finden Sie unter Lesen von Eingabepufferereignissen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Header ConsoleApi.h (über WinCon.h, Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll
Unicode- und ANSI-Namen ReadConsoleInputW (Unicode) und ReadConsoleInputA (ANSI)

Siehe auch

Konsolenfunktionen

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Eingabefunktionen für die Konsolen auf niedriger Ebene

PeekConsoleInput

ReadConsole

ReadConsoleInputEx

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput