Функция обратного вызова CallWndProc

Определяемая приложением или библиотекой функция обратного вызова, используемая с функцией SetWindowsHookExA/SetWindowsHookExW . Система вызывает эту функцию перед вызовом процедуры окна для обработки сообщения, отправленного в поток.

Тип HOOKPROC определяет указатель на эту функцию обратного вызова. CallWndProc — это заполнитель для имени определяемой приложением или библиотекой функции.

Синтаксис

LRESULT CALLBACK CallWndProc(
  _In_ int    nCode,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

Параметры

  • nCode [in]
    Тип: int

    Указывает, должна ли процедура перехватчика обрабатывать сообщение. Если nCodeимеет HC_ACTION, процедура перехватчика должна обработать сообщение. Если значение nCode меньше нуля, процедура перехватчика должна передать сообщение функции CallNextHookEx без дальнейшей обработки и вернуть значение, возвращаемое CallNextHookEx.

  • wParam [in]
    Тип: WPARAM

    Указывает, было ли сообщение отправлено текущим потоком. Если сообщение было отправлено текущим потоком, оно не равно нулю; в противном случае значение равно нулю.

  • lParam [in]
    Тип: LPARAM

    Указатель на структуру CWPSTRUCT , содержащую сведения о сообщении.

Возвращаемое значение

Тип:****

Тип: LRESULT

Если значение nCode меньше нуля, процедура перехватчика должна возвращать значение, возвращаемое CallNextHookEx.

Если значение nCode больше или равно нулю, настоятельно рекомендуется вызвать CallNextHookEx и вернуть возвращаемое значение. В противном случае другие приложения, которые установили WH_CALLWNDPROC перехватчики, не будут получать уведомления о перехватчиках и могут работать неправильно. Если процедура перехватчика не вызывает CallNextHookEx, возвращаемое значение должно быть равно нулю.

Комментарии

Процедура перехватчика CallWndProc может проверить сообщение, но не может изменить его. После того как процедура перехватчика возвращает управление в систему, сообщение передается в процедуру окна.

Приложение устанавливает процедуру перехватчика, указывая тип перехватчика WH_CALLWNDPROC и указатель на процедуру перехватчика в вызове функции SetWindowsHookExASetWindowsHookExW/.

Требования

Минимальная версия клиента

Windows 2000 Professional [только классические приложения]

Минимальная версия сервера

Windows 2000 Server [только классические приложения]

Заголовок

Winuser.h (включая Windows.h)

См. также раздел

CallNextHookEx

CWPSTRUCT

SendMessage

SetWindowsHookExA/SetWindowsHookExW

Обработчики