Condividi tramite


Funzione UcmConnectorTypeCAttach (ucmmanager.h)

Notifica all'estensione del framework di gestione connettori USB (UcmCx) quando viene collegato un connettore partner.

Sintassi

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

Parametri

[in] Connector

Gestire l'oggetto connettore ricevuto dal driver client nella chiamata precedente a UcmConnectorCreate.

[in] Params

Puntatore a un UCM_CONNECTOR_TYPEC_ATTACH_PARAMS allocato dal driver inizializzato chiamando UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT.

Valore restituito

UcmConnectorTypeCAttach restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo può restituire un valore NTSTATUS appropriato.

Commenti

Quando viene rilevata una connessione a un connettore partner, il driver client chiama questo metodo per inviare una notifica a UcmCx con informazioni sul connettore partner. Queste informazioni includono il ruolo del connettore, il flusso verso il basso o la porta verso l'alto, la quantità di connettore corrente può disegnare o recapitare e ricaricare lo stato. UcmCx usa tali informazioni per eseguire determinate operazioni. Ad esempio, può determinare il ruolo del connettore partner collegato e configurare il controller USB in modalità host o periferica.

In genere, ogni chiamata UcmConnectorTypeCAttach ha una chiamata UcmConnectorTypeCDetach successiva per notificare UcmCx quando il connettore partner viene scollegato. Tuttavia, quando un cavo alimentato senza una porta upstream è collegato (indicato da Params-PortPartnerType> impostato su UcmTypeCPortStatePoweredCableNoUfp). Il driver client può chiamare di nuovo UcmConnectorTypeCAttach quando viene rilevata una connessione alla porta upstream al cavo alimentato.

Esempio

        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.");

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Piattaforma di destinazione Windows
Versione KMDF minima 1.15
Versione UMDF minima 2.15
Intestazione ucmmanager.h (includere Ucmcx.h)
Libreria UcmCxstub.lib
IRQL PASSIVE_LEVEL

Vedi anche

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT

UcmConnectorCreate