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 |
---|---|
|
Identificatore del messaggio. |
wParam
Valore | Significato |
---|---|
|
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 |
|