update for HEAD-2003091401
[reactos.git] / include / user32 / accel.h
1 /* $Id$
2 */
3
4 #ifndef __USER32_ACCEL_H_INCLUDED__
5 #define __USER32_ACCEL_H_INCLUDED__
6
7 /* RT_ACCELERATOR resources are arrays of RES_ACCEL structures */
8 typedef struct _RES_ACCEL
9 {
10  WORD fVirt;
11  WORD key;
12  DWORD cmd;
13 }
14 RES_ACCEL;
15
16 /* ACCELERATOR TABLES CACHE */
17 /* Cache entry */
18 typedef struct _USER_ACCEL_CACHE_ENTRY
19 {
20  struct _USER_ACCEL_CACHE_ENTRY * Next;
21  ULONG_PTR Usage; /* how many times the table has been loaded */
22  HACCEL Object;   /* handle to the NtUser accelerator table object */
23  HGLOBAL Data;    /* base address of the resource data */
24 }
25 U32_ACCEL_CACHE_ENTRY;
26
27 /* Lock guarding the cache */
28 extern CRITICAL_SECTION U32AccelCacheLock;
29
30 /* Cache */
31 extern U32_ACCEL_CACHE_ENTRY * U32AccelCache;
32
33 extern U32_ACCEL_CACHE_ENTRY ** WINAPI U32AccelCacheFind(HANDLE, HGLOBAL);
34 extern void WINAPI U32AccelCacheAdd(HACCEL, HGLOBAL);
35
36 #endif
37
38 /* EOF */