Partager via


UsbPm_AssignConnectorPowerLevel fonction (usbpmapi.h)

Tente une renégociation de contrat PD avec la valeur 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 que le pilote client a reçu 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 de 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.

La spécification de 0 comme valeur de tension/courant/puissance pour un connecteur dans le rôle récepteur d’alimentation entraîne l’arrêt de la charge du connecteur.

Valeur retournée

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 sont ignorés 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 PD peut ne pas être terminée. Le résultat de la renégociation du contrat PD peut être un succès ou un échec.

Suite à la renégociation réussie du contrat PD, EVT_USBPM_EVENT_CALLBACK est appelé avec un événement de changement d’état du connecteur. Si la demande de renégociation du contrat PD é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 d’UsbCPowerRoleSink et lorsqu’un partenaire est attaché au connecteur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809
Version KMDF minimale 1,27 %
Version UMDF minimale 2,27
En-tête usbpmapi.h
Bibliothèque UsbPmApi.lib
IRQL PASSIVE_LEVEL

Voir aussi

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK