Suporte a estados de energia funcionais

A partir do Windows 8, o power manager inclui a PoFx (estrutura de gerenciamento de energia) em tempo de execução. O PoFx dá suporte ao gerenciamento de energia e relógio no nível do componente (ou do subdispositivo).

A partir do KMDF versão 1.11, os drivers KMDF podem aproveitar o controle de energia refinado oferecido pela PoFx. Em particular, um driver KMDF pode definir vários componentes lógicos em um único dispositivo, cada um dos quais pode ser gerenciado de forma independente.

Por exemplo, um driver de função pode definir um conjunto exclusivo de estados de energia funcionais para cada componente lógico de um dispositivo. Semelhante aos estados de energia do dispositivo e do sistema, F0 indica que o componente está totalmente ligado, enquanto os estados opcionais F1, F2 e assim por diante indicam estados de energia progressivamente menores. Para dar suporte aos estados fx, um driver deve ser o proprietário da política de energia para o dispositivo.

A tabela a seguir resume o suporte à estrutura para diferentes cenários funcionais de estado de energia.

Tipo Suporte a KMDF Suporte a UMDF Quando usar/como implementar

Componente único, estado único (F0)

Com suporte

Com suporte

Quando você quiser que o PEP (plug-in do power engine) determine o valor de tempo limite ocioso e o driver tenha apenas um estado F.

Chame WdfDeviceAssignS0IdleSettings com IdleTimeoutType = SystemManagedIdleTimout ou SystemManagedIdleTimoutWithHint.

Componente único, vários estados (F0, F1, F2...)

Com suporte

Sem suporte

Quando o driver tem mais de um estado F.

Nesse caso, o KMDF lida com a maioria das interações com o PoFx.

Para obter o código de exemplo, consulte Drivers de exemplo poFx.

Vários componentes, estados únicos ou múltiplos

Com suporte usando interfaces WDM

Sem suporte

Quando o driver tem vários componentes. Nesse caso, você deve usar as interfaces PoFx diretamente.

Para obter o código de exemplo, consulte Drivers de exemplo poFx.

Como o KMDF adiciona abstração mínima sobre PoFx, é útil ter uma compreensão básica da PoFx antes de escrever o driver. Da mesma forma, recomendamos que você leia Visão geral da Estrutura de Gerenciamento de Energia antes de ler esses tópicos.