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 uma UCM_CONNECTOR_TYPEC_ATTACH_PARAMS alocada por driver que foi inicializada chamando UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT.

Retornar valor

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

Comentários

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, fluxo inativo ou upstream porta voltada, a quantidade de conector atual pode desenhar ou entregar e 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 ucmConnectorTypeCDetach subsequente para notificar UcmCx quando o conector do parceiro é desanexado. No entanto, quando um cabo ligado 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 ligado.

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
Cliente mínimo com suporte Windows 10
Servidor mínimo com suporte Windows Server 2016
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

Confira também

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT

UcmConnectorCreate