funzione UsbPm_AssignConnectorPowerLevel (usbpmapi.h)

Tenta una rinegoziazione del 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 smette di caricarlo.

Valore restituito

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

Osservazioni

Le impostazioni negoziate sono persistenti solo se il partner porta è collegato e viene rimosso quando il partner 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 è cambiato.
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.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 1809
versione minima di KMDF 1.27
versione minima di UMDF 2.27
intestazione usbpmapi.h
libreria UsbPmApi.lib
IRQL PASSIVE_LEVEL

Vedere anche

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK