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


Функция 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
Целевая платформа Windows
Минимальная версия KMDF 1.15
Минимальная версия UMDF 2.15
Верхняя часть ucmmanager.h (включая Ucmcx.h)
Библиотека UcmCxstub.lib
IRQL PASSIVE_LEVEL

См. также раздел

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT

UcmConnectorCreate