(ВызовОконнойПроцедуры)
Подключаемая процедура CallWndProc -это определяемая программой или определенная библиотекой функция повторного вызова, которую система вызывает всякий раз, когда вызывается функция SendMessage. Перед передачей сообщения в целевую оконную процедуру, система передает сообщение в фильтр - процедуру. Подключаемая процедура может исследовать сообщение; она не может изменить его.
CallWndProc - метка - заместитель для определяемого программой или определенного библиотекой имени функции.
Синтаксис
LRESULT CALLBACK CallWndProc ( int nCode, // код hook-точки WPARAM wParam, // флажок текущей обработки LPARAM lParam // адрес структуры с данными сообщения );
Параметры
nCode
Определяет должна ли подключаемая процедура обрабатывать сообщение. Если nCode - HC_ACTION, фильтр - процедура должна обработать сообщение. Если nCode - меньше чем нуль, подключаемая процедура должна передать сообщение в функцию CallNextHookEx без дальнейшей обработки и должна возвратить значение, возвращенное CallNextHookEx.
wParam
Определяет, не отправлено ли сообщение текущим процессом. Если сообщение посылается текущим процессом, оно отлично от нуля; иначе, оно значение ПУСТО (NULL).
lParam
Указатель на структуру CWPSTRUCT, которая содержит подробности о сообщении.
Возвращаемые значения
Величина возвращаемого значения должна быть нуль.
Замечания
Подключаемая процедура CallWndProc может исследовать сообщение, но она не может изменить его. После того как фильтр - процедура возвратит управление системе, сообщение передается в оконную процедуру.
Прикладная программа устанавливает подключаемую процедуру, определяя тип hook-точки WH_CALLWNDPROC и адрес фильтр - процедуры при вызове функции SetWindowsHookEx.
Hook-точка WM_CALLWNDPROC вызывается в контексте потока, который вызывает SendMessage, а не потока, который принимает сообщение.
Смотри также
CallNextHookEx, CWPSTRUCT, SendMessage, SetWindowsHookEx
Размещение и совместимость CallWndProc
Windows NT Да Win95 Да Win32s Да Импортируемая библиотека Определенная пользователем Заголовочный файл winuser.h Unicode Нет Замечания по платформе HOOKPROC