Функция 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)

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

    CallNextHookEx

    CallWndProc

    CallWndRetProc

    CBTProc

    DEBUGHOOKINFO

    GetMsgProc

    JournalPlaybackProc

    JournalRecordProc

    KeyboardProc

    MessageProc

    MouseProc

    SetWindowsHookExA/SetWindowsHookExW

    ShellProc

    SysMsgProc

    Обработчики