Bagikan melalui


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

IRP_MJ_DEVICE_CONTROL

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
 
Catatan SerCx2 mungkin atau mungkin tidak mendukung bit bendera dalam entri tabel yang ditunjukkan, tergantung pada driver pengontrol serial dan kemampuan perangkat keras pengontrol serial.
 
Untuk informasi selengkapnya tentang SerCx2, SerCx, dan Serial.sys, lihat Gambaran Umum Driver Pengontrol Serial.

Persyaratan

Persyaratan Nilai
Header ntddser.h (termasuk Ntddser.h)

Lihat juga

IOCTL_SERIAL_GET_CHARS

IOCTL_SERIAL_SET_CHARS

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_CHARS

SERIAL_STATUS