Bagikan melalui


Fungsi ReadConsoleInputEx

Membaca data dari buffer input konsol dan menghapusnya dari buffer, dengan perilaku yang dapat dikonfigurasi.

Catatan Fungsi ini tidak memiliki pustaka impor terkait. Fungsi ini tersedia sebagai sumber daya bernama ReadConsoleInputExA dan ReadConsoleInputExW di Kernel32.dll. Anda harus menggunakan fungsi LoadLibrary dan GetProcAddress untuk menautkan secara dinamis ke Kernel32.dll.

Sintaks

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

Parameter

hConsoleInput [in]
Handel ke buffer input konsol. Handel harus memiliki akses GENERIC_READ yang tepat. Untuk informasi selengkapnya, lihat Keamanan dan Hak Akses Buffer Konsol.

lpBuffer [keluar]
Penunjuk ke array struktur INPUT_RECORD yang menerima data buffer input.

nLength [in]
Ukuran array yang diacu oleh parameter lpBuffer , dalam elemen array.

lpNumberOfEventsRead [out]
Penunjuk ke variabel yang menerima jumlah rekaman input yang dibaca.

wFlags [in]

Sekumpulan bendera (ORed bersama-sama) yang menentukan perilaku membaca konsol.

Value Makna
CONSOLE_READ_NOREMOVE0x0001 Biarkan peristiwa di buffer input (seperti dalam PeekConsoleInput)
CONSOLE_READ_NOWAIT0x0002 Segera kembalikan, bahkan jika tidak ada peristiwa dalam buffer input.

Nilai hasil

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Fungsi ini adalah versi yang dapat dikonfigurasi dari ReadConsoleInput. Lihat komentar untuk ReadConsoleInput detail operasional tambahan.

Memanggil ReadConsoleInputEx dengan bendera CONSOLE_READ_NOMOVE | CONSOLE_READ_NOWAIT setara dengan panggilan PeekConsoleInput.

Fungsi ini tidak ada di header Konsol Windows. Untuk mendapatkan akses ke aplikasi C atau C++, sertakan deklarasi berikut dan tautan dinamis kernel32.dll seperti yang disebutkan di atas.

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

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header tidak ada, lihat komentar
Pustaka tidak ada, lihat komentar
DLL Kernel32.dll
Nama Unicode dan ANSI ReadConsoleInputExW (Unicode) dan ReadConsoleInputExA (ANSI)

Baca juga

Fungsi Konsol

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Fungsi Input Konsol Tingkat Rendah

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput