Aracılığıyla paylaş


ReadConsoleInputEx işlevi

Konsol giriş arabelleğindeki verileri okur ve yapılandırılabilir davranışla arabellekten kaldırır.

Not Bu işlevin ilişkili içeri aktarma kitaplığı yok. Bu işlev, Kernel32.dlliçinde ReadConsoleInputExA ve ReadConsoleInputExW adlı kaynaklar olarak kullanılabilir. Kernel32.dlldinamik olarak bağlamak için LoadLibrary ve GetProcAddress işlevlerini kullanmanız gerekir.

Sözdizimi

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

Parametreler

hConsoleInput [in]
Konsol giriş arabelleğine ait bir tanıtıcı. Tanıtıcının GENERIC_READ erişim hakkına sahip olması gerekir. Daha fazla bilgi için bkz. Konsol Arabellek Güvenliği ve Erişim Hakları.

lpBuffer [out]
Giriş arabelleği verilerini alan INPUT_RECORD yapılarından oluşan diziye işaret eden bir işaretçi.

nLength [in]
Dizi öğelerinde lpBuffer parametresi tarafından işaret edilen dizinin boyutu.

lpNumberOfEventsRead [çıkış]
Okunan giriş kayıtlarının sayısını alan bir değişken işaretçisi.

wFlags [in]

Konsolun okuma davranışını belirten, OR işlemi uygulanarak birlikte kullanılan bir dizi bayrak.

Değer Anlamı
CONSOLE_READ_NOREMOVE0x0001 Olayları giriş arabelleğinde (içinde PeekConsoleInputolduğu gibi) bırakın
CONSOLE_READ_NOWAIT0x0002 Giriş arabelleğinde hiçbir olay olmasa bile hemen geri dönün.

Dönüş değeri

İşlev başarılı olursa, dönüş değeri sıfır değildir.

İşlev başarısız olursa, dönüş değeri sıfır olur. Genişletilmiş hata bilgilerini almak için GetLastError'ı arayın.

Açıklamalar

Bu işlev yapılandırılabilir bir sürümüdür ReadConsoleInput. Ek operasyonel ayrıntılar için ReadConsoleInput açıklamalar bölümüne bakın.

ReadConsoleInputEx'ı, CONSOLE_READ_NOREMOVE | CONSOLE_READ_NOWAIT bayrakları ile çağırmak, PeekConsoleInput ile çağrı yapmaya eşdeğerdir.

Bu işlev Windows Konsolu üst bilgilerinde yok. C veya C++ uygulamasından erişim elde etmek için aşağıdaki bildirimleri ekleyin ve yukarıda belirtildiği gibi kernel32.dll dinamik olarak bağlayın.

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

Gereksinimler

   
Desteklenen en düşük düzeydeki istemci Windows 7 [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu Windows Server 2003 [yalnızca masaüstü uygulamaları]
Başlık none, bkz. açıklamalar
Kütüphane none, bkz. açıklamalar
DLL Kernel32.dll
Unicode ve ANSI adları ReadConsoleInputExW (Unicode) ve ReadConsoleInputExA (ANSI)

Ayrıca bakınız

Konsol İşlevleri

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Low-Level Konsol Giriş İşlevleri

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput