Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Todas as versões do Windows permitem que um dispositivo esteja em D3cold enquanto o computador está em modo de suspensão (em um dos estados de baixo consumo de energia, S1 a S4). Antes de o computador sair de S0, os drivers de função, drivers de barramento e drivers de filtro trabalham juntos para mover o dispositivo para 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.
A partir do Windows 8, um dispositivo pode entrar e sair do D3cold enquanto o computador permanece no S0. O driver que é o proprietário da política de energia (PPO) para um dispositivo pode habilitar e desabilitar essas transições para D3cold. Um driver não deve permitir que seu dispositivo entre em D3cold a menos que o dispositivo possa, se necessário, despertar de D3cold e, em seguida, retomar a operação normal após a transição para D0.
Quando um dispositivo entra no estado D3, ele inicialmente entra no subestado D3hot de D3. A partir de D3hot, o dispositivo pode entrar em D0 ou D3cold. Em resposta a um evento de despertar ou solicitação de E/S, o dispositivo entra em D0 a partir de D3hot. Caso contrário, o dispositivo pode permanecer em D3hot, ou pode passar de D3hot para D3cold. Para obter mais informações sobre essas transições, consulte o diagrama de estado de energia do dispositivo em Estados de energia do dispositivo.
O driver não inicia a transição do dispositivo de D3hot para D3cold. Em vez disso, essa transição ocorre quando todos os outros dispositivos que compartilham uma fonte de alimentação comum com este dispositivo estão em D3hot e estão preparados para entrar em D3cold. Quando o último desses dispositivos entra no estado D3hot, os drivers de barramento subjacentes e o firmware do sistema removem a fonte de alimentação, fazendo com que os dispositivos passem para o estado D3cold em uníssono.
O driver PPO de um dispositivo informa ao sistema operacional se deve habilitar a transição do dispositivo de D3hot para D3cold. O driver pode fornecer essas informações no arquivo INF que instala o dispositivo, ou o driver pode chamar a rotina SetD3ColdSupport em tempo de execução para ativar ou desativar dinamicamente as transições do dispositivo para D3cold. Para obter mais informações, consulte Usando a interface do driver GUID_D3COLD_SUPPORT_INTERFACE.
Ao permitir que um dispositivo entre no D3cold, um driver garante o seguinte comportamento:
- O dispositivo pode tolerar uma transição de D3hot para D3cold quando o computador deve permanecer em S0.
- O dispositivo funcionará corretamente quando retornar ao D0 do D3cold.
Um dispositivo que não atenda a nenhum dos requisitos pode, depois de entrar no D3cold, ficar indisponível até que o computador seja reiniciado ou entre em estado de suspensão. Se o dispositivo deve ser capaz de sinalizar um evento de despertar a partir de qualquer estado Dx de baixa potência em que entra, a entrada para D3cold não deve ser permitida, a menos que o driver tenha certeza de que o sinal de despertar do dispositivo funcionará em D3cold.
Colocar um dispositivo em D3cold não significa necessariamente que todas as fontes de energia do dispositivo foram removidas; Isso significa apenas que as fontes de energia que permitem a comunicação com o dispositivo através do barramento desapareceram. O dispositivo ainda pode ser capaz de extrair energia suficiente para sinalizar um evento de despertar para o processador. Por exemplo, uma placa de interface de rede Ethernet (NIC) cuja fonte de alimentação principal é removida pode extrair energia do cabo Ethernet.
Como o D3cold é um estado em que o barramento não pode ser usado para se comunicar com o dispositivo, um controlador não pode mover o seu dispositivo para o estado D3cold diretamente. Em vez disso, o driver primeiro chama a rotina PoRequestPowerIrp para solicitar um IRP de energia D3 (uma solicitação IRP_MN_SET_POWER com estado de destino = PowerDeviceD3) para mover o dispositivo de D0 para D3hot. Depois de entrar em D3hot, o dispositivo pode ou não passar de D3hot para D3cold. O dispositivo entra no estado D3cold apenas quando a alimentação do barramento é removida. Isso pode ocorrer se o controlador do barramento principal desligar o barramento ou se o firmware do sistema cortar a energia de uma parte da plataforma de hardware.