Partilhar via


função UsbPm_AssignConnectorPowerLevel (usbpmapi.h)

Tenta uma renegociação de contrato PD com o valor de tensão/atual/energia 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 ele chama a implementação do driver de EVT_USBPM_EVENT_CALLBACK. O identificador é definido no EventData.ConnectorStateChange.ConnectorHandle membro do Params valor.

[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 para um conector na função do coletor de energia faz com que o conector pare de carregar.

Valor de retorno

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

Observações

As configurações negociadas são persistentes apenas desde que o parceiro de porta esteja anexado e sejam descartadas quando o parceiro de porta for desanexado. O driver 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.
No Windows 10, versão 1809, o driver só pode chamar essa função com a função de energia do UsbCPowerRoleSink e quando um parceiro é anexado ao conector.

Requisitos

Requisito Valor
de cliente com suporte mínimo 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

Consulte também

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK