Fonction UcmConnectorDataDirectionChanged (ucmmanager.h)

Avertit l’extension du gestionnaire de connecteurs USB (UcmCx) avec le nouveau rôle de données d’une modification du rôle de données.

Syntaxe

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

Paramètres

[in] Connector

Gérez l’objet connecteur que le pilote client a reçu lors de l’appel précédent à UcmConnectorCreate.

[in] Success

Utilisé pour indiquer l’échec d’un échange de rôle de données initié par UcmCx à l’aide de EVT_UCM_CONNECTOR_SET_DATA_ROLE.

Si la valeur EST TRUE, l’opération a réussi. FALSE, sinon.

[in] CurrentDataRole

Valeur UCM_TYPEC_PARTNER qui indique le nouveau rôle de données.

Valeur de retour

None

Remarques

UcmConnectorDataDirectionChanged retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette fonction inline peut retourner une valeur NTSTATUS appropriée.

Si le partenaire de connecteur est attaché, UcmCx met à jour le rôle de données du partenaire en fonction de la valeur CurrentDataRole . Par exemple, si le pilote client remplace le rôle de données par UcmTypeCPortStateUfp, UcmCx met à jour le rôle du partenaire de connecteur en UcmTypeCPortStateDfp.

UcmCx peut modifier le rôle de données d’un connecteur et appelle EVT_UCM_CONNECTOR_SET_DATA_ROLE. En réponse à cet appel, le client doit effectuer l’opération de DR_Swap et indiquer la réussite/l’échec de l’opération en appelant UcmConnectorDataDirectionChanged.

Le pilote client peut également choisir d’effectuer un échange de rôle de manière autonome, ou le partenaire peut effectuer un échange de rôle. Dans les deux cas, une fois l’échange de rôle terminé, le pilote doit signaler le nouveau rôle à UcmCx à l’aide d’UcmConnectorDataDirectionChanged.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
Serveur minimal pris en charge Windows Server 2016
Plateforme cible Windows
Version KMDF minimale 1.15
Version UMDF minimale 2.15
En-tête ucmmanager.h (inclure Ucmcx.h)
Bibliothèque UcmCxstub.lib
IRQL PASSIVE_LEVEL

Voir aussi