Condividi tramite


Funzione PoSetSystemWake (wdm.h)

La routine PoSetSystemWake contrassegna l'IRP specificato come uno che ha contribuito a riattivare il sistema da uno stato di sospensione.

Sintassi

void PoSetSystemWake(
  [in, out] PIRP Irp
);

Parametri

[in, out] Irp

Puntatore all'IRP di attesa/riattivazione.

Valore restituito

nessuno

Osservazioni

I driver chiamano PoSetSystemWake per contrassegnare un IRP_MN_WAIT_WAKE IRP per contribuire alla riattivazione del sistema da uno stato di sospensione. Per impostazione predefinita, i runtime di integrazione di attesa/riattivazione vengono considerati irP di riattivazione del dispositivo. È responsabilità del dispositivo terminale in una catena di attesa/riattivazione determinare se si è svegliato il sistema e chiamare PoSetSystemWake per l'IRP di attesa/riattivazione del terminale. Quando un driver chiama PoSetSystemWake su un IRP, viene contrassegnato come aver contribuito a riattivare il sistema da uno stato di sospensione. Un solo driver in uno stack deve chiamare questa routine e normalmente deve essere il driver dell'autobus in uno stack di driver.

Tutti gli altri driver in una catena di attesa/riattivazione possono chiamare PoGetSystemWake per i propri IRP di attesa/riattivazione al completamento per determinare se devono chiamare PoSetSystemWake su eventuali irP di attesa/riattivazione figlio che stanno per essere completati. Ciò garantisce che le informazioni di riattivazione del sistema progredisca correttamente in tutta la catena di attesa/riattivazione.

Al termine di un IRP di attesa/riattivazione, il risparmio energia controlla se l'IRP è contrassegnato come IRP di riattivazione del sistema. Se l'IRP è contrassegnato come IRP di riattivazione del sistema, il risparmio energia aggiunge l'IRP a un elenco interno dei dispositivi che hanno svegliato il sistema. Tuttavia, il risparmio energia tiene traccia solo dei dispositivi più specifici che funzionano con il sistema. Ad esempio, se il dispositivo A viene aggiunto come dispositivo che ha svegliato il sistema e quindi il dispositivo B, figlio del dispositivo A, viene aggiunto anche, il risparmio energia mantiene solo il dispositivo B nell'elenco perché il dispositivo B è il più specifico. Se il risparmio energia non è in grado di determinare il dispositivo più specifico che ha svegliato il sistema, il risparmio energia potrebbe tenere traccia di più di un dispositivo che ha segnalato che si è svegliato il sistema.

Il risparmio energia registra un evento ETW (Event Tracing for Windows) (visualizzabile nel canale di sistema globale) che include informazioni sui dispositivi che si sono svegliati nel sistema.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Vista.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

PoGetSystemWake