Función PoCreatePowerRequest (ntifs.h)

La rutina PoCreatePowerRequest crea un objeto de solicitud de energía.

Sintaxis

NTSTATUS PoCreatePowerRequest(
  [out] PVOID                   *PowerRequest,
  [in]  PDEVICE_OBJECT          DeviceObject,
  [in]  PCOUNTED_REASON_CONTEXT Context
);

Parámetros

[out] PowerRequest

Puntero a una ubicación en la que la rutina escribe un puntero al objeto de solicitud de energía recién creado. Si se produce un error en la llamada, la rutina escribe NULL en esta ubicación.

[in] DeviceObject

Puntero al objeto de dispositivo del autor de la llamada (una estructura de DEVICE_OBJECT).

[in] Context

Puntero a una estructura COUNTED_REASON_CONTEXT que describe por qué el autor de la llamada está creando el objeto de solicitud de energía. Este parámetro es opcional y se puede establecer en NULL.

Valor devuelto

PoCreatePowerRequest devuelve STATUS_SUCCESS si la llamada se realiza correctamente. Si se produce un error en la llamada, los códigos de retorno de error posibles incluyen lo siguiente:

Código devuelto Descripción
STATUS_INVALID_PARAMETER El parámetro DeviceObject es NULL.
STATUS_INSUFFICIENT_RESOURCES No hay suficiente memoria disponible para crear un objeto de solicitud de energía.

Observaciones

Esta rutina crea un objeto de solicitud de energía. Para habilitar las solicitudes de energía, el autor de la llamada debe crear un objeto de solicitud de energía y usar ese objeto para todas las llamadas a la PoSetPowerRequest y poClearPowerRequest rutinas.

Un controlador puede usar solicitudes de energía para invalidar determinados aspectos del comportamiento de energía predeterminado del equipo. Por ejemplo, un controlador para un dispositivo receptor de TV puede usar solicitudes de energía para evitar que el administrador de energía de deje automáticamente en blanco la pantalla durante largos períodos de tiempo en los que no se produzca ninguna interacción del usuario.

Cuando el objeto de solicitud de energía ya no es necesario, el autor de la llamada debe eliminar el objeto llamando a la rutina PoDeletePowerRequest. El controlador debe eliminar el objeto de solicitud de energía antes de eliminar el objeto de dispositivo que se usó para crear el objeto de solicitud de energía.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 7
de la plataforma de destino de Universal
encabezado de ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL

Consulte también

poClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest