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.