Função PoRegisterSystemState (wdm.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:

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 Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

Confira também

PoSetSystemState

PoUnregisterSystemState