10 typedef struct _MSG_ENTRY
19 typedef struct _MSG_CACHE
21 MSG_ENTRY last_post_message
;
22 MSG_ENTRY message_cache
[100];
26 extern MSG_ENTRY empty_chain
[];
27 extern MSG_CACHE default_cache
;
29 void record_message(MSG_CACHE
* cache
, int iwnd
, UINT message
, MSG_TYPE type
, int param1
,int param2
);
30 void compare_cache(MSG_CACHE
* cache
, const char* file
, int line
, MSG_ENTRY
*msg_chain
);
31 void trace_cache(MSG_CACHE
* cache
, const char* file
, int line
);
32 void empty_message_cache(MSG_CACHE
* cache
);
34 ATOM
RegisterSimpleClass(WNDPROC lpfnWndProc
, LPCWSTR lpszClassName
);
36 /* filter messages that are affected by dwm */
37 static inline BOOL
IsDWmMsg(UINT msg
)
44 case 0x031f: /*WM_DWMNCRENDERINGCHANGED*/
50 static inline BOOL
IseKeyMsg(UINT msg
)
52 return (msg
== WM_KEYUP
|| msg
== WM_KEYDOWN
);
55 #define COMPARE_CACHE(msg_chain) compare_cache(&default_cache, __FILE__, __LINE__, msg_chain)
56 #define TRACE_CACHE() trace_cache(&default_cache, __FILE__, __LINE__)
57 #define EMPTY_CACHE() empty_message_cache(&default_cache);
58 #define RECORD_MESSAGE(...) record_message(&default_cache, ##__VA_ARGS__);
60 #define COMPARE_CACHE_(cache, msg_chain) compare_cache(cache, __FILE__, __LINE__, msg_chain)
61 #define TRACE_CACHE_(cache) trace_cache(cache, __FILE__, __LINE__)
62 #define EMPTY_CACHE_(cache) empty_message_cache(cache);
64 #define EXPECT_QUEUE_STATUS(expected, notexpected) \
66 DWORD status = HIWORD(GetQueueStatus(QS_ALLEVENTS)); \
67 ok(((status) & (expected))== (expected),"wrong queue status. expected %li, and got %li\n", (DWORD)(expected), status); \
69 ok((status & (notexpected))!=(notexpected), "wrong queue status. got non expected %li\n", (DWORD)(notexpected)); \