UsbPm_AssignConnectorPowerLevel-Funktion (usbpmapi.h)

Versucht eine Neuverhandlung des PD-Vertrags mit dem angegebenen Spannungs-/Strom-/Leistungswert.

Syntax

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

Parameter

[In] ClientHandle

Das Handle, das der Clienttreiber bei einem vorherigen Aufruf von UsbPm_Register empfangen hat.

[In] ConnectorHandle

Das Connectorhandle, das vom Policy Manager bereitgestellt wird, wenn er die Implementierung von EVT_USBPM_EVENT_CALLBACK des Treibers aufruft. Das Handle wird im EventData.ConnectorStateChange.ConnectorHandle-Element des Params-Werts festgelegt.

[In] Params

Ein Zeiger auf eine vom Treiber bereitgestellte USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS Struktur, die den zu verhandelnden Spannungs-/Strom-/Leistungswert enthält. Initialisieren Sie die -Struktur, indem Sie USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT aufrufen.

Die Angabe von 0 als Spannungs-/Strom-/Leistungswert für einen Stecker in der Rolle "Stromsenke" bewirkt, dass der Stecker den Ladevorgang beendet.

Rückgabewert

Gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Gibt andernfalls einen geeigneten NTSTATUS-Wert zurück.

Hinweise

Die ausgehandelten Einstellungen sind nur solange persistent, wie der Portpartner angefügt ist, und werden verworfen, wenn der Portpartner getrennt wird. Der Clienttreiber muss diese Funktion basierend auf dem aktuellen Connectorstatus aufrufen, ohne die vorherige Einstellung anzunehmen.

Wenn dieser Aufruf erfolgreich ist, wurde die Anforderung akzeptiert, aber die Neuverhandlung des PD-Vertrags ist möglicherweise nicht abgeschlossen. Das Ergebnis der Neuverhandlung von PD-Verträgen kann entweder erfolg- oder misserfolgt werden.

Als Ergebnis der erfolgreichen Neuverhandlung des PD-Vertrags wird EVT_USBPM_EVENT_CALLBACK mit einem Connectorzustandsänderungsereignis aufgerufen. Wenn die Neuverhandlungsanforderung für pd-Verträge fehlschlägt, wird die Rückruffunktion nicht aufgerufen. Beispielsweise wird die Anforderung vom Partner abgelehnt oder ist nicht mehr gültig, da sich der Connectorstatus geändert hat.
In Windows 10, Version 1809 kann der Treiber diese Funktion nur mit der Energierolle usbCPowerRoleSink aufrufen, und wenn ein Partner an den Connector angeschlossen ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809
KMDF-Mindestversion 1,27
UMDF-Mindestversion 2.27
Kopfzeile usbpmapi.h
Bibliothek UsbPmApi.lib
IRQL PASSIVE_LEVEL

Weitere Informationen

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK