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 |