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

要件

要件
Header ntddser.h (Ntddser.h を含む)

こちらもご覧ください

IOCTL_SERIAL_GET_MODEM_CONTROL