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


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