次の方法で共有


IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL IOCTL (ucmtcpciportcontrollerrequests.h)

ユニバーサル シリアル バス Type-C ポート コントローラー インターフェイス仕様に従って定義されているすべてのコントロール レジスタの値を取得します。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

すべてのコントロール レジスタ値を含む UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMS 構造体へのポインター。 構造体を取得するには、受け取ったフレームワーク要求オブジェクトを渡して WdfRequestRetrieveInputBuffer を呼び出します。

入力バッファーの長さ

UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMS構造体のサイズ。

出力バッファー

UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS構造体へのポインター。 構造体を取得するには、受信したフレームワーク要求オブジェクトを渡して WdfRequestRetrieveOutputBuffer を呼び出します。

出力バッファーの長さ

UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS構造体のサイズ。

ステータス ブロック

Irp->要求が成功した場合、IoStatus.Status はSTATUS_SUCCESSに設定されます。 それ以外の場合は、NTSTATUS コードとして適切なエラー条件の状態

注釈

UcmTcpciCx クラス拡張機能は、コントロール レジスタの値を取得するために、この IOCTL 要求を送信します。 クライアント ドライバーは、ポート コントローラーと通信して、POWER_CONTROL、ROLE_CONTROL、TCPC_CONTROL、FAULT_CONTROL Register 値を取得し、受信した UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS 構造体にそれらの値を設定する必要があります。 要求を完了するには、ドライバーは WdfRequestSetInformation を呼び出してフレームワーク要求オブジェクトに設定された構造体を設定し、 WdfRequestComplete を呼び出して要求を完了する必要があります。

要件

要件
Header ucmtcpciportcontrollerrequests.h

こちらもご覧ください

ドライバー内での IOCTL 要求の作成

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously