Função PoCreatePowerRequest (wdm.h)
A rotina PoCreatePowerRequest cria um objeto de solicitação de energia.
Sintaxe
NTSTATUS PoCreatePowerRequest(
[out] PVOID *PowerRequest,
[in] PDEVICE_OBJECT DeviceObject,
[in] PCOUNTED_REASON_CONTEXT Context
);
Parâmetros
[out] PowerRequest
Um ponteiro para um local no qual a rotina grava um ponteiro para o objeto de solicitação de energia recém-criado. Se a chamada falhar, a rotina gravará NULL nesse local.
[in] DeviceObject
Um ponteiro para o objeto de dispositivo do chamador (uma estrutura DEVICE_OBJECT ).
[in] Context
Um ponteiro para uma estrutura COUNTED_REASON_CONTEXT que descreve por que o chamador está criando o objeto de solicitação de energia. Esse parâmetro é opcional e pode ser definido como NULL.
Retornar valor
PoCreatePowerRequest retornará STATUS_SUCCESS se a chamada for bem-sucedida. Se a chamada falhar, os possíveis códigos de retorno de erro incluem o seguinte:
Código de retorno | Descrição |
---|---|
|
O parâmetro DeviceObject é NULL. |
|
Não há memória suficiente disponível para criar um objeto de solicitação de energia. |
Comentários
Essa rotina cria um objeto de solicitação de energia. Para habilitar solicitações de energia, o chamador deve criar um objeto de solicitação de energia e usar esse objeto para todas as chamadas para as rotinas PoSetPowerRequest e PoClearPowerRequest .
Um driver pode usar solicitações de energia para substituir determinados aspectos do comportamento de energia padrão do computador. Por exemplo, um driver para um dispositivo receptor de TV pode usar solicitações de energia para impedir que o power manager aguarde automaticamente a exibição durante longos períodos de tempo em que nenhuma interação do usuário ocorre.
Quando o objeto de solicitação de energia não é mais necessário, o chamador deve excluir o objeto chamando a rotina PoDeletePowerRequest . O driver deve excluir o objeto de solicitação de energia antes de excluir o objeto de dispositivo que foi usado para criar o objeto de solicitação de energia.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 7. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |