次の方法で共有


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 のサイズ (バイト単位) に設定されます。

出力バッファー

何一つ。

出力バッファーの長さ

何一つ。

状態ブロック

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) の定義を参照してください。

必要条件

要件 価値
ヘッダー ntddser.h (Ntddser.h を含む)

関連項目

IOCTL_SERIAL_GET_MODEM_CONTROL