IOCTL_SERIAL_LSRMST_INSERT IOCTL (ntddser.h)
IOCTL_SERIAL_LSRMST_INSERT 要求會啟用或停用在接收數據流中插入有關線路狀態和數據機狀態的資訊。 如果已啟用 LSRMST 插入,驅動程式會插入支援事件類型的事件資訊。 事件資訊包含 事件標頭 後面接著事件特定數據。
事件標頭包含用戶端指定的逸出字元,以及指出事件類型的SERIAL_LSRMST_XXX 常數。 驅動程式支援下列事件類型:
- SERIAL_LSRMST_LSR_DATA
- 行狀態發生變更。 序列控制器驅動程式會插入事件標頭,後面接著事件特定數據,這是行狀態緩存器的值,後面接著處理行狀態變更時接收硬體中的字元。
- SERIAL_LSRMST_LSR_NODATA
- 發生行狀態變更,但接收緩衝區中沒有可用的數據。 序列控制器驅動程式會插入事件標頭,後面接著事件特定數據,這是處理行狀態變更時行狀態緩存器的值。
- SERIAL_LSRMST_MST
- 數據機狀態發生變更。 序列控制器驅動程式會插入事件標頭,後面接著事件特定數據,這是處理數據機狀態變更時數據機狀態變更時數據機狀態快取器的值。
- SERIAL_LSRMST_ESCAPE
- 表示接收數據流中接收自裝置的下一個字元與用戶端指定的逸出字元相同。 序列控制器驅動程式會插入事件標頭。 沒有事件特定的數據。
主要程序代碼
輸入緩衝區
AssociatedIrp.SystemBuffer 成員會指向用戶端配置的 UCHAR 輸入值,以做為逸出字元。 如果逸出字元為非零,則會啟用插入,而且序列驅動程式會使用指定的逸出字元。 否則,會停用插入。
輸入緩衝區長度
Parameters.DeviceIoControl.InputBufferLength 成員會設定為 UCHAR 的大小,以位元組為單位。
輸出緩衝區
沒有。
輸出緩衝區長度
沒有。
狀態區塊
如果要求成功,Information 成員會設定為 UCHAR 的大小,以位元組為單位。 否則,資訊 設定為零。
狀態 成員會設定為序列裝置控制要求 的其中一個一般狀態值。 STATUS_INVALID_PARAMETER的狀態表示指定的逸出字元與 XON(傳輸開啟)或 XOFF(傳輸關閉)字元相同,或是使用交握流程控制啟用錯誤取代。
要求
要求 | 價值 |
---|---|
標頭 | ntddser.h (包括 Ntddser.h) |