Compartir a través de


Compatibilidad con estados de energía funcionales

A partir de Windows 8, el administrador de energía incluye el marco de administración de energía en tiempo de ejecución (PoFx). PoFx admite la administración de energía y reloj en el nivel de componente (o subdispositivo).

A partir de la versión 1.11 de KMDF, los controladores KMDF pueden aprovechar el control de energía específico que ofrece PoFx. En concreto, un controlador KMDF puede definir varios componentes lógicos dentro de un único dispositivo, cada uno de los cuales puede administrarse de forma independiente.

Por ejemplo, un controlador de función podría definir un conjunto único de estados de energía funcional para cada componente lógico de un dispositivo. De forma similar a los estados de alimentación del dispositivo y del sistema, F0 indica que el componente está totalmente activado, mientras que los estados opcionales F1, F2, etc. indican estados de energía progresivamente inferiores. Para admitir estados fx, un controlador debe ser el propietario de la directiva de energía para el dispositivo.

En la tabla siguiente se resume la compatibilidad del marco con diferentes escenarios de estado de energía funcional.

Tipo Compatibilidad con KMDF Compatibilidad con UMDF Cuándo usar o cómo implementar

Componente único, estado único (F0)

Compatible

Compatible

Si desea que el complemento del motor de alimentación (PEP) determine el valor de tiempo de espera de inactividad y el controlador solo tenga un estado F.

Llame a WdfDeviceAssignS0IdleSettings con IdleTimeoutType = SystemManagedIdleTimout o SystemManagedIdleTimoutWithHint.

Componente único, varios estados (F0, F1, F2...)

Compatible

No compatible

Cuando el controlador tiene más de un estado F.

En este caso, KMDF controla la mayoría de las interacciones con PoFx.

Para obtener código de ejemplo, consulte Controladores de ejemplo de PoFx.

Varios componentes, uno o varios estados

Compatible con el uso de interfaces WDM

No compatible

Cuando el controlador tiene varios componentes. En este caso, debe usar directamente las interfaces de PoFx.

Para obtener código de ejemplo, consulte Controladores de ejemplo de PoFx.

Dado que KMDF agrega una abstracción mínima sobre PoFx, resulta útil tener conocimientos básicos de PoFx antes de escribir el controlador. En consecuencia, se recomienda leer Información general de Power Management Framework antes de leer estos temas.