Condividi tramite


Supporto degli stati di potenza funzionale

A partire da Windows 8, power manager include il framework di gestione energia in fase di esecuzione (PoFx). PoFx supporta la gestione dell'alimentazione e dell'orologio a livello di componente (o subdevice).

A partire da KMDF versione 1.11, i driver KMDF possono sfruttare il controllo della potenza con granularità fine offerto da PoFx. In particolare, un driver KMDF può definire più componenti logici all'interno di un singolo dispositivo, ognuno dei quali può essere gestito in modo indipendente.

Ad esempio, un driver di funzione potrebbe definire un set univoco di stati di potenza funzionale per ogni componente logico di un dispositivo. Analogamente agli stati di alimentazione del dispositivo e del sistema, F0 indica che il componente è completamente attivo, mentre gli stati facoltativi F1, F2 e così via indicano stati di alimentazione progressivamente inferiori. Per supportare gli stati Fx, un driver deve essere il proprietario dei criteri di alimentazione per il dispositivo.

La tabella seguente riepiloga il supporto del framework per diversi scenari di stato di alimentazione funzionale.

Tipo Supporto kmDF Supporto di UMDF Quando usare/come implementare

Singolo componente, stato singolo (F0)

Supportato

Supportato

Quando si vuole che il plug-in del motore di alimentazione (PEP) determini il valore di timeout inattiva e il driver abbia un solo stato F.

Chiamare WdfDeviceAssignS0IdleSettings con IdleTimeoutType = SystemManagedIdleTimout o SystemManagedIdleTimoutWithHint.

Singolo componente, più stati (F0, F1, F2...)

Supportato

Non supportato

Quando il driver ha più di uno stato F.

In questo caso, KMDF gestisce la maggior parte delle interazioni con PoFx.

Per il codice di esempio, vedere Driver di esempio di PoFx.

Più componenti, uno o più stati

Supportato con interfacce WDM

Non supportato

Quando il driver ha più componenti. In questo caso, è necessario usare direttamente le interfacce PoFx.

Per il codice di esempio, vedere Driver di esempio di PoFx.

Poiché KMDF aggiunge un'astrazione minima in cima a PoFx, è utile avere una conoscenza di base di PoFx prima di scrivere il driver. Di conseguenza, è consigliabile leggere Panoramica di Power Management Framework prima di leggere questi argomenti.