次の方法で共有


IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS IOCTL (ucmtcpciportcontrollerrequests.h)

ユニバーサル シリアル バス Type-C ポート コントローラー インターフェイス仕様に従って、すべての状態レジスタの値を取得します。 クライアント ドライバーは、CC_STATUS、POWER_STATUS、およびFAULT_STATUSレジスタの値を取得する必要があります。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

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

入力バッファーの長さ

UCMTCPCI_PORT_CONTROLLER_GET_STATUS_IN_PARAMS構造体のサイズ。

出力バッファー

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

出力バッファーの長さ

UCMTCPCI_PORT_CONTROLLER_GET_STATUS_OUT_PARAMS構造体のサイズ。

ステータス ブロック

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

注釈

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

要件

要件
Header ucmtcpciportcontrollerrequests.h

こちらもご覧ください

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

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously