Condividi tramite


funzione UsbPm_AssignConnectorPowerLevel (usbpmapi.h)

Tenta di rinegoziare un contratto PD con il valore di tensione/corrente/alimentazione specificato.

Sintassi

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

Parametri

[In] ClientHandle

Handle ricevuto dal driver client in una chiamata precedente a UsbPm_Register.

[In] ConnectorHandle

Handle del connettore fornito da Policy Manager quando chiama l'implementazione del driver di EVT_USBPM_EVENT_CALLBACK. L'handle viene impostato nel membro EventData.ConnectorStateChange.ConnectorHandle del valore Params .

[In] Params

Puntatore a una struttura di USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS fornita dal driver che contiene il valore di tensione/corrente/alimentazione da negoziare. Inizializzare la struttura chiamando USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT.

Se si specifica 0 come valore di tensione/corrente/alimentazione per un connettore nel ruolo sink di alimentazione, il connettore arresta la ricarica.

Valore restituito

Restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, restituisce un valore NTSTATUS appropriato.

Commenti

Le impostazioni negoziate sono persistenti solo se il partner della porta è collegato e viene rimosso quando il partner della porta viene scollegato. Il driver client è necessario per chiamare questa funzione in base allo stato corrente del connettore, senza presupporre l'impostazione precedente.

Se la chiamata ha esito positivo, la richiesta è stata accettata ma la rinegoziazione del contratto PD potrebbe non essere completata. Il risultato della rinegoziazione del contratto PD può essere esito positivo o negativo.

In seguito alla rinegoziazione del contratto PD, EVT_USBPM_EVENT_CALLBACK viene richiamato con un evento di modifica dello stato del connettore. Se la richiesta di rinegoziazione del contratto PD ha esito negativo, la funzione di callback non viene richiamata. Ad esempio, la richiesta viene rifiutata dal partner o non è più valida perché lo stato del connettore è stato modificato.
In Windows 10, versione 1809, il driver può chiamare questa funzione solo con il ruolo di alimentazione di UsbCPowerRoleSink e quando un partner è collegato al connettore.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1809
Versione KMDF minima 1.27
Versione UMDF minima 2.27
Intestazione usbpmapi.h
Libreria UsbPmApi.lib
IRQL PASSIVE_LEVEL

Vedi anche

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK