IOCTL_SERIAL_GET_WAIT_MASK IOCTL (ntddser.h)
IOCTL_SERIAL_GET_WAIT_MASK要求會傳回目前為序列控制器設定的事件等候遮罩。
用戶端可以等候旗標位所代表的等候事件 ,SERIAL_EV_RXCHAR 透過 SERIAL_EV_EVENT2。 如需這些事件旗標的詳細資訊,請參閱一節。
若要設定事件等候遮罩,用戶端可以使用 IOCTL_SERIAL_SET_WAIT_MASK 要求。 若要等候發生等候事件,用戶端會使用 IOCTL_SERIAL_WAIT_ON_MASK 要求。
主要程序代碼
輸入緩衝區
無。
輸入緩衝區長度
無。
輸出緩衝區
AssociatedIrp.SystemBuffer 成員會指向串行控制器驅動程式用來輸出等候遮罩的用戶端配置 ULONG 緩衝區。 等候遮罩為零或位 OR 的一或多個 SERIAL_EV_XXX 事件旗標。
輸出緩衝區長度
Parameters.DeviceIoControl.OutputBufferLength 成員會設定為 ULONG 的大小,以位元組為單位。
狀態區塊
如果要求成功, Information 成員會設定為 ULONG 的大小,以位元組為單位。 否則, 信息 成員會設定為零。
Status 成員會設定為序列設備控制要求的其中一個一般狀態值。
備註
SERIAL_EV_XXX 常數會定義序列埠等候遮罩中的旗標位。
#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
SERIAL_EV_XXX 常數會定義可在等候遮罩中指定的事件類型。 在用戶端 (應用程式或周邊驅動程式) 開啟與序列埠的連線之後,用戶端可以指定等候遮罩,指出用戶端需要監視的事件類型。 這些事件是序列埠的硬體狀態變更。 發生等候遮罩中的事件時,會通知用戶端。
IOCTL_SERIAL_SET_WAIT_MASK和IOCTL_SERIAL_GET_WAIT_MASK控制要求會使用事件等候遮罩來指定用戶端可以等候的事件集。 等候遮罩值為零或位 OR,或一或多個 SERIAL_EV_XXX 常數。 等候遮罩值為零表示用戶端未等候任何事件。
用戶端會傳送 IOCTL_SERIAL_WAIT_ON_MASK 控件要求,以等候目前設定的等候遮罩中的事件。 當等候遮罩中的事件發生時,序列控制器驅動程式就會完成此要求。
下表顯示 SerCx2、SerCx 和 Serial.sys 支援 哪些SERIAL_EV_XXX 旗標位。 數據表中的 [是 ] 專案表示序列架構延伸模組或驅動程式支援對應的旗標位。 [否] 專案表示不支援旗標位。
旗標位 | SerCx2 | SerCx | Serial.sys |
---|---|---|---|
SERIAL_EV_RXCHAR | Yes | Yes | Yes |
SERIAL_EV_RXFLAG | 請參閱附註。 | No | Yes |
SERIAL_EV_TXEMPTY | Yes | Yes | Yes |
SERIAL_EV_CTS | Yes | Yes | Yes |
SERIAL_EV_DSR | Yes | Yes | Yes |
SERIAL_EV_RLSD | 請參閱附註。 | Yes | Yes |
SERIAL_EV_BREAK | Yes | Yes | Yes |
SERIAL_EV_ERR | Yes | Yes | Yes |
SERIAL_EV_RING | 請參閱附註。 | Yes | Yes |
SERIAL_EV_PERR | 請參閱附註。 | No | No |
SERIAL_EV_RX80FULL | 請參閱附註。 | No | Yes |
SERIAL_EV_EVENT1 | 請參閱附註。 | No | No |
SERIAL_EV_EVENT2 | 請參閱附註。 | No | No |
規格需求
需求 | 值 |
---|---|
標頭 | ntddser.h (包含 Ntddser.h) |