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 |