Fungsi ReadConsole
Membaca input karakter dari buffer input konsol dan menghapusnya dari buffer.
BOOL WINAPI ReadConsole(
_In_ HANDLE hConsoleInput,
_Out_ LPVOID lpBuffer,
_In_ DWORD nNumberOfCharsToRead,
_Out_ LPDWORD lpNumberOfCharsRead,
_In_opt_ LPVOID pInputControl
);
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 buffer yang menerima data yang dibaca dari buffer input konsol.
nNumberOfCharsToRead [in]
Jumlah karakter yang akan dibaca. Ukuran buffer yang ditujukkan oleh parameter lpBuffer harus setidaknya nNumberOfCharsToRead * sizeof(TCHAR)
byte.
lpNumberOfCharsRead [out]
Pointer ke variabel yang menerima jumlah karakter yang benar-benar dibaca.
pInputControl [in, opsional]
Penunjuk ke struktur CONSOLE_READCONSOLE_CONTROL yang menentukan karakter kontrol untuk memberi sinyal akhir operasi baca. Parameter ini bisa NULL.
Parameter ini memerlukan input Unicode secara default. Untuk mode ANSI, atur parameter ini ke NULL.
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
ReadConsole membaca input keyboard dari buffer input konsol. Ini bersifat seperti fungsi ReadFile , kecuali dapat dibaca dalam mode Unicode (karakter lebar) atau ANSI. Untuk memiliki aplikasi yang mempertahankan satu set sumber yang kompatibel dengan kedua mode, gunakan ReadConsole daripada ReadFile. Meskipun ReadConsole hanya dapat digunakan dengan handel buffer input konsol, ReadFile dapat digunakan dengan handel lain (seperti file atau pipa). ReadConsole gagal jika digunakan dengan handel standar yang telah dialihkan menjadi sesuatu selain handel konsol.
Semua mode input yang memengaruhi perilaku ReadFile memiliki efek yang sama pada ReadConsole. Untuk mengambil dan mengatur mode input buffer input konsol, gunakan fungsi GetConsoleMode dan SetConsoleMode.
Jika buffer input berisi peristiwa input selain peristiwa keyboard (seperti peristiwa mouse atau peristiwa mengubah ukuran jendela), buffer tersebut akan dibuang. Peristiwa tersebut hanya dapat dibaca dengan menggunakan fungsi ReadConsoleInput.
Fungsi ini menggunakan karakter Unicode atau karakter 8-bit dari halaman kode konsol saat ini. Halaman kode konsol default awalnya ke halaman kode OEM sistem. Untuk mengubah halaman kode konsol, gunakan fungsi SetConsoleCP atau SetConsoleOutputCP. Konsumen warisan juga dapat menggunakan perintah chcp atau mode con cp select= , tetapi tidak disarankan untuk pengembangan baru.
Parameter pInputControl dapat digunakan untuk mengaktifkan wakeup perantara dari baca sebagai respons terhadap karakter kontrol penyelesaian file yang ditentukan dalam struktur CONSOLE_READCONSOLE_CONTROL . Fitur ini mengharuskan ekstensi perintah diaktifkan, handel output standar menjadi handel output konsol, dan input menjadi Unicode.
Windows Server 2003 dan Windows XP/2000: Fitur baca menengah tidak didukung.
Mode Masak adalah ketika ENABLE_LINE_INPUT diatur dengan SetConsoleMode pada handel input konsol. Dalam mode dimasak, host konsol akan menyediakan baris edit atas nama aplikasi baris perintah dan panggilan ke ReadFile atau ReadConsole tidak akan kembali sampai tombol enter ditekan.
Baca Menengah adalah augmentasi untuk perilaku tersebut pada panggilan ReadConsole dalam mode baca yang dimasak. Mengatur bendera di dwCtrlWakeupMask pada struktur CONSOLE_READCONSOLE_CONTROL dan meneruskannya ke pinputControl karena memanggil ReadConsole, akan mengakibatkan bacaan tidak akan selalu menunggu baris baru, tetapi kembali pada karakter tertentu juga.
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | ConsoleApi.h (melalui WinCon.h, sertakan Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Nama Unicode dan ANSI | ReadConsoleW (Unicode) dan ReadConsoleA (ANSI) |