Funzione PoFxSetComponentLatency (wdm.h)

La routine PoFxSetComponentLatency specifica la latenza massima che può essere tollerata nella transizione dalla condizione inattiva alla condizione attiva nel componente specificato.

Sintassi

void PoFxSetComponentLatency(
  [in] POHANDLE  Handle,
  [in] ULONG     Component,
  [in] ULONGLONG Latency
);

Parametri

[in] Handle

Handle che rappresenta la registrazione del dispositivo con il framework di risparmio energia (PoFx). Il driver di dispositivo ha ricevuto in precedenza questo handle dalla routine PoFxRegisterDevice .

[in] Component

Indice che identifica il componente. Questo parametro è un indice nella matrice Components nella struttura PO_FX_DEVICE utilizzata dal driver del dispositivo per registrare il dispositivo con PoFx. Se la matrice Components contiene elementi N, gli indici dei componenti sono compresi tra 0 e N-1.

[in] Latency

La latenza massima, in unità da 100 nanosecondi, che possono essere tollerate nel componente specificato. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

nessuno

Osservazioni

Il driver chiamante fornisce una latenza massima che i client del dispositivo possono tollerare nel componente specificato. Questa latenza è il tempo necessario per completare una transizione dalla condizione inattiva alla condizione attiva. PoFx usa questa latenza come suggerimento per migliorare le prestazioni.

Quando il componente passa dalla condizione attiva alla condizione inattiva, PoFx seleziona uno stato fx a bassa potenza appropriato per l'immissione del componente. Al termine di questa transizione, il tempo necessario per tornare alla condizione attiva dipende dallo stato fx selezionato. PoFx tenta di selezionare uno stato Fx che non viola il requisito massimo di latenza.

Ad esempio, se un driver supporta gli stati di alimentazione F0, F1 e F2 nel componente specificato, lo stato F2 rappresenta un'impostazione di potenza inferiore rispetto allo stato F1. In genere, il tempo necessario per riattivare (allo stato completo, F0) da F2 è più lungo del tempo necessario per la riattivazione da F1. Se la latenza massima è maggiore di T1 ma minore di T2, PoFx può passare in modo sicuro il componente allo stato F1 e soddisfare comunque il requisito massimo di latenza. Tuttavia, PoFx evita di passare il componente allo stato F2 perché in questo modo viola questo requisito.

Il driver di dispositivo può chiamare PoFxSetComponentLatency ogni volta che una modifica delle condizioni richiede una modifica nella latenza massima. Dopo ogni chiamata, la nuova latenza massima rimane attiva fino a quando il driver chiama PoFxSetComponentLatency per aggiornarlo.

Se un componente si trova nella condizione inattiva quando viene chiamata PoFxSetComponentLatency, PoFx potrebbe modificare lo stato fx corrente del componente per soddisfare la nuova latenza massima specificata dal chiamante.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Universale
Intestazione wdm.h
Libreria Ntoskrnl.lib
DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

PO_FX_DEVICE

PoFxRegisterDevice