Suporte a D3cold em um driver

Começando com Windows 8, o estado de energia do dispositivo D3 (desativado) é dividido em dois subestados distintos, D3hot e D3cold. D3 é o estado de energia do dispositivo de menor potência, e D3cold é o subestado de menor potência de D3. Mover dispositivos ociosos para o subestado D3cold pode reduzir o consumo de energia e estender o tempo que uma plataforma de hardware móvel pode executar com uma carga de bateria.

No D3hot, o dispositivo está desativado principalmente. No entanto, o dispositivo não está desconectado de sua fonte de alimentação main e o controlador de barramento pai pode detectar a presença do dispositivo no barramento. Em D3cold, a fonte de alimentação main é removida do dispositivo e o controlador de barramento não pode detectar a presença do dispositivo. Para obter mais informações, consulte as descrições de D3hot e D3cold em Estados de Low-Power de Dispositivo.

Em versões anteriores do Windows, o estado de energia do dispositivo D3 é implicitamente dividido em subestados D3hot e D3cold, mas um dispositivo não pode inserir D3cold a menos que o computador esteja se preparando para sair do estado de energia do sistema S0 e entrar em um dos estados em suspensão, S1 a S4. O Dx de baixa potência afirma que um dispositivo pode inserir quando o computador deve permanecer em S0 são limitados a D1 a D3hot.

Windows 8 é a primeira versão do Windows a dar suporte a transições de estado de energia do dispositivo para o subestado D3cold quando o computador está em S0 e não está se preparando para entrar em um estado de suspensão. Um dispositivo que dá suporte a D3cold dessa maneira ajuda a economizar energia das seguintes maneiras:

  • O dispositivo consome menos energia em D3cold do que em qualquer outro estado Dx de baixa potência.
  • Se esse dispositivo compartilhar um barramento com outros dispositivos e todos esses dispositivos oferecerem suporte a D3cold, depois que todos os dispositivos no barramento entrarem em D3cold, o controlador de barramento poderá entrar em um estado Dx de baixa potência.
  • Se esse dispositivo compartilhar uma fonte de energia com outros dispositivos e todos esses dispositivos deem suporte a D3cold, quando o último desses dispositivos entrar em D3hot, a fonte de energia poderá ser removida, momento em que todos esses dispositivos inserirão D3cold em uníssono.

Por outro lado, um dispositivo que não pode ficar ocioso em D3cold pode impedir que outros dispositivos insiram D3cold ou outros estados Dx de baixa potência.

Os tópicos a seguir contêm mais informações sobre como dar suporte a D3cold em um driver de dispositivo.

Nesta seção

Tópico Descrição
Habilitando transições para D3cold Todas as versões do Windows permitem que um dispositivo esteja em D3cold enquanto o computador está em suspensão (em um dos estados de baixa potência do sistema, S1 a S4). Antes que o computador saia do S0, os drivers de função, os motoristas de ônibus e os drivers de filtro trabalham juntos para mover o dispositivo para o D3hot. Quando o computador entra no estado Sx de baixa potência, essa transição tem o efeito colateral de mover o dispositivo de D3hot para D3cold.
Recursos D3cold de um dispositivo Antes que o driver que é o PPO (proprietário da política de energia) para um dispositivo permita que o dispositivo insira D3cold (quando o computador deve permanecer em S0), o driver deve verificar se o dispositivo será responsivo e continuar a operar corretamente depois que o dispositivo entrar em D3cold.
Usando a interface do driver GUID_D3COLD_SUPPORT_INTERFACE Começando com Windows 8, os drivers podem chamar as rotinas na interface D3COLD_SUPPORT_INTERFACE para determinar os recursos D3cold dos dispositivos e permitir que esses dispositivos usem D3cold. As duas rotinas principais nessa interface são SetD3ColdSupport e GetIdleWakeInfo.
Wake-Up surpresa Um alerta surpresa é uma transição inesperada para D0. Depois que um dispositivo entra em D3cold, ele pode experimentar um alerta surpresa como um efeito colateral quando o driver de outro dispositivo no mesmo trilho de alimentação solicita uma transição de D3cold para D0. O driver do primeiro dispositivo deve receber uma notificação da ativação surpresa para impedir que o dispositivo permaneça em um estado D0 não inicializado.