Función PoRegisterSystemState (wdm.h)

La rutina PoRegisterSystemState registra el sistema tan ocupado debido a cierta actividad.

Sintaxis

PVOID PoRegisterSystemState(
  [in, out] PVOID           StateHandle,
  [in]      EXECUTION_STATE Flags
);

Parámetros

[in, out] StateHandle

Puntero a un búfer proporcionado por el autor de la llamada para un identificador de estado de registro. El tamaño, en bytes, del búfer es sizeof(ULONG). Si es NULL, se trata de un nuevo registro. Si no es NULL, este parámetro apunta a un identificador devuelto por una llamada anterior a PoRegisterSystemState.

[in] Flags

Indica el tipo de actividad, tal y como especifica un OR bit a bit de uno o varios de los valores siguientes:

ES_SYSTEM_REQUIRED

El sistema no está inactivo, independientemente de la carga aparente.

ES_DISPLAY_REQUIRED

Se requiere el uso de la pantalla.

ES_USER_PRESENT

Un usuario está presente.

ES_CONTINUOUS

La configuración es continua y debe permanecer en vigor hasta que se cambie explícitamente.

Valor devuelto

PoRegisterSystemState devuelve un identificador que se usará más adelante para cambiar o anular el registro del estado ocupado del sistema. Devuelve NULL si no se pudo asignar el identificador.

Comentarios

PoRegisterSystemState registra el estado ocupado del sistema como se indica en las marcas. El registro persiste hasta que el autor de la llamada lo cambia explícitamente con otra llamada a PoRegisterSystemState o lo cancela con una llamada a PoUnregisterSystemState.

El parámetro Flags especifica el tipo de actividad en curso. Los controladores pueden especificar cualquier combinación de las marcas.

Establecer ES_CONTINUOUS hace que el estado ocupado persista hasta que un controlador cambie o cancele explícitamente llamando a PoRegisterSystemState o PoUnregisterSystemState.

Un controlador puede establecer el estado ocupado del sistema para solicitar que el administrador de energía evite las transiciones de estado de energía del sistema fuera del estado de trabajo del sistema (S0) mientras se está produciendo la actividad del controlador. Sin embargo, tenga en cuenta que, en algunas circunstancias (como una batería críticamente baja), el administrador de energía puede invalidar esta solicitud y poner el sistema en suspensión de todos modos.

Para establecer el estado de energía del sistema, llame a PoSetSystemState.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <=APC_LEVEL

Consulte también

PoSetSystemState

PoUnregisterSystemState