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 |