Поделиться через


Функция UcmConnectorTypeCAttach (ucmmanager.h)

Уведомляет расширение платформы диспетчера USB-соединителей (UcmCx) при подключении соединителя партнера.

Синтаксис

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

Параметры

[in] Connector

Обработайте объект соединителя, полученный драйвером клиента в предыдущем вызове UcmConnectorCreate.

[in] Params

Указатель на выделенный драйвером UCM_CONNECTOR_TYPEC_ATTACH_PARAMS, который был инициализирован путем вызова UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT.

Возвращаемое значение

UcmConnectorTypeCAttach возвращает STATUS_SUCCESS, если операция завершится успешно. В противном случае этот метод может вернуть соответствующее значение NTSTATUS.

Замечания

При обнаружении подключения к соединителю партнера драйвер клиента вызывает этот метод, чтобы уведомить UcmCx с информацией о соединителе партнера. Эта информация включает роль соединителя, вниз по потоку или вышестоящему порту, объем текущего соединителя может рисовать или доставлять, а также состояние зарядки. UcmCx использует эти сведения для выполнения определенных операций. Например, он может определить роль подключенного соединителя партнера и настроить USB-контроллер в узле или периферийном режиме.

Как правило, каждый вызов UcmConnectorTypeCAttach имеет последующий вызов UcmConnectorTypeCDetach, чтобы уведомить UcmCx об отключении соединителя партнера. Однако при присоединении кабеля с питанием без вышестоящего порта (указано Params->PortPartnerType значение UcmTypeCPortStatePoweredCableNoUfp). Драйвер клиента может вызывать UcmConnectorTypeCAttach при обнаружении подключения к вышестоящему порту с питанием кабеля.

Примеры

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
минимальный поддерживаемый сервер Windows Server 2016
целевая платформа Виндоус
минимальная версия KMDF 1.15
минимальная версия UMDF 2.15
заголовка ucmmanager.h (include Ucmcx.h)
библиотеки UcmCxstub.lib
IRQL PASSIVE_LEVEL

См. также

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT

UcmConnectorCreate