función UsbPm_AssignConnectorPowerLevel (usbpmapi.h)
Intenta renegociar un contrato de PD con el valor de voltaje/corriente/potencia especificados.
Sintaxis
NTSTATUS UsbPm_AssignConnectorPowerLevel(
[In] USBPM_CLIENT ClientHandle,
[In] USBPM_CONNECTOR ConnectorHandle,
[In] PUSBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS Params
);
Parámetros
[In] ClientHandle
Identificador que el controlador cliente recibió en una llamada anterior a UsbPm_Register.
[In] ConnectorHandle
Identificador del conector proporcionado por Policy Manager cuando llama a la implementación del controlador de EVT_USBPM_EVENT_CALLBACK. El identificador se establece en el miembro EventData.ConnectorStateChange.ConnectorHand le del valor de params.
[In] Params
Puntero a una estructura de USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS proporcionada por el controlador que contiene el valor de voltaje, corriente y potencia que se va a negociar. Inicialice la estructura llamando a USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT.
La especificación de 0 como valor de voltaje,corriente/potencia para un conector en el rol receptor de energía hace que el conector deje de cargarse.
Valor devuelto
Devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, devuelve un valor de NTSTATUS adecuado.
Observaciones
La configuración negociada solo es persistente siempre que el asociado de puerto esté conectado y se descarte cuando el asociado de puerto se desasocie. El controlador de cliente es necesario para llamar a esta función en función del estado del conector actual, sin asumir la configuración anterior.
Si esta llamada se realiza correctamente, la solicitud se ha aceptado, pero es posible que la renegociación del contrato pd no esté completa. El resultado de la renegociación del contrato pd puede ser correcto o erróneo.
Como resultado de la renegociación correcta del contrato pd, EVT_USBPM_EVENT_CALLBACK se invoca con un evento de cambio de estado del conector. Si se produce un error en la solicitud de renegociación del contrato pd, no se invoca la función de devolución de llamada. Por ejemplo, el asociado rechaza la solicitud o ya no es válida porque el estado del conector ha cambiado.
En Windows 10, versión 1809, el controlador solo puede llamar a esta función con el rol de energía de UsbCPowerRoleSink y cuando un asociado está conectado al conector.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 10, versión 1809 |
versión mínima de KMDF | 1.27 |
versión mínima de UMDF | 2.27 |
encabezado de | usbpmapi.h |
biblioteca de | UsbPmApi.lib |
irQL | PASSIVE_LEVEL |