次の方法で共有


UcmConnectorDataDirectionChanged 関数 (ucmmanager.h)

USB コネクタ マネージャー フレームワーク拡張機能 (UcmCx) に、データ ロールの変更の新しいデータ ロールを通知します。

構文

void UcmConnectorDataDirectionChanged(
  [in] UCMCONNECTOR  Connector,
  [in] BOOLEAN       Success,
  [in] UCM_DATA_ROLE CurrentDataRole
);

パラメーター

[in] Connector

UcmConnectorCreate の前回の呼び出しでクライアント ドライバーが受信したコネクタ オブジェクトを処理します。

[in] Success

EVT_UCM_CONNECTOR_SET_DATA_ROLEを使用して UcmCx によって開始されたデータ ロール スワップの失敗を示すために使用されます。

TRUE の場合、操作は成功しました。 FALSE。それ以外の場合は 。

[in] CurrentDataRole

新しいデータ ロールを示す UCM_TYPEC_PARTNER 値。

戻り値

なし

解説

操作が成功した場合、UcmConnectorDataDirectionChanged はSTATUS_SUCCESSを返します。 それ以外の場合、このインライン関数は適切な NTSTATUS 値を 返すことができます。

コネクタ パートナーがアタッチされている場合、UcmCx は CurrentDataRole 値に応じてパートナーのデータ ロールを更新します。 たとえば、クライアント ドライバーがデータ ロールを UcmTypeCPortStateUfp に変更した場合、UcmCx はコネクタ パートナーのロールを UcmTypeCPortStateDfp に更新します。

UcmCx はコネクタのデータ ロールを変更し、 EVT_UCM_CONNECTOR_SET_DATA_ROLEを呼び出すことができます。 その呼び出しに応答して、クライアントはDR_Swap操作を実行し、 UcmConnectorDataDirectionChanged を呼び出して操作の成功/失敗を示す必要があります。

または、クライアント ドライバーがロールスワップを自律的に実行することを選択するか、パートナーがロールスワップを実行する可能性があります。 どちらの場合も、ロールスワップが完了すると、ドライバーは UcmConnectorDataDirectionChanged を使用して新しいロールを UcmCx に報告する必要があります。

要件

要件
サポートされている最小のクライアント Windows 10
サポートされている最小のサーバー Windows Server 2016
対象プラットフォーム Windows
最小 KMDF バージョン 1.15
最小 UMDF バージョン 2.15
Header ucmmanager.h (Ucmcx.h を含む)
Library UcmCxstub.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください