Condividi tramite


Funzione PoRegisterSystemState (ntifs.h)

La routine PoRegisterSystemState registra il sistema come occupato a causa di determinate attività.

Sintassi

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

Parametri

[in, out] StateHandle

Puntatore a un buffer fornito dal chiamante per un handle di stato di registrazione. Le dimensioni, in byte, del buffer sono sizeof(ULONG). Se NULL, si tratta di una nuova registrazione. Se non NULL, questo parametro punta a un handle restituito da una chiamata precedente a PoRegisterSystemState.

[in] Flags

Indica il tipo di attività, come specificato da un OR bit per bit di uno o più dei valori seguenti:

Valore Significato
ES_SYSTEM_REQUIRED Il sistema non è inattiva, indipendentemente dal carico apparente.
ES_DISPLAY_REQUIRED L'uso dello schermo è obbligatorio.
ES_USER_PRESENT È presente un utente.
ES_CONTINUOUS Le impostazioni sono continue e devono rimanere attive fino a quando non vengono modificate in modo esplicito.

Valore restituito

PoRegisterSystemState restituisce un handle da usare in un secondo momento per modificare o annullare la registrazione dello stato occupato del sistema. Restituisce NULL se non è stato possibile allocare l'handle.

Osservazioni

PoRegisterSystemState registra lo stato occupato del sistema come indicato dai flag. La registrazione persiste finché il chiamante non lo modifica in modo esplicito con un'altra chiamata a PoRegisterSystemState o lo annulla con una chiamata a PoUnregisterSystemState.

Il parametro flag specifica il tipo di attività in corso. I driver possono specificare qualsiasi combinazione dei flag.

L'impostazione di ES_CONTINUOUS rende persistente lo stato occupato finché un driver non viene modificato o annullato in modo esplicito chiamando PoRegisterSystemState o PoUnregisterSystemState.

Un driver può impostare lo stato occupato del sistema per richiedere che il risparmio energia evitare transizioni di stato di alimentazione del sistema dallo stato di lavoro del sistema (S0) mentre si verifica l'attività del driver. Si noti, tuttavia, che in alcune circostanze ,ad esempio una batteria criticamente scarica, il gestore dell'alimentazione può eseguire l'override di questa richiesta e mettere il sistema a dormire comunque.

Per impostare lo stato di alimentazione del sistema, chiamare PoSetSystemState.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000
piattaforma di destinazione Universale
intestazione ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL <=APC_LEVEL

Vedere anche

PoSetSystemState

PoUnregisterSystemState