Função de retorno de chamada WNDPROC (winuser.h)
Uma função de retorno de chamada, que você define em seu aplicativo, que processa mensagens enviadas para uma janela. O tipo WNDPROC define um ponteiro para essa função de retorno de chamada. O nome WndProc é um espaço reservado para o nome da função que você define em seu aplicativo.
Sintaxe
WNDPROC Wndproc;
LRESULT Wndproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
Parâmetros
unnamedParam1
Tipo: HWND
Um identificador para a janela. Esse parâmetro normalmente é chamado de hWnd.
unnamedParam2
Tipo: UINT
A mensagem. Esse parâmetro normalmente é chamado de uMsg.
Para obter listas das mensagens fornecidas pelo sistema, consulte Mensagens definidas pelo sistema.
unnamedParam3
Tipo: WPARAM
Informações adicionais da mensagem. Esse parâmetro normalmente é chamado wParam.
O conteúdo do parâmetro wParam depende do valor do parâmetro uMsg .
unnamedParam4
Tipo: LPARAM
Informações adicionais da mensagem. Esse parâmetro normalmente é chamado de lParam.
O conteúdo do parâmetro lParam depende do valor do parâmetro uMsg .
Retornar valor
Tipo: LRESULT
O valor retornado é o resultado do processamento da mensagem e depende da mensagem enviada.
Comentários
Se o aplicativo for executado em uma versão de 32 bits do sistema operacional Windows, exceções não capturadas do retorno de chamada serão passadas para manipuladores de exceção de nível superior do aplicativo quando disponíveis. Em seguida, o sistema chama o filtro de exceção sem tratamento para lidar com a exceção antes de encerrar o processo. Se o PCA estiver habilitado, ele se oferecerá para corrigir o problema na próxima vez que você executar o aplicativo.
No entanto, se o aplicativo for executado em uma versão de 64 bits do sistema operacional Windows ou WOW64, você deverá estar ciente de que um sistema operacional de 64 bits lida com exceções não capturadas de forma diferente com base em sua arquitetura de processador de 64 bits, arquitetura de exceção e convenção de chamada. A tabela a seguir resume todas as maneiras possíveis de um sistema operacional Windows de 64 bits ou WOW64 lidar com exceções não capturadas.
Tipo de comportamento | Como o sistema lida com exceções não capturadas |
---|---|
1 | O sistema suprime quaisquer exceções não capturadas. |
2 | O sistema primeiro encerra o processo e, em seguida, o PCA (Assistente de Compatibilidade de Programas) oferece para corrigi-lo na próxima vez que você executar o aplicativo. Você pode desabilitar a mitigação de PCA adicionando uma seção de compatibilidade ao manifesto do aplicativo. |
3 | O sistema chama os filtros de exceção, mas suprime quaisquer exceções não capturadas quando sai do escopo de retorno de chamada, sem invocar os manipuladores associados. |
A tabela a seguir mostra como uma versão de 64 bits do sistema operacional Windows e WOW64 manipula exceções não capturadas. Observe que o tipo de comportamento 2 se aplica somente à versão de 64 bits do sistema operacional Windows 7 e posterior.
Sistema operacional | WOW64 | Windows de 64 bits |
---|---|---|
Windows XP | 3 | 1 |
Windows Server 2003 | 3 | 1 |
Windows Vista | 3 | 1 |
Windows Vista SP1 | 1 | 1 |
Windows 7 e posterior | 1 | 2 |
Observação
No Windows 7 com SP1 (32 bits, 64 bits ou WOW64), o sistema chama o filtro de exceção sem tratamento para lidar com a exceção antes de encerrar o processo. Se o PCA (Assistente de Compatibilidade de Programas) estiver habilitado, ele se oferecerá para corrigir o problema na próxima vez que você executar o aplicativo.
Se você precisar lidar com exceções em seu aplicativo, poderá usar o tratamento de exceções estruturadas para fazer isso. Para obter mais informações sobre como usar o tratamento de exceções estruturadas, consulte Tratamento de exceção estruturada.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | winuser.h (inclua windows.h) |