Use Callout table instead of direct GetProcAddress.
[wine/multimedia.git] / include / hook.h
blobf3ffd547321e58ed7a54b333753eae1325577522
1 /*
2 * Windows hook definitions
4 * Copyright 1994 Alexandre Julliard
5 */
7 #ifndef __WINE_HOOK_H
8 #define __WINE_HOOK_H
10 #include "windows.h"
12 #define HOOK_WIN16 0x00
13 #define HOOK_WIN32A 0x01
14 #define HOOK_WIN32W 0x02
15 #define HOOK_INUSE 0x80
17 typedef struct
19 LPARAM lParam;
20 WPARAM16 wParam;
21 UINT16 message;
22 HWND16 hwnd;
23 } CWPSTRUCT16, *LPCWPSTRUCT16;
25 typedef struct
27 LPARAM lParam;
28 WPARAM32 wParam;
29 UINT32 message;
30 HWND32 hwnd;
31 } CWPSTRUCT32, *LPCWPSTRUCT32;
33 /* hook type mask */
34 #define HOOK_MAPTYPE (HOOK_WIN16 | HOOK_WIN32A | HOOK_WIN32W)
36 extern HOOKPROC16 HOOK_GetProc16( HHOOK hhook );
37 extern BOOL32 HOOK_IsHooked( INT16 id );
38 extern LRESULT HOOK_CallHooks16( INT16 id, INT16 code, WPARAM16 wParam,
39 LPARAM lParam );
40 extern LRESULT HOOK_CallHooks32A( INT32 id, INT32 code, WPARAM32 wParam,
41 LPARAM lParam );
42 extern LRESULT HOOK_CallHooks32W( INT32 id, INT32 code, WPARAM32 wParam,
43 LPARAM lParam );
44 extern void HOOK_FreeModuleHooks( HMODULE16 hModule );
45 extern void HOOK_FreeQueueHooks( HQUEUE16 hQueue );
46 extern void HOOK_ResetQueueHooks( HQUEUE16 hQueue );
47 extern HOOKPROC32 HOOK_GetProc( HHOOK hook );
49 #endif /* __WINE_HOOK_H */