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: int

    Gibt 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: WPARAM

    Der 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: LPARAM

      Ein 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

    CallNextHookEx

    CallWndProc

    CallWndRetProc

    CBTProc

    DEBUGHOOKINFO

    GetMsgProc

    JournalPlaybackProc

    JournalRecordProc

    KeyboardProc

    MessageProc

    MouseProc

    SetWindowsHookExA/SetWindowsHookExW

    ShellProc

    SysMsgProc

    Hooks