Partager via


Événement PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPEND peut être utilisé dans les systèmes d’exploitation spécifiés dans la section Configuration requise. La prise en charge de cet événement a été supprimée dans Windows Vista. Utilisez SetThreadExecutionState à la place.]

Demande l’autorisation de suspendre l’ordinateur. L’application qui accorde l’autorisation doit effectuer des préparations pour la suspension avant de retourner.

Une fenêtre reçoit cet événement via le message WM_POWERBROADCAST. Les paramètres wParam et lParam sont définis comme décrit ci-dessous.

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

Paramètres

hwnd

Handle à fenêtre.

uMsg

Valeur Signification
WM_POWERBROADCAST
536 (0x218)
Identificateur du message.

wParam

Valeur Signification
PBT_APMQUERYSUSPEND
0 (0x0)
Identificateur de l’événement.

lParam

Indicateurs d’action. Si le bit 0 est 1, l’application peut demander à l’utilisateur de donner des instructions sur la préparation de la suspension ; sinon, l’application doit se préparer sans interaction utilisateur. Toutes les autres valeurs du bit sont réservées.

Valeur retournée

Retourne TRUE pour accorder la demande de suspension. Pour refuser la demande, retourne BROADCAST_QUERY_DENY.

Notes

L’application doit traiter cet événement le plus rapidement possible. L’application peut demander à l’utilisateur de donner des instructions sur la façon de se préparer à la suspension uniquement si le bit 0 est défini dans le paramètre Flags. Toutefois, si ce message est émis parce que l’utilisateur ferme le couvercle de son ordinateur portable, il n’est pas possible de faire cette demande. Les applications doivent prendre en compte que l’utilisateur attend un certain comportement lorsqu’il ferme le couvercle de l’ordinateur portable ou appuie sur le bouton d’alimentation et doivent donc permettre que la transition réussisse.

Le système accorde environ 20 secondes aux applications pour supprimer le message WM_POWERBROADCAST qui envoie l’événement PBT_APMQUERYSUSPEND de leur file d’attente de messages. Si une application ne supprime pas le message de sa file d’attente en moins de 20 secondes, le système part du principe qu’elle est dans un état non réactif et qu’elle accepte la demande de veille. Les applications qui ne traitent pas leur file d’attente de messages peuvent voir leurs opérations interrompues. Une fois que l’application supprime le message de la file d’attente de messages, elle peut prendre autant de temps qu’il le faut pour effectuer les opérations requises avant d’entrer en état de veille. Toutes les opérations susceptibles de prendre plus de 20 secondes doivent être effectuées à ce moment-là, car le système accorde seulement 20 secondes pour effectuer les opérations pendant le traitement de PBT_APMSUSPEND.

Spécifications

Condition requise Value
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
Fin du support client
Windows XP
Fin de la prise en charge du serveur
Windows Server 2003
En-tête
WinUser.h (inclus dans Windows.h)

Voir aussi