嘗試使用指定的電壓/目前/電源值重新談判 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.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 |
| 連結庫 | UsbPmApi.lib |
| IRQL | PASSIVE_LEVEL |