共用方式為


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
表示接收數據流中的下一個字元是從裝置接收的,與用戶端指定的逸出字元相同。 序列控制器驅動程式會插入事件標頭。 沒有事件特定的數據。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

AssociatedIrp.SystemBuffer 成員會指向用戶端配置的 UCHAR 輸入值,以作為逸出字元使用。 如果逸出字元為非零,則會啟用插入,而序列驅動程式會使用指定的逸出字元。 否則會停用插入。

輸入緩衝區長度

Parameters.DeviceIoControl.InputBufferLength 成員會設定為UCHAR的大小,以位元組為單位。

輸出緩衝區

無。

輸出緩衝區長度

無。

狀態區塊

如果要求成功, Information 成員會設定為 UCHAR 的大小,以位元組為單位。 否則, 信息 會設定為零。

Status 成員會設定為序列設備控制要求的其中一個一般狀態值。 STATUS_INVALID_PARAMETER的狀態表示指定的逸出字元與) 上的 XON (傳輸相同,或 XOFF (傳輸) 字元,或是使用交握流程控制啟用錯誤取代。

規格需求

需求
標頭 ntddser.h (包含 Ntddser.h)