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
STATUS_INVALID_PARAMETER
O parâmetro DeviceObject é NULL.
STATUS_INSUFFICIENT_RESOURCES
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

Confira também

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest