DebugProc-Funktion
Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookExA-Funktion/SetWindowsHookExW verwendet wird. Das System ruft diese Funktion auf, bevor die Hookprozeduren aufgerufen werden, die einem beliebigen Hooktyp zugeordnet sind. Das System übergibt Informationen über den hook, der aufgerufen werden soll, an die DebugProc-Hookprozedur , die die Informationen untersucht und bestimmt, ob der Hook aufgerufen werden kann.
Der HOOKPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. DebugProc ist ein Platzhalter für den anwendungsdefinierte oder bibliotheksdefinierte Funktionsnamen.
Syntax
LRESULT CALLBACK DebugProc(
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
Parameter
nCode [in]
Typ: intGibt an, ob die Hookprozedur die Nachricht verarbeiten muss. Wenn nCode HC_ACTION ist, muss die Hookprozedur die Nachricht verarbeiten. Wenn nCode kleiner als null ist, muss die Hookprozedur die Nachricht ohne weitere Verarbeitung an die CallNextHookEx-Funktion übergeben und den von CallNextHookEx zurückgegebenen Wert zurückgeben.
wParam [in]
Typ: WPARAMDer Typ des Hooks, der aufgerufen werden soll. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert Bedeutung WH_CALLWNDPROC 4 Installiert eine Hookprozedur, die nachrichten überwacht, die an eine Fensterprozedur gesendet werden. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur [*CallWndProc*](callwndproc.md).
WH_CALLWNDPROCRET 12 Installiert eine Hookprozedur, die Nachrichten überwacht, die gerade von einer Fensterprozedur verarbeitet wurden. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur CallWndRetProc .
WH_CBT 5 Installiert eine Hookprozedur, die Benachrichtigungen empfängt, die für eine CBT-Anwendung nützlich sind. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur [**CBTProc**](cbtproc.md).
WH_DEBUG 9 Installiert eine Hookprozedur, die zum Debuggen anderer Hookprozeduren nützlich ist. Weitere Informationen finden Sie in der Beschreibung der DebugProc-Hookprozedur .
WH_GETMESSAGE 3 Installiert eine Hookprozedur, die Nachrichten überwacht, die an eine Nachrichtenwarteschlange gesendet werden. Weitere Informationen finden Sie in der Beschreibung derHookprozedur GetMsgProc .
WH_JOURNALPLAYBACK 1 Installiert eine Hookprozedur, die zuvor von einer WH_JOURNALRECORD Hookprozedur aufgezeichnete Nachrichten veröffentlicht. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur JournalPlaybackProc .
WH_JOURNALRECORD 0 Installiert eine Hookprozedur, die Eingabenachrichten aufzeichnet, die an die Systemnachrichtenwarteschlange gesendet werden. Dieser Hook ist nützlich für die Aufzeichnung von Makros. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur JournalRecordProc .
WH_KEYBOARD 2 Installiert eine Hookprozedur, die Tastatureingabemeldungen überwacht. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur KeyboardProc .
WH_MOUSE 7 Installiert eine Hookprozedur, die Mausnachrichten überwacht. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur [*MouseProc*](mouseproc.md).
WH_MSGFILTER -1 Installiert eine Hookprozedur, die nachrichten überwacht, die als Ergebnis eines Eingabeereignisses in einem Dialogfeld, Meldungsfeld, Menü oder Einer Bildlaufleiste generiert werden. Die Hookprozedur überwacht diese Meldungen nur für die Anwendung, die die Hookprozedur installiert hat. Weitere Informationen finden Sie in der Hookprozedur [*MessageProc*](messageproc.md).
WH_SHELL 10 Installiert eine Hookprozedur, die Benachrichtigungen empfängt, die für eine Shellanwendung nützlich sind. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur [*ShellProc*](shellproc.md) und im Abschnitt WH_SHELL Hook.
WH_SYSMSGFILTER 6 Installiert eine Hookprozedur, die nachrichten überwacht, die als Ergebnis eines Eingabeereignisses in einem Dialogfeld, Meldungsfeld, Menü oder Einer Bildlaufleiste generiert werden. Die Hookprozedur überwacht diese Meldungen für alle Anwendungen im System. Weitere Informationen finden Sie in der Beschreibung der Hookprozedur [*SysMsgProc*](sysmsgproc.md).
lParam [in]
Typ: LPARAMEin Zeiger auf eine DEBUGHOOKINFO-Struktur , die die Parameter enthält, die an die Zielhookprozedur übergeben werden sollen.
Rückgabewert
Typ:****
Typ: LRESULT
Um zu verhindern, dass das System den Hook aufruft, muss die Hookprozedur einen Wert ungleich null zurückgeben. Andernfalls muss die Hookprozedur CallNextHookEx aufrufen.
Hinweise
Eine Anwendung installiert diese Hookprozedur, indem sie den WH_DEBUG Hooktyp und den Zeiger auf die Hookprozedur in einem Aufruf der SetWindowsHookExA/SetWindowsHookExW-Funktion angibt.
Anforderungen
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Winuser.h (einschließlich Windows.h) Siehe auch