evento PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPEND è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Il supporto per questo evento è stato rimosso in Windows Vista. Usare invece SetThreadExecutionState.

Richiede l'autorizzazione per sospendere il computer. Un'applicazione che concede l'autorizzazione deve eseguire preparativi per la sospensione prima della restituzione.

Una finestra riceve questo evento tramite il messaggio di WM_POWERBROADCAST . I parametri wParam e lParam vengono impostati come descritto di seguito.

LRESULT 
CALLBACK 
WindowProc( HWND   hwnd,    // handle to window
            UINT   uMsg,    // WM_POWERBROADCAST
            WPARAM wParam,  // PBT_APMQUERYSUSPEND
            LPARAM lParam); // action flags

Parametri

hwnd

Handle per la finestra.

Umsg

Valore Significato
WM_POWERBROADCAST
536 (0x218)
Identificatore del messaggio.

wParam

Valore Significato
PBT_APMQUERYSUSPEND
0 (0x0)
Identificatore dell'evento.

lParam

Flag di azione. Se bit 0 è 1, l'applicazione può richiedere all'utente indicazioni su come prepararsi per la sospensione; in caso contrario, l'applicazione deve prepararsi senza l'interazione dell'utente. Tutti gli altri valori di bit sono riservati.

Valore restituito

Restituisce TRUE per concedere la richiesta di sospensione. Per negare la richiesta, restituire BROADCAST_QUERY_DENY.

Osservazioni:

Un'applicazione deve elaborare questo evento il più rapidamente possibile. L'applicazione può richiedere istruzioni su come prepararsi per la sospensione solo se è impostato il bit 0 nel parametro Flags . Tuttavia, se questo messaggio viene emesso perché l'utente sta chiudendo il coperchio del portatile, non sarà possibile richiedere all'utente. Le applicazioni devono rispettare che l'utente si aspetta un determinato comportamento quando chiude il coperchio del portatile o preme il pulsante di alimentazione e consente la transizione per avere esito positivo.

Il sistema consente circa 20 secondi per un'applicazione di rimuovere il messaggio WM_POWERBROADCAST che invia l'evento PBT_APMQUERYSUSPEND dalla coda di messaggi dell'applicazione. Se un'applicazione non rimuove il messaggio dalla coda in meno di 20 secondi, il sistema presuppone che l'applicazione sia in uno stato non reattivo e che l'applicazione accetti la richiesta di sospensione. Le applicazioni che non elaborano le code di messaggi potrebbero aver interrotto le operazioni. Dopo aver rimosso il messaggio dalla coda dei messaggi, un'applicazione può richiedere il tempo necessario per eseguire le operazioni necessarie prima di entrare nello stato di sospensione. Tutte le operazioni che potrebbero richiedere più di 20 secondi devono essere eseguite in questo momento, poiché il sistema consente solo 20 secondi per il completamento delle operazioni durante l'elaborazione PBT_APMSUSPEND .

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Fine del supporto client
Windows XP
Supporto della fine del server
Windows Server 2003
Intestazione
WinUser.h (include Windows.h)

Vedi anche