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 |