Função NtPowerInformation (wdm.h)
A rotina NtPowerInformation define ou recupera informações de energia do sistema.
Sintaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
[in] POWER_INFORMATION_LEVEL InformationLevel,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
Parâmetros
[in] InformationLevel
Especifica o nível de informações solicitado, que indica as informações de energia específicas a serem definidas ou recuperadas. Atualmente, o único valor de POWER_INFORMATION_LEVEL com suporte é PlatformInformation.
Valor | Descrição |
---|---|
PlatformInformation | As informações representam os recursos de energia com suporte no momento do sistema. As informações podem ser alteradas à medida que os drivers são instalados. Por exemplo, a instalação de drivers de dispositivo herdados que não dão suporte ao gerenciamento de energia pode modificar os recursos do sistema. |
[in, optional] InputBuffer
Ponteiro para um buffer de entrada alocado pelo chamador. Esse parâmetro deve ser NULL; caso contrário, ERROR_INVALID_PARAMETER será retornado.
[in] InputBufferLength
Tamanho, em bytes, do buffer em InputBuffer. O parâmetro deve ser definido como zero.
[out, optional] OutputBuffer
Um ponteiro para um buffer de saída. O tipo de dados desse buffer depende do nível de informações solicitado no parâmetro InformationLevel . Para o nível PlatformInformation , o único valor com suporte no momento, o parâmetro OutputBuffer é necessário e deve ser do tipo POWER_PLATFORM_INFORMATION .
[in] OutputBufferLength
Tamanho, em bytes, do buffer de saída. Dependendo do nível de informações solicitado, o buffer pode ser dimensionado variavelmente. PlatformInformation, o único valor com suporte no momento, requer um buffer do tamanho de uma estrutura POWER_PLATFORM_INFORMATION .
Retornar valor
Retorna STATUS_SUCCESS se a chamada for bem-sucedida. Se a chamada falhar, os códigos de erro possíveis incluem o seguinte:
Código de retorno | Descrição |
---|---|
STATUS_BUFFER_TOO_SMALL | O buffer de saída é de tamanho insuficiente para conter os dados que estão sendo retornados. |
STATUS_INVALID_PARAMETER | O nível de informações PlatformInformation , que é o único valor com suporte no momento, não requer nenhum buffer de entrada e deve conter um buffer de saída. O chamador forneceu um buffer de entrada ou nenhum buffer de saída. |
STATUS_ACCESS_DENIED | O chamador não tinha direitos de acesso suficientes para executar a ação solicitada. |
Comentários
NtPowerInformation e ZwPowerInformation são duas versões da mesma rotina do Windows Native System Services.
Para chamadas de drivers de modo kernel, as versões NtXxx e ZwXxx de uma rotina do Windows Native System Services podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Using Nt and Zw Versions of the Native System Services Routines.
Exemplos
Este exemplo ilustra uma chamada de função válida.
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntpoapi.h) |
Biblioteca | Ntoskrnl.lib |
DLL | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
Regras de conformidade da DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
Confira também
Usando versões Nt e Zw das rotinas de serviços do sistema nativo