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 |