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 en el 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 de 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 es correcta. Si se produce un error en la llamada, los posibles códigos de retorno de error 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.

Comentarios

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 las rutinas PoSetPowerRequest y PoClearPowerRequest .

Un controlador puede usar solicitudes de energía para invalidar ciertos 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 deje automáticamente en blanco la pantalla durante períodos prolongados 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 Value
Cliente mínimo compatible Windows 7
Plataforma de destino Universal
Encabezado ntifs.h (incluye Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest