Страница 6 из 34 Функция CallWndProc (ВызовОконнойПроцедуры) Подключаемая процедура 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 |