Fonction UcmConnectorTypeCAttach (ucmmanager.h)

Avertit l’extension du gestionnaire de connecteurs USB (UcmCx) lorsqu’un connecteur partenaire est attaché.

Syntaxe

NTSTATUS UcmConnectorTypeCAttach(
  [in] UCMCONNECTOR                       Connector,
  [in] PUCM_CONNECTOR_TYPEC_ATTACH_PARAMS Params
);

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] Params

Pointeur vers un UCM_CONNECTOR_TYPEC_ATTACH_PARAMS alloué au pilote qui a été initialisé en appelant UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT.

Valeur retournée

UcmConnectorTypeCAttach retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner une valeur NTSTATUS appropriée.

Remarques

Lorsqu’une connexion à un connecteur partenaire est détectée, le pilote client appelle cette méthode pour notifier UcmCx avec des informations sur le connecteur partenaire. Ces informations incluent le rôle de connecteur, le flux descendant ou amont port orienté, la quantité de connecteurs actuels pouvant dessiner ou livrer, ainsi que l’état de charge. UcmCx utilise ces informations pour effectuer certaines opérations. Par exemple, il peut déterminer le rôle du connecteur partenaire attaché et configurer le contrôleur USB en mode hôte ou périphérique.

En règle générale, chaque appel UcmConnectorTypeCAttach a un appel UcmConnectorTypeCDetach suivant pour notifier UcmCx lorsque le connecteur partenaire est détaché. Toutefois, lorsqu’un câble alimenté sans amont port est attaché (indiqué par Params-PortPartnerType> défini sur UcmTypeCPortStatePoweredCableNoUfp). Le pilote client peut appeler à nouveau UcmConnectorTypeCAttach lorsqu’une connexion au port amont au câble alimenté est détectée.

Exemples

        UCM_CONNECTOR_TYPEC_ATTACH_PARAMS attachParams;

        UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT(
            &attachParams,
            UcmTypeCPortStateDfp);
        attachParams.CurrentAdvertisement = UcmTypeCCurrent1500mA;

        status = UcmConnectorTypeCAttach(
                    Connector,
                    &attachParams);
        if (!NT_SUCCESS(status))
        {
            TRACE_ERROR(
                "UcmConnectorTypeCAttach() failed with %!STATUS!.",
                status);
            goto Exit;
        }

        TRACE_INFO("UcmConnectorTypeCAttach() succeeded.");

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

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT

UcmConnectorCreate