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 のサイズ (バイト単位) に設定されます。
出力バッファー
[なし] :
出力バッファーの長さ
[なし] :
ステータス ブロック
Information メンバーは 0 に設定されます。
Status メンバーは、シリアル デバイス制御要求の汎用状態値のいずれかに設定されます。
注釈
この I/O 制御要求 (IOCTL) の実装は、16550 互換の UART デバイス全体でモデム制御レジスタ (MCR) に標準レイアウトが定義されていないため、ハードウェア固有です。 シリアル ポートに接続する周辺機器のドライバーでは、この IOCTL の使用を避ける必要があります。この IOCTL は、一部の UD で動作する可能性がありますが、他の UART では使用できません。 この IOCTL は、主にテストのために UART をループバック モードに構成するために使用されますが、UART にループバック モードをサポートする MCR がある場合にのみ使用されます。
MCR のレイアウト例については、GitHub の シリアル ドライバー サンプル の Serial.h ヘッダー ファイルの MCR ビット (SERIAL_MCR_DTRからSERIAL_MCR_LOOP) の定義を参照してください。
要件
要件 | 値 |
---|---|
Header | ntddser.h (Ntddser.h を含む) |