Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O driver do sistema PortCls utiliza os recursos de detecção de energia ociosa do sistema para implementar um temporizador de inatividade para seus clientes de áudio. O PortCls programa dois valores de tempo limite e um estado de energia ocioso desejado no temporizador quando ele o inicializa. PortCls monitora todos os acessos (como E/S e acessos de propriedade) do dispositivo e redefine de forma eficaz a contagem do temporizador em cada acesso. Se o temporizador atingir o tempo limite, o sistema solicitará que um IRP de energia coloque o dispositivo no estado ocioso desejado. Depois que o dispositivo tiver sido colocado no estado ocioso, o PortCls ativará o backup do dispositivo no caso de uma nova atividade de acesso.
PortCls contém valores padrão embutidos em código para os tempos limite ociosos e o estado de energia ocioso. Os fornecedores de hardware podem, opcionalmente, substituir os valores padrão escrevendo seus próprios valores em chaves específicas do driver no registro do sistema. Dessa forma, os fornecedores podem selecionar os valores de parâmetro de energia ociosa que são mais adequados para seus dispositivos.
Os fornecedores podem substituir os valores padrão dos seguintes parâmetros de energia em repouso:
ConservationIdleTime
Esse parâmetro especifica o intervalo de tempo limite ocioso quando o sistema está em execução no modo de conservação de energia. Esse é o modo que é usado normalmente quando o sistema está funcionando com a bateria. O valor padrão desse parâmetro é 0, o que desabilita o temporizador de energia ociosa 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 (heximais) 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 a diretiva INF AddReg.
PerformanceIdleTime
Esse parâmetro especifica o intervalo de tempo limite ocioso quando o sistema está em execução no modo de desempenho. Esse é o modo que normalmente é usado quando o sistema está em execução na energia CA. O valor padrão desse parâmetro é 0, o que desabilita o temporizador de energia ociosa 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
Esse 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 desse 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 do Registro de energia ociosas só existirão se o arquivo INF de instalação do dispositivo as criar. Antes de configurar o temporizador de energia ociosa, o PortCls tenta recuperar os parâmetros de energia ociosa específicos do driver do registro. O PortCls usa os valores padrão no lugar de qualquer parâmetro de energia ociosa que não encontrar no registro. Conforme explicado anteriormente, os valores padrão do parâmetro de inatividade desativam o temporizador de inatividade.
Para obter mais informações sobre como especificar os parâmetros ConservationIdleTime, PerformanceIdleTime e IdlePowerState , consulte as definições dos últimos três parâmetros de chamada em PoRegisterDeviceForIdleDetection.
Exemplo
Por exemplo, um fornecedor de hardware pode querer especificar os seguintes parâmetros de energia ociosa 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