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.
O driver do sistema PortCls utiliza os recursos de deteção de ociosidade de energia do sistema para implementar um temporizador de inatividade para seus clientes de áudio. PortCls programa dois valores de tempo limite e um estado de energia ociosa desejado no temporizador quando ele o inicializa. O PortCls monitoriza todos os acessos (como I/O e acessos de propriedades) do dispositivo e redefine efetivamente a contagem do temporizador a cada acesso. Se o temporizador expirar, o sistema solicita um IRP de energia para colocar o dispositivo no estado ocioso desejado. Depois de o dispositivo ter sido colocado no estado ocioso, PortCls irá reativar o dispositivo em caso de nova atividade de acesso.
PortCls contém valores padrão codificados para os tempos limite ociosos e o estado de energia ociosa. Os fornecedores de hardware podem, opcionalmente, substituir os valores padrão gravando seus próprios valores em chaves específicas do driver no registro do sistema. Dessa forma, os fornecedores podem selecionar os valores do parâmetro de consumo de energia em repouso que são mais adequados para os seus dispositivos.
Os fornecedores podem modificar os valores padrão dos seguintes parâmetros de "inatividade de energia":
ConservaçãoIdleTime
Este parâmetro especifica o intervalo de tempo limite ocioso quando o sistema está sendo executado no modo de conservação de energia. Este é o modo que normalmente é usado quando o sistema está funcionando com bateria. O valor padrão para esse parâmetro é 0, que desativa o temporizador de inatividade de energia no modo de conservação. O fornecedor de hardware pode definir o valor usando um arquivo inf como este.
[MyAudioDevice.AddReg] HKR,PowerSettings,ConservationIdleTime,%REG_BINARY%,1e,00,00,00
O fragmento de arquivo INF anterior mostra um valor hexadecimal (hex) de "1e" para o ConservationIdleTime, e isso equivale a um tempo limite ocioso de 30 segundos.
FLG_ADDREG_BINVALUETYPE
Os outros parâmetros são usados para controlar como a chave do Registro é adicionada. Por exemplo, %REG_BINARY% indica que os dados são armazenados como dados "brutos". Para obter mais informações, consulte Diretiva INF AddReg.
PerformanceIdleTime
Este parâmetro especifica o intervalo de tempo limite ocioso quando o sistema está sendo executado no modo de desempenho. Este é o modo normalmente utilizado quando o sistema está a funcionar com alimentação CA. O valor padrão para esse parâmetro é 0, que desabilita o temporizador de inatividade de energia no modo de desempenho.
O fornecedor de hardware pode definir o valor usando um arquivo inf como este.
[MyAudioDevice.AddReg] HKR,PowerSettings,PerformanceIdleTime,%REG_BINARY%,2c,01,00,00O valor da chave especifica o intervalo de tempo limite em segundos. Neste exemplo, o valor de 2c,01 será de 300 segundos ou cinco minutos.
IdlePowerState
Este parâmetro especifica o estado de energia em que o dispositivo será colocado se o período de tempo limite ocioso expirar. O valor padrão para esse parâmetro é 3, correspondente ao estado de energia do dispositivo D3, que é o estado de baixa potência do dispositivo de menor potência. O fornecedor de hardware pode definir o valor usando um arquivo inf como este.
[MyAudioDevice.AddReg] HKR,PowerSettings,IdlePowerState,%REG_BINARY%,03,00,00,00O valor colocado na chave deve ser 0, 1, 2 ou 3, correspondente ao estado de energia do dispositivo D0, D1, D2 ou D3, respectivamente.
As três chaves de registo inativas existem apenas se o ficheiro INF de instalação do dispositivo as criar. Antes de configurar o temporizador de inatividade de energia, o PortCls tenta recuperar os parâmetros de inatividade de energia específicos do driver do Registro. PortCls usa os valores padrão no lugar de quaisquer parâmetros de inatividade de energia que não encontra no registro. Como explicado anteriormente, os valores padrão do parâmetro power-idle desativam o temporizador ocioso.
Para obter mais informações sobre como especificar os parâmetros ConservationIdleTime, PerformanceIdleTime e IdlePowerState , consulte as definições dos três últimos parâmetros de chamada em PoRegisterDeviceForIdleDetection.
Exemplo
Por exemplo, um fornecedor de hardware pode querer especificar os seguintes parâmetros de inatividade de energia para um dispositivo de áudio: ConservationIdleTime = 0x0000001e (30 segundos), PerformanceIdleTime = 0x0000012c (300 segundos) e IdlePowerState = 0x00000003 (estado de energia do dispositivo D3). Para habilitar essas configurações, o arquivo de instalação do dispositivo pode incluir uma seção INF AddReg contendo as seguintes diretivas:
[MyAudioDevice.AddReg]
HKR,PowerSettings,ConservationIdleTime,%REG_BINARY%,1e,00,00,00
HKR,PowerSettings,PerformanceIdleTime,%REG_BINARY%,2c,01,00,00
HKR,PowerSettings,IdlePowerState,%REG_BINARY%,03,00,00,00