Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция обратного вызова, определяемая в приложении, которая обрабатывает сообщения, отправленные в окно. Тип WNDPROC определяет указатель на эту функцию обратного вызова. Имя WndProc — это заполнитель для имени функции, определенной в приложении.
Синтаксис
WNDPROC Wndproc;
LRESULT Wndproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
Параметры
unnamedParam1
Тип: HWND
Дескриптор окна. Обычно этот параметр называется hWnd.
unnamedParam2
Тип: UINT
Сообщение. Обычно этот параметр называется uMsg.
Список системных сообщений см. в разделе " Системные сообщения".
unnamedParam3
Тип: WPARAM
Дополнительные сведения о сообщении. Обычно этот параметр называется wParam.
Содержимое параметра wParam зависит от значения параметра uMsg .
unnamedParam4
Тип: LPARAM
Дополнительные сведения о сообщении. Обычно этот параметр называется lParam.
Содержимое параметра lParam зависит от значения параметра uMsg .
Возвращаемое значение
Тип: LRESULT
Возвращаемое значение является результатом обработки сообщений и зависит от отправленного сообщения.
Замечания
Замечание
Параметры определяются в заголовке без имен: typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
Поэтому блок синтаксиса перечисляет их как unnamedParam1
- unnamedParam4
. Вы можете присвоить этим параметрам любое имя в приложении. Однако они обычно называются как показано в описаниях параметров. Шаблоны проектов Visual Studio будут использовать эти имена (или что-то подобное в зависимости от шаблона).
Если приложение выполняется в 32-разрядной версии операционной системы Windows, неуловимые исключения из обратного вызова будут переданы в обработчики исключений более высокого уровня приложения при наличии. Затем система вызывает необработанные фильтры исключений для обработки исключения до завершения процесса. Если pcA включен, оно предложит устранить проблему при следующем запуске приложения.
Однако если приложение выполняется в 64-разрядной версии операционной системы Windows или WOW64, следует учитывать, что 64-разрядная операционная система обрабатывает неописуемые исключения по-разному на основе архитектуры 64-разрядного процессора, архитектуры исключений и соглашения о вызовах. В следующей таблице приведены все возможные способы, которые 64-разрядная операционная система Windows или WOW64 обрабатывает неуловимые исключения.
Тип поведения | Как система обрабатывает неуловимые исключения |
---|---|
1 | Система подавляет все неуловимые исключения. |
2 | Система сначала завершает процесс, а затем помощник по совместимости программ (PCA) предлагает исправить его при следующем запуске приложения. Вы можете отключить устранение рисков PCA, добавив раздел совместимости в манифест приложения. |
3 | Система вызывает фильтры исключений, но подавляет все неуправляемые исключения при выходе из области обратного вызова без вызова связанных обработчиков. |
В следующей таблице показано, как 64-разрядная версия операционной системы Windows и WOW64 обрабатывает неуловимые исключения. Обратите внимание, что тип поведения 2 применяется только к 64-разрядной версии операционной системы Windows 7 и более поздних версий.
Операционная система | WOW64 | 64-разрядная версия Windows |
---|---|---|
Windows XP | 3 | 1 |
Windows Server 2003 | 3 | 1 |
Windows Vista | 3 | 1 |
Windows Vista с пакетом обновления 1 (SP1) | 1 | 1 |
Windows 7 и более поздних версий | 1 | 2 |
Замечание
В Windows 7 с пакетом обновления 1 (SP1) (32-разрядная, 64-разрядная или WOW64) система вызывает необработанные фильтры исключений для обработки исключения до завершения процесса. Если включен помощник по совместимости программ (PCA), он предложит устранить проблему при следующем запуске приложения.
Если вам нужно обрабатывать исключения в приложении, для этого можно использовать структурированную обработку исключений. Дополнительные сведения об использовании структурированной обработки исключений см. в разделе "Структурированная обработка исключений".
Требования
Требование | Ценность |
---|---|
Минимальный поддерживаемый клиент | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
Header | winuser.h (include windows.h) |