Функция DebugProc
Определяемая приложением или библиотекой функция обратного вызова, используемая с функцией SetWindowsHookExA/SetWindowsHookExW . Система вызывает эту функцию перед вызовом процедур перехватчика, связанных с любым типом перехватчика. Система передает сведения о перехватчике для вызова в процедуру перехватчика DebugProc , которая проверяет сведения и определяет, следует ли вызывать перехватчик.
Тип HOOKPROC определяет указатель на эту функцию обратного вызова. DebugProc — это заполнитель для имени функции, определяемой приложением или библиотекой.
Синтаксис
LRESULT CALLBACK DebugProc(
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
Параметры
nCode [in]
Тип: intУказывает, должна ли процедура перехватчика обрабатывать сообщение. Если nCode имеет значение HC_ACTION, процедура перехватчика должна обработать сообщение. Если значение nCode меньше нуля, процедура перехватчика должна передать сообщение функции CallNextHookEx без дальнейшей обработки и возвращать значение, возвращаемое CallNextHookEx.
wParam [in]
Тип: WPARAMТип перехватчика, который будет вызываться. Этот параметр может принимать одно из указанных ниже значений.
Значение Значение WH_CALLWNDPROC 4 Устанавливает процедуру перехватчика, которая отслеживает сообщения, отправляемые в процедуру окна. Дополнительные сведения см. в описании процедуры перехватчика [*CallWndProc*](callwndproc.md).
WH_CALLWNDPROCRET 12 Устанавливает процедуру перехватчика, которая отслеживает сообщения, которые только что были обработаны процедурой окна. Дополнительные сведения см. в описании процедуры перехватчика CallWndRetProc .
WH_CBT 5 Устанавливает процедуру перехватчика, которая получает уведомления, полезные для приложения CBT. Дополнительные сведения см. в описании процедуры перехватчика [**CBTProc**](cbtproc.md).
WH_DEBUG 9 Устанавливает процедуру перехватчика, полезную для отладки других процедур перехватчика. Дополнительные сведения см. в описании процедуры перехватчика DebugProc .
WH_GETMESSAGE 3 Устанавливает процедуру перехватчика, которая отслеживает сообщения, опубликованные в очередь сообщений. Дополнительные сведения см. в описании процедуры перехватчикаGetMsgProc .
WH_JOURNALPLAYBACK 1 Устанавливает процедуру перехватчика, которая публикует сообщения, ранее записанные WH_JOURNALRECORD процедурой перехватчика. Дополнительные сведения см. в описании процедуры перехватчика JournalPlaybackProc .
WH_JOURNALRECORD 0 Устанавливает процедуру перехватчика, которая записывает входные сообщения, опубликованные в системной очереди сообщений. Этот обработчик полезен для записи макросов. Дополнительные сведения см. в описании процедуры перехватчика JournalRecordProc .
WH_KEYBOARD 2 Устанавливает процедуру перехватчика, которая отслеживает сообщения о нажатии клавиш. Дополнительные сведения см. в описании процедуры перехватчика KeyboardProc .
WH_MOUSE 7 Устанавливает процедуру перехватчика, которая отслеживает сообщения мыши. Дополнительные сведения см. в описании процедуры перехватчика [*MouseProc*](mouseproc.md).
WH_MSGFILTER -1 Устанавливает процедуру перехватчика, которая отслеживает сообщения, созданные в результате события ввода в диалоговом окне, окне сообщения, меню или полосе прокрутки. Процедура перехватчика отслеживает эти сообщения только для приложения, которое установило процедуру перехватчика. Дополнительные сведения см. в процедуре перехватчика [*MessageProc*](messageproc.md).
WH_SHELL 10 Устанавливает процедуру перехватчика, которая получает уведомления, полезные для приложения оболочки. Дополнительные сведения см. в описании процедуры перехватчика [*ShellProc*](shellproc.md) и в разделе WH_SHELL перехватчика.
WH_SYSMSGFILTER 6 Устанавливает процедуру перехватчика, которая отслеживает сообщения, созданные в результате события ввода в диалоговом окне, окне сообщения, меню или полосе прокрутки. Процедура перехватчика отслеживает эти сообщения для всех приложений в системе. Дополнительные сведения см. в описании процедуры перехватчика [*SysMsgProc*](sysmsgproc.md).
lParam [in]
Тип: LPARAMУказатель на структуру DEBUGHOOKINFO , содержащую параметры, передаваемые в процедуру целевого перехватчика.
Возвращаемое значение
Тип:****
Тип: LRESULT
Чтобы предотвратить вызов перехватчика системой, процедура перехватчика должна возвращать ненулевое значение. В противном случае процедура перехватчика должна вызвать CallNextHookEx.
Комментарии
Приложение устанавливает эту процедуру перехватчика, указывая тип перехватчика WH_DEBUG и указатель на процедуру перехватчика в вызове функции SetWindowsHookExASetWindowsHookExA /SetWindowsHookExW.
Требования
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h) См. также раздел