共用方式為


IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)

IOCTL_SERIAL_SET_MODEM_CONTROL 要求會在UART中設定數據機控制緩存器 (MCR)。 用戶端提供的快取器設定上不會進行參數檢查。

若要取得 MCR 的值,用戶端可以使用 IOCTL_SERIAL_GET_MODEM_CONTROL 要求。

主要程序代碼

IRP_MJ_DEVICE_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)

另請參閱

IOCTL_SERIAL_GET_MODEM_CONTROL