Поделиться через


функция 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

См. также

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK