UcmConnectorDataDirectionChanged 函数 (ucmmanager.h)
通知 USB 连接器管理器框架扩展 (UcmCx) 新的数据角色更改数据角色。
语法
void UcmConnectorDataDirectionChanged(
[in] UCMCONNECTOR Connector,
[in] BOOLEAN Success,
[in] UCM_DATA_ROLE CurrentDataRole
);
参数
[in] Connector
客户端驱动程序在上一次调用 UcmConnectorCreate 时收到的连接器对象的句柄。
[in] Success
用于指示 UcmCx 使用 EVT_UCM_CONNECTOR_SET_DATA_ROLE 启动的数据角色交换失败。
如果为 TRUE,则操作成功。 否则为 FALSE。
[in] CurrentDataRole
指示新数据角色 的UCM_TYPEC_PARTNER 值。
返回值
无
备注
如果操作成功,UcmConnectorDataDirectionChanged 将返回STATUS_SUCCESS。 否则,此内联函数可以返回相应的 NTSTATUS 值。
如果连接了连接器合作伙伴,则 UcmCx 根据 CurrentDataRole 值更新合作伙伴的数据角色。 例如,如果客户端驱动程序将数据角色更改为 UcmTypeCPortStateUfp,UcmCx 会将连接器伙伴的角色更新为 UcmTypeCPortStateDfp。
UcmCx 可以更改连接器的数据角色,并调用 EVT_UCM_CONNECTOR_SET_DATA_ROLE。 在响应该调用时,客户端应执行DR_Swap操作,并通过调用 UcmConnectorDataDirectionChanged 来指示操作成功/失败。
或者,客户端驱动程序可以选择自动执行角色交换,或者合作伙伴可能会执行角色交换。 在任一情况下,角色交换完成后,驱动程序必须使用 UcmConnectorDataDirectionChanged 向 UcmCx 报告新角色。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | Windows |
最低 KMDF 版本 | 1.15 |
最低 UMDF 版本 | 2.15 |
标头 | ucmmanager.h (包括 Ucmcx.h) |
Library | UcmCxstub.lib |
IRQL | PASSIVE_LEVEL |