Partager via


fonction UsbPm_AssignConnectorPowerLevel (usbpmapi.h)

Tente une renégociation de contrat avec la valeur de tension/courant/puissance spécifiée.

Syntaxe

NTSTATUS UsbPm_AssignConnectorPowerLevel(
  [In] USBPM_CLIENT                               ClientHandle,
  [In] USBPM_CONNECTOR                            ConnectorHandle,
  [In] PUSBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS Params
);

Paramètres

[In] ClientHandle

Handle reçu par le pilote client lors d’un appel précédent à UsbPm_Register.

[In] ConnectorHandle

Handle de connecteur fourni par Policy Manager lorsqu’il appelle l’implémentation du pilote de EVT_USBPM_EVENT_CALLBACK. Le handle est défini dans le membre EventData.ConnectorStateChange.ConnectorHandle de la valeur params.

[In] Params

Pointeur vers une structure USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS fournie par le pilote qui contient la valeur tension/courant/puissance à négocier. Initialisez la structure en appelant USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT.

Si vous spécifiez 0 comme valeur de tension/courant/d’alimentation pour un connecteur dans le rôle récepteur d’alimentation, le connecteur cesse de charger.

Valeur de retour

Retourne STATUS_SUCCESS si l’opération réussit. Sinon, retourne une valeur NTSTATUS appropriée.

Remarques

Les paramètres négociés sont persistants uniquement tant que le partenaire de port est attaché et est ignoré lorsque le partenaire de port est détaché. Le pilote client est requis pour appeler cette fonction en fonction de l’état actuel du connecteur, sans supposer le paramètre précédent.

Si cet appel réussit, la demande a été acceptée, mais la renégociation du contrat peut ne pas être terminée. Le résultat de la renégociation du contrat peut être un succès ou un échec.

Suite à la renégociation réussie du contrat, EVT_USBPM_EVENT_CALLBACK est appelée avec un événement de changement d’état du connecteur. Si la demande de renégociation du contrat échoue, la fonction de rappel n’est pas appelée. Par exemple, la demande est rejetée par le partenaire ou n’est plus valide, car l’état du connecteur a changé.
Dans Windows 10, version 1809, le pilote peut uniquement appeler cette fonction avec le rôle d’alimentation de UsbCPowerRoleSink et lorsqu’un partenaire est attaché au connecteur.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10, version 1809
version minimale de KMDF 1.27
version minimale de UMDF 2.27
d’en-tête usbpmapi.h
bibliothèque UsbPmApi.lib
IRQL PASSIVE_LEVEL

Voir aussi

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK