функция 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.ConnectorHandle элемента значения Params.
[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 |