Release 960521
[wine/multimedia.git] / include / hook.h
blob23aa70964c79019e6f37a374a638a75a506150d9
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"
12 #include "callback.h"
14 #ifndef WINELIB
15 #pragma pack(1)
16 #endif
18 /* Hook data (pointed to by a HHOOK) */
19 typedef struct
21 HANDLE next; /* 00 Next hook in chain */
22 HOOKPROC proc WINE_PACKED; /* 02 Hook procedure */
23 short id; /* 06 Hook id (WH_xxx) */
24 HQUEUE ownerQueue; /* 08 Owner queue (0 for system hook) */
25 HMODULE ownerModule; /* 0a Owner module */
26 WORD inHookProc; /* 0c TRUE if in this->proc */
27 } HOOKDATA;
29 #ifndef WINELIB
30 #pragma pack(4)
31 #endif
33 #define HOOK_MAGIC ((int)'H' | (int)'K' << 8) /* 'HK' */
35 extern HANDLE HOOK_GetHook( short id , HQUEUE hQueue );
36 extern DWORD HOOK_CallHooks( short id, short code,
37 WPARAM wParam, LPARAM lParam );
38 extern void HOOK_FreeModuleHooks( HMODULE hModule );
39 extern void HOOK_FreeQueueHooks( HQUEUE hQueue );
41 #endif /* __WINE_HOOK_H */