Compartilhar via


Função PoCreatePowerRequest (ntifs.h)

A rotina de 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 no 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 do 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.

Valor de retorno

PoCreatePowerRequest retornará STATUS_SUCCESS se a chamada for bem-sucedida. Se a chamada falhar, 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.

Observações

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 oPoSetPowerRequeste rotinas de 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 a apagar automaticamente a exibição durante longos períodos em que nenhuma interação do usuário ocorre.

Quando o objeto de solicitação de energia não for mais necessário, o chamador deverá excluir o objeto chamando a rotinapoDeletePowerRequest. O driver deve excluir o objeto de solicitação de energia antes de excluir o objeto do dispositivo que foi usado para criar o objeto de solicitação de energia.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 7
da Plataforma de Destino Universal
cabeçalho ntifs.h (incluem Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte também

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest