UsbPm_AssignConnectorPowerLevel函数 (usbpmapi.h)
尝试使用指定的电压/电流/功率值重新谈判 PD 协定。
语法
NTSTATUS UsbPm_AssignConnectorPowerLevel(
[In] USBPM_CLIENT ClientHandle,
[In] USBPM_CONNECTOR ConnectorHandle,
[In] PUSBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS Params
);
参数
[In] ClientHandle
客户端驱动程序在上一次调用 UsbPm_Register中收到的句柄。
[In] ConnectorHandle
策略管理器调用驱动程序实现 EVT_USBPM_EVENT_CALLBACK时提供的连接器句柄。 句柄在 EventData.ConnectorStateChange.ConnectorHandleParams 值的成员中设置。
[In] Params
指向驱动程序提供的 USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS 结构的指针,该结构包含要协商的电压/电流/电源值。 通过调用 USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT初始化结构。
将 0 指定为电源接收器角色中的连接器的电压/当前/电源值会导致连接器停止充电。
返回值
如果作成功,则返回STATUS_SUCCESS。 否则,返回适当的 NTSTATUS 值。
言论
协商设置仅在附加端口伙伴后持久,并在分离端口伙伴时被丢弃。 客户端驱动程序需要基于当前连接器状态调用此函数,而无需假设以前的设置。
如果此调用成功,则请求已被接受,但 PD 协定重新谈判可能未完成。 PD 协定重新谈判的结果可以是成功还是失败。
由于 PD 协定重新协商成功,EVT_USBPM_EVENT_CALLBACK 使用连接器状态更改事件调用。 如果 PD 协定重新协商请求失败,则不会调用回调函数。 例如,合作伙伴拒绝请求,或不再有效,因为连接器状态已更改。
在 Windows 10 版本 1809 中,驱动程序只能使用 UsbCPowerRoleSink 的电源角色以及合作伙伴附加到连接器时调用此函数。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1809 |
最低 KMDF 版本 | 1.27 |
最低 UMDF 版本 | 2.27 |
标头 | usbpmapi.h |
库 | UsbPmApi.lib |
IRQL | PASSIVE_LEVEL |