Compartir a través de


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

Consulte también

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK