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 |