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 È necessario usare lo schermo.
ES_USER_PRESENT È presente un utente.
ES_CONTINUOUS Le impostazioni sono continue e devono rimanere effettive finché 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 dal sistema. Restituisce NULL se non è stato possibile allocare l'handle.

Commenti

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 la annulla con una chiamata a PoUnregisterSystemState.

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

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

Un driver può impostare lo stato occupato del sistema per richiedere che il power manager evitare transizioni dello stato di alimentazione del sistema fuori dallo stato di lavoro del sistema (S0) mentre si sta verificando l'attività del driver. Si noti, tuttavia, che in alcune circostanze (ad esempio una batteria criticamente bassa) il gestore energia può eseguire l'override di questa richiesta e mettere il sistema in sospensione comunque.

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

Requisiti

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

Vedi anche

PoSetSystemState

PoUnregisterSystemState