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 |