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时提供的连接器句柄。 句柄在 Params 值的 EventData.ConnectorStateChange.ConnectorHandle 成员中设置。
[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 |
Library | UsbPmApi.lib |
IRQL | PASSIVE_LEVEL |