Compartilhar via


Função UcmConnectorTypeCAttach (ucmmanager.h)

Notifica a extensão da estrutura do gerenciador de conectores USB (UcmCx) quando um conector de parceiro é anexado.

Sintaxe

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

Parâmetros

[in] Connector

Manipule para o objeto do conector que o driver cliente recebeu na chamada anterior para UcmConnectorCreate.

[in] Params

Um ponteiro para um UCM_CONNECTOR_TYPEC_ATTACH_PARAMS alocado pelo driver que foi inicializado chamando UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT.

Valor de retorno

ucmConnectorTypeCAttach retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um valor de NTSTATUS apropriado.

Observações

Quando uma conexão com um conector de parceiro é detectada, o driver cliente chama esse método para notificar o UcmCx com informações sobre o conector do parceiro. Essas informações incluem a função de conector, o fluxo para baixo ou a porta voltada para cima, a quantidade de conector atual pode desenhar ou entregar e o estado de carregamento. O UcmCx usa essas informações para executar determinadas operações. Por exemplo, ele pode determinar a função do conector de parceiro anexado e configurar o controlador USB no modo host ou periférico.

Normalmente, cada chamada UcmConnectorTypeCAttach tem uma chamada ucmConnectorTypeCDe tach subsequente para notificar o UcmCx quando o conector do parceiro for desanexado. No entanto, quando um cabo alimentado sem uma porta upstream é anexado (indicado por Params->PortPartnerType definido como UcmTypeCPortStatePoweredCableNoUfp). O driver cliente pode chamar ucmConnectorTypeCAttach novamente quando uma conexão é detectada para a porta upstream para o cabo alimentado.

Exemplos

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

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10
servidor com suporte mínimo Windows Server 2016
da Plataforma de Destino Windows
versão mínima do KMDF 1.15
versão mínima do UMDF 2.15
cabeçalho ucmmanager.h (inclua Ucmcx.h)
biblioteca UcmCxstub.lib
IRQL PASSIVE_LEVEL

Consulte também

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT

UcmConnectorCreate