Share via


función UsbPm_AssignConnectorPowerLevel (usbpmapi.h)

Intenta renegociar un contrato de PD con el valor de tensión/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 el Administrador de directivas cuando llama a la implementación del controlador de EVT_USBPM_EVENT_CALLBACK. El identificador se establece en el miembro EventData.ConnectorStateChange.ConnectorHandle del valor params .

[In] Params

Puntero a una estructura de USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS proporcionada por el controlador que contiene el valor de tensión/ corriente/potencia que se va a negociar. Inicialice la estructura llamando a USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT.

Si se especifica 0 como el valor de tensión/corriente/potencia de un conector en el rol receptor de energía, el conector deja de cargarse.

Valor devuelto

Devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, devuelve un valor NTSTATUS adecuado.

Comentarios

La configuración negociada solo es persistente siempre que el asociado de puerto esté asociado y se descarte cuando el asociado de puerto se desasocie. El controlador 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, se ha aceptado la solicitud, pero es posible que no se complete la renegociación del contrato pd. 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 potencia de UsbCPowerRoleSink y cuando un asociado está conectado al conector.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1809
Versión mínima de KMDF 1.27
Versión mínima de UMDF 2,27
Encabezado usbpmapi.h
Library UsbPmApi.lib
IRQL PASSIVE_LEVEL

Consulte también

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK