Evento PBT_APMQUERYSUSPEND
PBT_APMQUERYSUSPEND está disponível para uso nos sistemas operacionais especificados na seção Requisitos. O suporte para esse evento foi removido no Windows Vista. Em vez disso, use SetThreadExecutionState.]
Solicita permissão para suspender o computador. Um aplicativo que concede permissão deve realizar preparações para a suspensão antes de retornar.
Uma janela recebe esse evento por meio da mensagem WM_POWERBROADCAST. Os parâmetros wParam e lParam são definidos conforme descrito a seguir.
LRESULT
CALLBACK
WindowProc( HWND hwnd, // handle to window
UINT uMsg, // WM_POWERBROADCAST
WPARAM wParam, // PBT_APMQUERYSUSPEND
LPARAM lParam); // action flags
Parâmetros
hwnd
Uma alça para a janela.
uMsg
Valor | Significado |
---|---|
|
Identificador de mensagem. |
wParam
Valor | Significado |
---|---|
|
Identificador de evento. |
lParam
Os sinalizadores de ação. Se o bit 0 for 1, o aplicativo poderá solicitar ao usuário instruções sobre como se preparar para a suspensão; caso contrário, o aplicativo deverá se preparar sem a interação do usuário. Todos os outros valores de bits são reservados.
Valor retornado
Retorna TRUE para conceder a solicitação de suspensão. Para negar a solicitação, retorne BROADCAST_QUERY_DENY.
Comentários
Um aplicativo deve processar esse evento o mais rápido possível. O aplicativo pode solicitar ao usuário instruções sobre como se preparar para a suspensão somente se o bit 0 no parâmetro Flags estiver definido. No entanto, se essa mensagem for emitida porque o usuário está fechando a tampa do laptop, não será possível avisar o usuário. Os aplicativos devem respeitar o fato de que o usuário espera um determinado comportamento quando fecha a tampa do laptop ou pressiona o botão liga/desliga e permitir que a transição seja bem-sucedida.
O sistema permite aproximadamente 20 segundos para que um aplicativo remova a mensagem WM_POWERBROADCAST que está enviando o evento PBT_APMQUERYSUSPEND a partir da fila de mensagens do aplicativo. Se um aplicativo não remover a mensagem da fila em menos de 20 segundos, o sistema presumirá que o aplicativo está em um estado não responsivo e que ele concorda com a solicitação de suspensão. Os aplicativos que não processam suas filas de mensagens podem ter suas operações interrompidas. Depois de remover a mensagem da fila de mensagens, um aplicativo pode levar o tempo que for necessário para executar as operações necessárias antes de entrar no estado de suspensão. Todas as operações que possam levar mais de 20 segundos devem ser executadas nesse momento, pois o sistema permite que apenas 20 segundos para as operações sejam concluídas durante o processamento de PBT_APMSUSPEND.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2003 [somente aplicativos da área de trabalho] |
Fim do suporte ao cliente |
Windows XP |
Encerramento do suporte ao servidor |
Windows Server 2003 |
Cabeçalho |
|