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_INIT初始化的驱动程序分配 UCM_CONNECTOR_TYPEC_ATTACH_PARAMS 的指针。

返回值

如果作成功,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 (包括 Ucmcx.h)
UcmCxstub.lib
IRQL PASSIVE_LEVEL

另请参阅

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT

UcmConnectorCreate