Страница 9 из 34
Функция DebugProc (ПроцедураОтладки) Подключаемая процедура DebugProc - определяемая программой или определенная библиотекой функция повторного вызова, к которой Windows обращается перед вызовом фильтр - процедур, связанных с любым другим типом hook-точки. Система передает информацию о hook-точке, которая будет вызвана, подключаемой процедуре DebugProc, которая исследует эту информацию и решает, позволить ли hook-точке быть вызванной. Синтаксис LRESULT CALLBACK DebugProc ( int nCode,// код hook-точки WPARAM wParam,// тип hook-точки,собирающейся быть вызванной LPARAM lParam// адрес структуры с информацией об отладке );
Параметры nCode Определяет, должна ли подключаемая процедура обрабатывать сообщение. Если nCode - HC_ACTION, фильтр - процедура должна обработать сообщение. Если nCode - меньше чем нуль, подключаемая процедура должна передать сообщение в функцию CallNextHookEx без дальнейшей обработки и должна возвратить значение, возвращенное CallNextHookEx. wParam Определяет тип hook-точки, собирающейся быть вызванной. Этот параметр может быть одним из следующих значений: - WH_CALLWNDPROC - Устанавливает подключаемую процедуру, которая отслеживает сообщения, отправленные оконной процедуре. Для получения дополнительной информации, см. описание фильтр - процедуры CallWndProc.
- WH_CALLWNDPROCRET - Устанавливает подключаемую процедуру, которая отслеживает сообщения, которые только что были обработаны оконной процедурой. Для получения дополнительной информации, см. описание фильтр - процедуры CallWndRetProc.
- WH_CBT - Устанавливает подключаемую процедуру, которая принимает уведомления, полезные для машинной подготовки (CBT) прикладной программы. Для получения дополнительной информации, см. описание подключаемой процедуры CBTProc.
- WH_DEBUG - Устанавливает фильтр - процедуру, полезную для отладки других подключаемых процедур. Для получения дополнительной информации, см. описание подключаемой процедуры DebugProc.
- WH_GETMESSAGE - Устанавливает подключаемую процедуру, которая отслеживает сообщения, задержанные в очереди сообщений. Для получения дополнительной информации, см. описание фильтр - процедуры GetMsgProc.
- WH_JOURNALPLAYBACK - Устанавливает подключаемую процедуру, которая регистрирует сообщения, предварительно записанные фильтр - процедурой WH_JOURNALRECORD. Для получения дополнительной информации, см. описание подключаемой процедуры JournalPlaybackProc.
- WH_JOURNALRECORD - Устанавливает подключаемую процедуру, которая заносит в список входящие сообщения, зарегистрированные в системной очереди сообщений. Эта hook-точка полезна для записи макрокоманд. Для получения дополнительной информации, см. описание подключаемой процедуры JournalRecordProc.
- WH_KEYBOARD - Устанавливает подключаемую процедуру, которая отслеживает сообщения о нажатиях клавиш. Для получения дополнительной информации, см. описание фильтр - процедуры KeyboardProc.
- WH_MOUSE - Устанавливает подключаемую процедуру, которая отслеживает сообщения мыши. Для получения дополнительной информации, см. описание фильтр - процедуры MouseProc.
- WH_MSGFILTER - Устанавливает подключаемую процедуру, которая отслеживает сообщения, сгенерированные в результате события ввода данных в диалоговом окне, окне сообщений, меню или в линейке прокрутки. Фильтр - процедура отслеживает эти сообщения только для прикладной программы, которая установила подключаемую процедуру. Для получения дополнительной информации, см. описание фильтр - процедуры MessageProc.
- WH_SHELL - Устанавливает подключаемую процедуру, которая принимает уведомление полезное для оболочки прикладной программы. Для получения дополнительной информации, см. описание фильтр - процедуры ShellProc.
- WH_SYSMSGFILTER - Устанавливает подключаемую процедуру, которая отслеживает сообщения, сгенерированные в результате события ввода данных в блоке диалога, окне сообщений, меню, или линейке прокрутки. Подключаемая процедура контролирует эти сообщения для всех прикладных программ в системе. Для получения дополнительной информации, см. описание подключаемой процедуры SysMsgProc.
lParam Указывает на структуру DEBUGHOOKINFO, которая содержит параметры для передачи в подключаемую процедуру назначения. Возвращаемые значения Чтобы предохранить систему от вызова hook-точки, величина возвращаемого значения должна быть значением отличным от нуля. Иначе, подключаемая процедура должна передать информацию hook-точки в функцию CallNextHookEx. Замечания Прикладная программа устанавливает эту подключаемую процедуру, при помощи определения типа hook-точки как WH_DEBUG и указателя на фильтр - процедуру при вызове функции SetWindowsHookEx. CallWndProc и CallWndRetProc - метки - заместители для определяемых программой или определенных библиотекой имен функции. Смотри также CallNextHookEx, CallWndProc, CallWndRetProc, CBTProc, DEBUGHOOKINFO, GetMsgProc, JournalPlaybackProc, JournalRecordProc, KeyboardProc, MessageProc, MouseProc, SetWindowsHookEx, ShellProc, SysMsgProc Размещение и совместимость DebugProc Windows NTДа Win95Нет Win32sНет Импортируемая библиотекаОпределенная пользователем Заголовочный файлwinuser.h UnicodeНет Замечания по платформеHOOKPROC
|