# SDL_WindowsMessageHook

A callback to be used with [SDL_SetWindowsMessageHook](SDL_SetWindowsMessageHook).

## Header File

Defined in [<SDL3/SDL_system.h>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_system.h)

## Syntax

```c
typedef bool (SDLCALL *SDL_WindowsMessageHook)(void *userdata, MSG *msg);
```

## Function Parameters

|              |                                                                                             |
| ------------ | ------------------------------------------------------------------------------------------- |
| **userdata** | the app-defined pointer provided to [SDL_SetWindowsMessageHook](SDL_SetWindowsMessageHook). |
| **msg**      | a pointer to a Win32 event structure to process.                                            |

## Return Value

Returns true to let event continue on, false to drop it.

## Remarks

This callback may modify the message, and should return true if the message
should continue to be processed, or false to prevent further processing.

As this is processing a message directly from the Windows event loop, this
callback should do the minimum required work and return quickly.

## Thread Safety

This may only be called (by SDL) from the thread handling the Windows event
loop.

## Version

This datatype is available since SDL 3.2.0.

## See Also

- [SDL_SetWindowsMessageHook](SDL_SetWindowsMessageHook)
- [SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP](SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP)

----
[CategoryAPI](CategoryAPI), [CategoryAPIDatatype](CategoryAPIDatatype), [CategorySystem](CategorySystem)