Função PoRegisterSystemState (ntifs.h)

A rotina PoRegisterSystemState registra o sistema como ocupado devido a determinada atividade.

Sintaxe

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

Parâmetros

[in, out] StateHandle

Um ponteiro para um buffer fornecido pelo chamador para um identificador de estado de registro. O tamanho, em bytes, do buffer é sizeof(ULONG). Se FOR NULL, esse será um novo registro. Se não for NULL, esse parâmetro apontará para um identificador que foi retornado por uma chamada anterior para PoRegisterSystemState.

[in] Flags

Indica o tipo de atividade, conforme especificado por um OR bit a bit de um ou mais dos seguintes valores:

Valor Significado
ES_SYSTEM_REQUIRED O sistema não está ocioso, independentemente da carga aparente.
ES_DISPLAY_REQUIRED O uso da exibição é necessário.
ES_USER_PRESENT Um usuário está presente.
ES_CONTINUOUS As configurações são contínuas e devem permanecer em vigor até serem alteradas explicitamente.

Retornar valor

PoRegisterSystemState retorna um identificador a ser usado posteriormente para alterar ou cancelar o registro do estado ocupado do sistema. Ele retornará NULL se o identificador não puder ser alocado.

Comentários

PoRegisterSystemState registra o estado ocupado do sistema conforme indicado pelos sinalizadores. O registro persiste até que o chamador o altere explicitamente com outra chamada para PoRegisterSystemState ou cancele-o com uma chamada para PoUnregisterSystemState.

O parâmetro Flags especifica o tipo de atividade em andamento. Os drivers podem especificar qualquer combinação dos sinalizadores.

Definir ES_CONTINUOUS faz com que o estado ocupado persista até que um driver o altere ou cancele explicitamente chamando PoRegisterSystemState ou PoUnregisterSystemState.

Um driver pode definir o estado ocupado do sistema para solicitar que o power manager evite a transição do estado de energia do sistema para fora do estado de trabalho do sistema (S0) enquanto a atividade do driver está ocorrendo. Observe, no entanto, que em algumas circunstâncias (como uma bateria criticamente baixa), o gerenciador de energia pode substituir essa solicitação e colocar o sistema em suspensão de qualquer maneira.

Para definir o estado de energia do sistema, chame PoSetSystemState.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclui Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

Confira também

PoSetSystemState

PoUnregisterSystemState