Função UsbPm_AssignConnectorPowerLevel (usbpmapi.h)

Tenta uma renegociação de contrato PD com o valor de tensão/corrente/potência especificado.

Sintaxe

NTSTATUS UsbPm_AssignConnectorPowerLevel(
  [In] USBPM_CLIENT                               ClientHandle,
  [In] USBPM_CONNECTOR                            ConnectorHandle,
  [In] PUSBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS Params
);

Parâmetros

[In] ClientHandle

O identificador que o driver cliente recebeu em uma chamada anterior para UsbPm_Register.

[In] ConnectorHandle

O identificador do conector fornecido pelo Gerenciador de Políticas quando chama a implementação do driver de EVT_USBPM_EVENT_CALLBACK. O identificador é definido no membro EventData.ConnectorStateChange.ConnectorHandle do valor Params .

[In] Params

Um ponteiro para uma estrutura de USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS fornecida pelo driver que contém o valor de tensão/corrente/energia a ser negociado. Inicialize a estrutura chamando USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT.

Especificar 0 como o valor de tensão/atual/energia de um conector na função do coletor de energia faz com que o conector pare de carregar.

Retornar valor

Retorna STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, retorna um valor NTSTATUS apropriado.

Comentários

As configurações negociadas são persistentes somente desde que o parceiro de porta esteja anexado e sejam descartadas quando o parceiro de porta for desanexado. O driver do cliente é necessário para chamar essa função com base no estado atual do conector, sem assumir a configuração anterior.

Se essa chamada for bem-sucedida, a solicitação foi aceita, mas a renegociação do contrato PD pode não estar concluída. O resultado da renegociação do contrato PD pode ser êxito ou falha.

Como resultado da renegociação bem-sucedida do contrato PD, EVT_USBPM_EVENT_CALLBACK é invocado com um evento de alteração de estado do conector. Se a solicitação de renegociação de contrato PD falhar, a função de retorno de chamada não será invocada. Por exemplo, a solicitação é rejeitada pelo parceiro ou não é mais válida porque o estado do conector foi alterado.
Em Windows 10, versão 1809, o driver só pode chamar essa função com a função de energia de UsbCPowerRoleSink e quando um parceiro é anexado ao conector.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1809
Versão mínima do KMDF 1.27
Versão mínima do UMDF 2.27
Cabeçalho usbpmapi.h
Biblioteca UsbPmApi.lib
IRQL PASSIVE_LEVEL

Confira também

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK