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)

Confira também