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