GetMsgProc-Funktion

-description

Eine anwendungs- oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion auf, wenn die GetMessage- oder PeekMessage-Funktion eine Nachricht aus einer Anwendungsnachrichtenwarteschlange abgerufen hat. Bevor die abgerufene Nachricht an den Aufrufer zurückgibt, übergibt das System die Nachricht an die Hookprozedur.

Der HOOKPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. GetMsgProc ist ein Platzhalter für den anwendungs- oder bibliotheksdefinierten Funktionsnamen.

LRESULT CALLBACK GetMsgProc(
  _In_ int    code,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

-parameters

Code [in]

Typ: int

Gibt an, ob die Hookprozedur die Nachricht verarbeiten muss. Wenn Code HC_ACTION ist, muss die Hookprozedur die Nachricht verarbeiten. Wenn der Code kleiner als 0 (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

Gibt an, ob die Nachricht aus der Warteschlange entfernt wurde. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
PM_NOREMOVE 0x0000 Die Nachricht wurde nicht aus der Warteschlange entfernt. (Eine Anwendung namens PeekMessage-Funktion, die das PM_NOREMOVE an.)
PM_REMOVE 0x0001 Die Nachricht wurde aus der Warteschlange entfernt. (Eine Anwendung mit dem Namen GetMessage, oder sie hat die PeekMessage-Funktion aufgerufen und das PM_REMOVE angegeben.)

lParam [in]

Typ: LPARAM

Ein Zeiger auf eine MSG-Struktur, die Details zur Nachricht enthält.

-returns

Wenn der Code kleiner als 0 (null) ist, muss die Hookprozedur den von CallNextHookExzurückgegebenen Wert zurückgeben.

Wenn der Code größer oder gleich 0 (null) ist, wird dringend empfohlen, CallNextHookEx auf aufruft und den zurückgegebenen Wert zurückgibt. Andernfalls erhalten andere Anwendungen, die WH_GETMESSAGE Hooks installiert haben, keine Hookbenachrichtigungen und verhalten sich möglicherweise falsch. Wenn die Hookprozedur CallNextHookEx nicht aufruft, sollte der Rückgabewert 0 (null) sein.

-remarks

Die Hookprozedur GetMsgProc kann die Nachricht überprüfen oder ändern. Nachdem die Hookprozedur die Steuerung an das System zurückgegeben hat, gibt die GetMessage- oder PeekMessage-Funktion die Nachricht zusammen mit allen Änderungen an die Anwendung zurück, die sie ursprünglich aufgerufen hat.

Eine Anwendung installiert diese Hookprozedur, indem WH_GETMESSAGE Hooktyp und einen Zeiger auf die Hookprozedur in einem Aufruf der SetWindowsHookEx-Funktion angeben.

Weitere Informationen

CallNextHookEx

GetMessage

Msg

PeekMessage

SetWindowsHookEx

Hooks