Release 960824
[wine/multimedia.git] / include / hook.h
blob0f499883bed1dfeea69df5e2d0f2f4332b2de76f
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"
11 #include "ldt.h"
13 #pragma pack(1)
15 /* Hook data (pointed to by a HHOOK) */
16 typedef struct
18 HANDLE16 next; /* 00 Next hook in chain */
19 HOOKPROC16 proc WINE_PACKED; /* 02 Hook procedure */
20 INT16 id; /* 06 Hook id (WH_xxx) */
21 HQUEUE16 ownerQueue; /* 08 Owner queue (0 for system hook) */
22 HMODULE16 ownerModule; /* 0a Owner module */
23 WORD inHookProc; /* 0c TRUE if in this->proc */
24 } HOOKDATA;
26 #pragma pack(4)
28 #define HOOK_MAGIC ((int)'H' | (int)'K' << 8) /* 'HK' */
30 extern HANDLE16 HOOK_GetHook( INT16 id , HQUEUE16 hQueue );
31 extern LRESULT HOOK_CallHooks( INT16 id, INT16 code,
32 WPARAM16 wParam, LPARAM lParam );
33 extern void HOOK_FreeModuleHooks( HMODULE16 hModule );
34 extern void HOOK_FreeQueueHooks( HQUEUE16 hQueue );
36 #endif /* __WINE_HOOK_H */