Partager via


UcmConnectorDataDirectionChanged, fonction (ucmmanager.h)

Avertit l’extension de framework du gestionnaire de connecteur USB (UcmCx) avec le nouveau rôle de données d’un changement de 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 reçu par le pilote client lors de l’appel précédent pour UcmConnectorCreate.

[in] Success

Utilisé pour indiquer l’échec d’un échange de rôle de données qui a été lancé 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

Aucun

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 modifie le rôle de données en UcmTypeCPortStateUfp, UcmCx met à jour le rôle du partenaire de connecteur pour 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.

Sinon, le pilote client peut 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, lorsque l’échange de rôles est terminé, le pilote doit signaler le nouveau rôle à UcmCx à l’aide de UcmConnectorDataDirectionChanged.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10
serveur minimum pris en charge Windows Server 2016
plateforme cible Windows
version minimale de KMDF 1.15
version minimale de UMDF 2.15
d’en-tête ucmmanager.h (include Ucmcx.h)
bibliothèque UcmCxstub.lib
IRQL PASSIVE_LEVEL

Voir aussi

  • UcmConnectorCreate