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 |