IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)
IOCTL_SERIAL_SET_MODEM_CONTROL 要求會在UART中設定數據機控制緩存器 (MCR)。 用戶端提供的快取器設定上不會進行參數檢查。
若要取得 MCR 的值,用戶端可以使用 IOCTL_SERIAL_GET_MODEM_CONTROL 要求。
主要程序代碼
輸入緩衝區
AssociatedIrp.SystemBuffer 成員指向用來輸入數據機控制資訊的用戶端配置 ULONG。
輸入緩衝區長度
Parameters.DeviceIoControl.InputBufferLength 成員會設定為 ULONG 的大小,以位元組為單位。
輸出緩衝區
沒有。
輸出緩衝區長度
沒有。
狀態區塊
資訊 成員設定為零。
狀態 成員會設定為序列裝置控制要求 的其中一個一般狀態值。
言論
此 I/O 控制要求 (IOCTL) 的實作是硬體專用的,因為 16550 相容 UART 裝置上的數據機控制緩存器 (MCR) 未定義任何標準配置。 連線到序列埠之周邊裝置的驅動程序應該避免使用此 IOCTL,這可能會與某些 UART 搭配運作,但不適用於其他 UART。 此 IOCTL 主要用於將 UART 設定為回送模式進行測試,但前提是 UART 有支援回送模式的 MCR。
如需 MCR 的範例版面配置,請參閱 GitHub 上 序列驅動程式範例 的 Serial.h 頭檔中的 MCR 位定義(SERIAL_MCR_DTR到 SERIAL_MCR_LOOP)。
要求
要求 | 價值 |
---|---|
標頭 | ntddser.h (包括 Ntddser.h) |