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 |