IOCTL_SERIAL_GET_WAIT_MASK IOCTL (ntddser.h)
Permintaan IOCTL_SERIAL_GET_WAIT_MASK mengembalikan masker tunggu peristiwa yang saat ini diatur untuk pengontrol serial.
Klien dapat menunggu peristiwa tunggu yang diwakili oleh bit bendera SERIAL_EV_RXCHAR melalui SERIAL_EV_EVENT2. Untuk informasi selengkapnya tentang bendera peristiwa ini, lihat bagian Keterangan.
Untuk mengatur masker tunggu peristiwa, klien dapat menggunakan permintaan IOCTL_SERIAL_SET_WAIT_MASK . Untuk menunggu terjadinya peristiwa tunggu, klien menggunakan permintaan IOCTL_SERIAL_WAIT_ON_MASK .
Kode utama
Buffer input
Tidak ada.
Panjang buffer input
Tidak ada.
Buffer output
Anggota AssociatedIrp.SystemBuffer menunjuk ke buffer ULONG yang dialokasikan klien yang digunakan driver pengontrol serial untuk menghasilkan masker tunggu. Masker tunggu adalah nol atau bitwise-OR dari satu atau beberapa bendera peristiwa SERIAL_EV_XXX .
Panjang buffer output
Anggota Parameters.DeviceIoControl.OutputBufferLength diatur ke ukuran, dalam byte, dari ULONG.
Blok status
Jika permintaan berhasil, anggota Informasi diatur ke ukuran, dalam byte, dari ULONG. Jika tidak, anggota Informasi diatur ke nol.
Anggota Status diatur ke salah satu Nilai Status Generik untuk Permintaan Kontrol Perangkat Serial.
Keterangan
Konstanta SERIAL_EV_XXX menentukan bit bendera di masker tunggu untuk port serial.
#define SERIAL_EV_RXCHAR 0x0001 #define SERIAL_EV_RXFLAG 0x0002 #define SERIAL_EV_TXEMPTY 0x0004 #define SERIAL_EV_CTS 0x0008 #define SERIAL_EV_DSR 0x0010 #define SERIAL_EV_RLSD 0x0020 #define SERIAL_EV_BREAK 0x0040 #define SERIAL_EV_ERR 0x0080 #define SERIAL_EV_RING 0x0100 #define SERIAL_EV_PERR 0x0200 #define SERIAL_EV_RX80FULL 0x0400 #define SERIAL_EV_EVENT1 0x0800 #define SERIAL_EV_EVENT2 0x1000
Konstanta SERIAL_EV_XXX menentukan jenis peristiwa yang dapat ditentukan dalam masker tunggu. Setelah klien (aplikasi atau driver periferal) membuka koneksi ke port serial, klien dapat menentukan masker tunggu yang menunjukkan jenis peristiwa yang perlu dipantau klien. Peristiwa ini adalah perubahan dalam status perangkat keras port serial. Ketika peristiwa di masker tunggu terjadi, klien akan diberi tahu.
Permintaan kontrol IOCTL_SERIAL_SET_WAIT_MASK dan IOCTL_SERIAL_GET_WAIT_MASK menggunakan masker tunggu peristiwa untuk menentukan serangkaian peristiwa di mana klien dapat menunggu. Nilai masker tunggu adalah nol atau bitwise-OR dari satu atau beberapa konstanta SERIAL_EV_XXX . Nilai masker tunggu nol menunjukkan bahwa klien tidak menunggu peristiwa apa pun.
Klien mengirimkan permintaan kontrol IOCTL_SERIAL_WAIT_ON_MASK untuk menunggu peristiwa di masker tunggu yang saat ini diatur. Driver pengontrol serial menyelesaikan permintaan ini ketika peristiwa di masker tunggu terjadi.
Tabel berikut ini memperlihatkan bit bendera SERIAL_EV_XXX mana yang didukung oleh SerCx2, SerCx, dan Serial.sys. Entri Ya dalam tabel menunjukkan bahwa ekstensi kerangka kerja serial atau driver mendukung bit bendera yang sesuai. Entri Tidak menunjukkan bahwa bit bendera tidak didukung.
Bit bendera | SerCx2 | SerCx | Serial.sys |
---|---|---|---|
SERIAL_EV_RXCHAR | Ya | Ya | Ya |
SERIAL_EV_RXFLAG | See note. | Tidak | Ya |
SERIAL_EV_TXEMPTY | Ya | Ya | Ya |
SERIAL_EV_CTS | Ya | Ya | Ya |
SERIAL_EV_DSR | Ya | Ya | Ya |
SERIAL_EV_RLSD | See note. | Ya | Ya |
SERIAL_EV_BREAK | Ya | Ya | Ya |
SERIAL_EV_ERR | Ya | Ya | Ya |
SERIAL_EV_RING | See note. | Ya | Ya |
SERIAL_EV_PERR | See note. | Tidak | Tidak |
SERIAL_EV_RX80FULL | See note. | Tidak | Ya |
SERIAL_EV_EVENT1 | See note. | Tidak | Tidak |
SERIAL_EV_EVENT2 | See note. | Tidak | Tidak |
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntddser.h (termasuk Ntddser.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk