Compartilhar via


Função CallNtPowerInformation (powerbase.h)

Define ou recupera informações de energia.

Sintaxe

NTSTATUS CallNtPowerInformation(
  [in]  POWER_INFORMATION_LEVEL InformationLevel,
  [in]  PVOID                   InputBuffer,
  [in]  ULONG                   InputBufferLength,
  [out] PVOID                   OutputBuffer,
  [in]  ULONG                   OutputBufferLength
);

Parâmetros

[in] InformationLevel

O nível de informações solicitado. Esse valor indica as informações de energia específicas a serem definidas ou recuperadas. Esse parâmetro deve ser um dos seguintes valores de tipo de enumeração POWER_INFORMATION_LEVEL .

Valor Significado
AdministratorPowerPolicy
9
Não há suporte para esse nível de informação.
LastSleepTime
15
O parâmetro lpInBuffer deve ser NULL; caso contrário, a função retornará ERROR_INVALID_PARAMETER.

O buffer lpOutputBuffer recebe um ULONGLONG que especifica a contagem de tempo de interrupção, em unidades de 100 nanossegundos, no último tempo de suspensão do sistema.

LastWakeTime
14
O parâmetro lpInBuffer deve ser NULL; caso contrário, a função retornará ERROR_INVALID_PARAMETER.

O buffer lpOutputBuffer recebe um ULONGLONG que especifica a contagem de tempo de interrupção, em unidades de 100 nanossegundos, no último momento de ativação do sistema.

ProcessorInformation
11
O parâmetro lpInBuffer deve ser NULL; caso contrário, a função retornará ERROR_INVALID_PARAMETER.

O buffer lpOutputBuffer recebe uma estrutura PROCESSOR_POWER_INFORMATION para cada processador instalado no sistema. Use a função GetSystemInfo para recuperar o número de processadores.

ProcessorPowerPolicyAc
18
Não há suporte para esse nível de informação.
ProcessorPowerPolicyCurrent
22
Não há suporte para esse nível de informação.
ProcessorPowerPolicyDc
19
Não há suporte para esse nível de informação.
SystemBatteryState
5
O parâmetro lpInBuffer deve ser NULL; caso contrário, a função retornará ERROR_INVALID_PARAMETER.

O buffer lpOutputBuffer recebe uma estrutura SYSTEM_BATTERY_STATE que contém informações sobre a bateria do sistema atual.

SystemExecutionState
16
O parâmetro lpInBuffer deve ser NULL; caso contrário, a função retornará ERROR_INVALID_PARAMETER.

O buffer lpOutputBuffer recebe um valor ULONG que contém o buffer de estado de execução do sistema. Esse valor pode conter qualquer combinação dos seguintes valores: ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED ou ES_USER_PRESENT. Para obter mais informações, consulte a função SetThreadExecutionState .

SystemPowerCapabilities
4
O parâmetro lpInBuffer deve ser NULL; caso contrário, a função retornará ERROR_INVALID_PARAMETER.

O buffer lpOutputBuffer recebe uma estrutura SYSTEM_POWER_CAPABILITIES que contém os recursos atuais de energia do sistema.

Essas informações representam os recursos de energia com suporte no momento. Ele pode mudar à medida que os drivers são instalados no sistema. Por exemplo, a instalação de drivers de dispositivo herdados que não dão suporte ao gerenciamento de energia desabilita todos os estados de suspensão do sistema.

SystemPowerInformation
12
O parâmetro lpInBuffer deve ser NULL; caso contrário, a função retornará ERROR_INVALID_PARAMETER.

O buffer lpOutputBuffer recebe uma estrutura SYSTEM_POWER_INFORMATION .

Os aplicativos podem usar esse nível para recuperar informações sobre a ociosidade do sistema.

SystemPowerPolicyAc
0
Se lpInBuffer não for NULL, a função aplicará os valores de SYSTEM_POWER_POLICY passados em lpInBuffer à política de energia do sistema atual usada enquanto o sistema estiver em execução na energia AC (utilitário).

O buffer lpOutputBuffer recebe uma estrutura SYSTEM_POWER_POLICY que contém a política de energia do sistema atual usada enquanto o sistema está em execução na energia AC (utilitário).

SystemPowerPolicyCurrent
8
O parâmetro lpInBuffer deve ser NULL; caso contrário, a função retornará ERROR_INVALID_PARAMETER.

O buffer lpOutputBuffer recebe uma estrutura SYSTEM_POWER_POLICY que contém a política de energia do sistema atual usada enquanto o sistema está em execução na energia AC (utilitário).

SystemPowerPolicyDc
1
Se lpInBuffer não for NULL, a função aplicará os valores de SYSTEM_POWER_POLICY passados em lpInBuffer à política de energia do sistema atual usada enquanto o sistema estiver em execução na energia da bateria.

O buffer lpOutputBuffer recebe uma estrutura SYSTEM_POWER_POLICY que contém a política de energia do sistema atual usada enquanto o sistema está em execução na energia da bateria.

SystemReserveHiberFile
10
Se lpInBuffer não for NULL e o usuário atual tiver privilégios suficientes, a função confirmará ou desabilitará o armazenamento necessário para manter a imagem de hibernação no volume de inicialização.

O parâmetro lpInBuffer deve apontar para um valor BOOLEAN que indica a solicitação desejada. Se o valor for TRUE, o arquivo de hibernação será reservado; se o valor for FALSE, o arquivo de hibernação será removido.

VerifyProcessorPowerPolicyAc
20
Não há suporte para esse nível de informação.
VerifyProcessorPowerPolicyDc
21
Não há suporte para esse nível de informação.
VerifySystemPolicyAc
2
Não há suporte para esse nível de informação.
VerifySystemPolicyDc
3
Não há suporte para esse nível de informação.

[in] InputBuffer

Um ponteiro para um buffer de entrada opcional. O tipo de dados desse buffer depende do nível de informações solicitado no parâmetro InformationLevel .

[in] InputBufferLength

O tamanho, em bytes, do buffer de entrada.

[out] OutputBuffer

Um ponteiro para um buffer de saída opcional. O tipo de dados desse buffer depende do nível de informações solicitado no parâmetro InformationLevel . Se o buffer for muito pequeno para conter as informações, a função retornará STATUS_BUFFER_TOO_SMALL.

[in] OutputBufferLength

O tamanho do buffer de saída em bytes. Dependendo do nível de informações solicitado, esse pode ser um buffer de tamanho variavel.

Retornar valor

Se a função for bem-sucedida, o valor retornado será STATUS_SUCCESS.

Se a função falhar, o valor retornado poderá ser um dos seguintes códigos de status.

Status Significado
STATUS_BUFFER_TOO_SMALL
O buffer de saída é de tamanho insuficiente para conter os dados a serem retornados.
STATUS_ACCESS_DENIED
O chamador não tinha direitos de acesso suficientes para executar a ação solicitada.

Comentários

As alterações feitas na política de energia do sistema atual usando CallNtPowerInformation são imediatas, mas não são persistentes; ou seja, as alterações não são armazenadas como parte de um esquema de energia. Quaisquer alterações na política de energia do sistema feitas com CallNtPowerInformation podem ser substituídas por alterações em um esquema de política feito pelo usuário no programa do painel de controle do Power Options ou por chamadas subsequentes para WritePwrScheme, SetActivePwrScheme ou outras funções de esquema de energia.

Para obter mais informações sobre como usar PowrProf.h, consulte Esquemas de energia.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho powerbase.h
Biblioteca PowrProf.lib
DLL PowrProf.dll

Confira também

ADMINISTRATOR_POWER_POLICY

PROCESSOR_POWER_INFORMATION

PROCESSOR_POWER_POLICY

Funções de gerenciamento de energia

estrutura SYSTEM_BATTERY_STATE

SYSTEM_POWER_CAPABILITIES

SYSTEM_POWER_INFORMATION

SYSTEM_POWER_POLICY