DebugProc  BZER7. 

The DebugProc hook procedure is an application-defined or library-defined callback function that Windows calls before calling the hook procedures associated with any other type of hook. The system passes information about the hook to be called to the DebugProc hook procedure, which examines the information and determines whether to allow the hook to be called.

LRESULT CALLBACK DebugProc(

    int nCode,

// hook code

    WPARAM wParam,

// type of hook about to be called

    LPARAM lParam

// address of structure with debugging information

   );

 

 

Parameters

nCode

Specifies whether the hook procedure must process the message. If nCode is HC_ACTION, the hook procedure must process the message. If nCode is less than zero, the hook procedure must pass the message to the CallNextHookEx2EBDBC function without further processing and should return the value returned by CallNextHookEx.

wParam

Specifies the type of hook about to be called. This parameter can be one of the following values:

Value

Description

WH_CALLWNDPROC

Installs a hook procedure that monitors messages sent to a window procedure. For more information, see the description of the CallWndProcNEJVZE hook procedure.

WH_CALLWNDPROCRET

Installs a hook procedure that monitors messages that have just been processed by a window procedure. For more information, see the description of the CallWndRetProc4XP4XBU hook procedure.

WH_CBT

Installs a hook procedure that receives notifications useful to a computer-based training (CBT) application. For more information, see the description of the CBTProcJ9P_3K hook procedure.

WH_DEBUG

Installs a hook procedure useful for debugging other hook procedures. For more information, see the description of the DebugProc hook procedure.

WH_GETMESSAGE

Installs a hook procedure that monitors messages posted to a message queue. For more information, see the description of the GetMsgProcWLHV1N hook procedure.

WH_JOURNALPLAYBACK

Installs a hook procedure that posts messages previously recorded by a WH_JOURNALRECORD hook procedure. For more information, see the description of the JournalPlaybackProcLESNKT hook procedure.

WH_JOURNALRECORD

Installs a hook procedure that records input messages posted to the system message queue. This hook is useful for recording macros. For more information, see the description of the JournalRecordProc32HUO95 hook procedure.

WH_KEYBOARD

Installs a hook procedure that monitors keystroke messages. For more information, see the description of the KeyboardProc2QR7.CO hook procedure.

WH_MOUSE

Installs a hook procedure that monitors mouse messages. For more information, see the description of the MouseProcHQW0_A hook procedure.

WH_MSGFILTER

Installs a hook procedure that monitors messages generated as a result of an input event in a dialog box, message box, menu, or scroll bar. The hook procedure monitors these messages only for the application that installed the hook procedure. For more information, see the description of the MessageProcTN9ES3 hook procedure.

WH_SHELL

Installs a hook procedure that receives notifications useful to a shell application. For more information, see the description of the ShellProc3I9JHC5 hook procedure.

WH_SYSMSGFILTER

Installs a hook procedure that monitors messages generated as a result of an input event in a dialog box, message box, menu, or scroll bar. The hook procedure monitors these messages for all applications in the system. For more information, see the description of the SysMsgProcUCCNB hook procedure.

 

lParam

Points to a DEBUGHOOKINFO06HTOH structure that contains the parameters to be passed to the destination hook procedure.

Return Values

To prevent the system from calling the hook, the return value must be a nonzero value. Otherwise, the hook procedure must pass the hook information to the CallNextHookEx2EBDBC function.

Remarks

An application installs this hook procedure by specifying the WH_DEBUG hook type and the pointer to the hook procedure in a call to the SetWindowsHookEx function.

CallWndProc and CallWndRetProc are placeholders for the application-defined or library-defined function names.

See Also

CallNextHookEx, CallWndProc, CallWndRetProc, CBTProc, DEBUGHOOKINFO, GetMsgProc, JournalPlaybackProc, JournalRecordProc, KeyboardProc, MessageProc, MouseProc, SetWindowsHookEx, ShellProc, SysMsgProc