1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
5 * Unit tests for data structure packing
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
12 #define WINE_NOWINSOCK
16 #include "wine/test.h"
18 /***********************************************************************
22 #define DWORD_PTR UINT_PTR
23 #define LONG_PTR INT_PTR
24 #define ULONG_PTR UINT_PTR
26 /***********************************************************************
27 * Windows API extension
30 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
31 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
32 #elif defined(__GNUC__)
33 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
35 /* FIXME: Not sure if is possible to do without compiler extension */
38 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
39 # define _TYPE_ALIGNMENT(type) __alignof(type)
40 #elif defined(__GNUC__)
41 # define _TYPE_ALIGNMENT(type) __alignof__(type)
44 * FIXME: Not sure if is possible to do without compiler extension
45 * (if type is not just a name that is, if so the normal)
46 * TYPE_ALIGNMENT can be used)
50 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
51 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
54 /***********************************************************************
58 #ifdef FIELD_ALIGNMENT
59 # define TEST_FIELD_ALIGNMENT(type, field, align) \
60 ok(FIELD_ALIGNMENT(type, field) == align, \
61 "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")\n", \
62 FIELD_ALIGNMENT(type, field))
64 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
67 #define TEST_FIELD_OFFSET(type, field, offset) \
68 ok(FIELD_OFFSET(type, field) == offset, \
69 "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")\n", \
70 FIELD_OFFSET(type, field))
72 #ifdef _TYPE_ALIGNMENT
73 #define TEST__TYPE_ALIGNMENT(type, align) \
74 ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", _TYPE_ALIGNMENT(type))
76 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
80 #define TEST_TYPE_ALIGNMENT(type, align) \
81 ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", TYPE_ALIGNMENT(type))
83 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
86 #define TEST_TYPE_SIZE(type, size) \
87 ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")\n", sizeof(type))
89 /***********************************************************************
93 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
94 TEST_TYPE_SIZE(field_type, field_size); \
95 TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
96 TEST_FIELD_OFFSET(type, field_name, field_offset); \
98 #define TEST_TYPE(type, size, align) \
99 TEST_TYPE_ALIGNMENT(type, align); \
100 TEST_TYPE_SIZE(type, size)
102 #define TEST_TYPE_POINTER(type, size, align) \
103 TEST__TYPE_ALIGNMENT(*(type)0, align); \
104 TEST_TYPE_SIZE(*(type)0, size)
106 #define TEST_TYPE_SIGNED(type) \
107 ok((type) -1 < 0, "(" #type ") -1 < 0\n");
109 #define TEST_TYPE_UNSIGNED(type) \
110 ok((type) -1 > 0, "(" #type ") -1 > 0\n");
112 static void test_pack_ACCEL(void)
115 TEST_TYPE(ACCEL, 6, 2);
116 TEST_FIELD(ACCEL, BYTE, fVirt, 0, 1, 1);
117 TEST_FIELD(ACCEL, WORD, key, 2, 2, 2);
118 TEST_FIELD(ACCEL, WORD, cmd, 4, 2, 2);
121 static void test_pack_ACCESSTIMEOUT(void)
123 /* ACCESSTIMEOUT (pack 4) */
124 TEST_TYPE(ACCESSTIMEOUT, 12, 4);
125 TEST_FIELD(ACCESSTIMEOUT, UINT, cbSize, 0, 4, 4);
126 TEST_FIELD(ACCESSTIMEOUT, DWORD, dwFlags, 4, 4, 4);
127 TEST_FIELD(ACCESSTIMEOUT, DWORD, iTimeOutMSec, 8, 4, 4);
130 static void test_pack_ANIMATIONINFO(void)
132 /* ANIMATIONINFO (pack 4) */
133 TEST_TYPE(ANIMATIONINFO, 8, 4);
134 TEST_FIELD(ANIMATIONINFO, UINT, cbSize, 0, 4, 4);
135 TEST_FIELD(ANIMATIONINFO, INT, iMinAnimate, 4, 4, 4);
138 static void test_pack_CBTACTIVATESTRUCT(void)
140 /* CBTACTIVATESTRUCT (pack 4) */
141 TEST_TYPE(CBTACTIVATESTRUCT, 8, 4);
142 TEST_FIELD(CBTACTIVATESTRUCT, BOOL, fMouse, 0, 4, 4);
143 TEST_FIELD(CBTACTIVATESTRUCT, HWND, hWndActive, 4, 4, 4);
146 static void test_pack_CBT_CREATEWNDA(void)
148 /* CBT_CREATEWNDA (pack 4) */
149 TEST_TYPE(CBT_CREATEWNDA, 8, 4);
150 TEST_FIELD(CBT_CREATEWNDA, CREATESTRUCTA *, lpcs, 0, 4, 4);
151 TEST_FIELD(CBT_CREATEWNDA, HWND, hwndInsertAfter, 4, 4, 4);
154 static void test_pack_CBT_CREATEWNDW(void)
156 /* CBT_CREATEWNDW (pack 4) */
157 TEST_TYPE(CBT_CREATEWNDW, 8, 4);
158 TEST_FIELD(CBT_CREATEWNDW, CREATESTRUCTW *, lpcs, 0, 4, 4);
159 TEST_FIELD(CBT_CREATEWNDW, HWND, hwndInsertAfter, 4, 4, 4);
162 static void test_pack_CLIENTCREATESTRUCT(void)
164 /* CLIENTCREATESTRUCT (pack 4) */
165 TEST_TYPE(CLIENTCREATESTRUCT, 8, 4);
166 TEST_FIELD(CLIENTCREATESTRUCT, HMENU, hWindowMenu, 0, 4, 4);
167 TEST_FIELD(CLIENTCREATESTRUCT, UINT, idFirstChild, 4, 4, 4);
170 static void test_pack_COMBOBOXINFO(void)
172 /* COMBOBOXINFO (pack 4) */
173 TEST_TYPE(COMBOBOXINFO, 52, 4);
174 TEST_FIELD(COMBOBOXINFO, DWORD, cbSize, 0, 4, 4);
175 TEST_FIELD(COMBOBOXINFO, RECT, rcItem, 4, 16, 4);
176 TEST_FIELD(COMBOBOXINFO, RECT, rcButton, 20, 16, 4);
177 TEST_FIELD(COMBOBOXINFO, DWORD, stateButton, 36, 4, 4);
178 TEST_FIELD(COMBOBOXINFO, HWND, hwndCombo, 40, 4, 4);
179 TEST_FIELD(COMBOBOXINFO, HWND, hwndItem, 44, 4, 4);
180 TEST_FIELD(COMBOBOXINFO, HWND, hwndList, 48, 4, 4);
183 static void test_pack_COMPAREITEMSTRUCT(void)
185 /* COMPAREITEMSTRUCT (pack 4) */
186 TEST_TYPE(COMPAREITEMSTRUCT, 32, 4);
187 TEST_FIELD(COMPAREITEMSTRUCT, UINT, CtlType, 0, 4, 4);
188 TEST_FIELD(COMPAREITEMSTRUCT, UINT, CtlID, 4, 4, 4);
189 TEST_FIELD(COMPAREITEMSTRUCT, HWND, hwndItem, 8, 4, 4);
190 TEST_FIELD(COMPAREITEMSTRUCT, UINT, itemID1, 12, 4, 4);
191 TEST_FIELD(COMPAREITEMSTRUCT, ULONG_PTR, itemData1, 16, 4, 4);
192 TEST_FIELD(COMPAREITEMSTRUCT, UINT, itemID2, 20, 4, 4);
193 TEST_FIELD(COMPAREITEMSTRUCT, ULONG_PTR, itemData2, 24, 4, 4);
194 TEST_FIELD(COMPAREITEMSTRUCT, DWORD, dwLocaleId, 28, 4, 4);
197 static void test_pack_COPYDATASTRUCT(void)
199 /* COPYDATASTRUCT (pack 4) */
200 TEST_TYPE(COPYDATASTRUCT, 12, 4);
201 TEST_FIELD(COPYDATASTRUCT, ULONG_PTR, dwData, 0, 4, 4);
202 TEST_FIELD(COPYDATASTRUCT, DWORD, cbData, 4, 4, 4);
203 TEST_FIELD(COPYDATASTRUCT, PVOID, lpData, 8, 4, 4);
206 static void test_pack_CREATESTRUCTA(void)
208 /* CREATESTRUCTA (pack 4) */
209 TEST_TYPE(CREATESTRUCTA, 48, 4);
210 TEST_FIELD(CREATESTRUCTA, LPVOID, lpCreateParams, 0, 4, 4);
211 TEST_FIELD(CREATESTRUCTA, HINSTANCE, hInstance, 4, 4, 4);
212 TEST_FIELD(CREATESTRUCTA, HMENU, hMenu, 8, 4, 4);
213 TEST_FIELD(CREATESTRUCTA, HWND, hwndParent, 12, 4, 4);
214 TEST_FIELD(CREATESTRUCTA, INT, cy, 16, 4, 4);
215 TEST_FIELD(CREATESTRUCTA, INT, cx, 20, 4, 4);
216 TEST_FIELD(CREATESTRUCTA, INT, y, 24, 4, 4);
217 TEST_FIELD(CREATESTRUCTA, INT, x, 28, 4, 4);
218 TEST_FIELD(CREATESTRUCTA, LONG, style, 32, 4, 4);
219 TEST_FIELD(CREATESTRUCTA, LPCSTR, lpszName, 36, 4, 4);
220 TEST_FIELD(CREATESTRUCTA, LPCSTR, lpszClass, 40, 4, 4);
221 TEST_FIELD(CREATESTRUCTA, DWORD, dwExStyle, 44, 4, 4);
224 static void test_pack_CREATESTRUCTW(void)
226 /* CREATESTRUCTW (pack 4) */
227 TEST_TYPE(CREATESTRUCTW, 48, 4);
228 TEST_FIELD(CREATESTRUCTW, LPVOID, lpCreateParams, 0, 4, 4);
229 TEST_FIELD(CREATESTRUCTW, HINSTANCE, hInstance, 4, 4, 4);
230 TEST_FIELD(CREATESTRUCTW, HMENU, hMenu, 8, 4, 4);
231 TEST_FIELD(CREATESTRUCTW, HWND, hwndParent, 12, 4, 4);
232 TEST_FIELD(CREATESTRUCTW, INT, cy, 16, 4, 4);
233 TEST_FIELD(CREATESTRUCTW, INT, cx, 20, 4, 4);
234 TEST_FIELD(CREATESTRUCTW, INT, y, 24, 4, 4);
235 TEST_FIELD(CREATESTRUCTW, INT, x, 28, 4, 4);
236 TEST_FIELD(CREATESTRUCTW, LONG, style, 32, 4, 4);
237 TEST_FIELD(CREATESTRUCTW, LPCWSTR, lpszName, 36, 4, 4);
238 TEST_FIELD(CREATESTRUCTW, LPCWSTR, lpszClass, 40, 4, 4);
239 TEST_FIELD(CREATESTRUCTW, DWORD, dwExStyle, 44, 4, 4);
242 static void test_pack_CURSORINFO(void)
244 /* CURSORINFO (pack 4) */
245 TEST_TYPE(CURSORINFO, 20, 4);
246 TEST_FIELD(CURSORINFO, DWORD, cbSize, 0, 4, 4);
247 TEST_FIELD(CURSORINFO, DWORD, flags, 4, 4, 4);
248 TEST_FIELD(CURSORINFO, HCURSOR, hCursor, 8, 4, 4);
249 TEST_FIELD(CURSORINFO, POINT, ptScreenPos, 12, 8, 4);
252 static void test_pack_CWPRETSTRUCT(void)
254 /* CWPRETSTRUCT (pack 4) */
255 TEST_TYPE(CWPRETSTRUCT, 20, 4);
256 TEST_FIELD(CWPRETSTRUCT, LRESULT, lResult, 0, 4, 4);
257 TEST_FIELD(CWPRETSTRUCT, LPARAM, lParam, 4, 4, 4);
258 TEST_FIELD(CWPRETSTRUCT, WPARAM, wParam, 8, 4, 4);
259 TEST_FIELD(CWPRETSTRUCT, DWORD, message, 12, 4, 4);
260 TEST_FIELD(CWPRETSTRUCT, HWND, hwnd, 16, 4, 4);
263 static void test_pack_CWPSTRUCT(void)
265 /* CWPSTRUCT (pack 4) */
266 TEST_TYPE(CWPSTRUCT, 16, 4);
267 TEST_FIELD(CWPSTRUCT, LPARAM, lParam, 0, 4, 4);
268 TEST_FIELD(CWPSTRUCT, WPARAM, wParam, 4, 4, 4);
269 TEST_FIELD(CWPSTRUCT, UINT, message, 8, 4, 4);
270 TEST_FIELD(CWPSTRUCT, HWND, hwnd, 12, 4, 4);
273 static void test_pack_DEBUGHOOKINFO(void)
275 /* DEBUGHOOKINFO (pack 4) */
276 TEST_TYPE(DEBUGHOOKINFO, 20, 4);
277 TEST_FIELD(DEBUGHOOKINFO, DWORD, idThread, 0, 4, 4);
278 TEST_FIELD(DEBUGHOOKINFO, DWORD, idThreadInstaller, 4, 4, 4);
279 TEST_FIELD(DEBUGHOOKINFO, LPARAM, lParam, 8, 4, 4);
280 TEST_FIELD(DEBUGHOOKINFO, WPARAM, wParam, 12, 4, 4);
281 TEST_FIELD(DEBUGHOOKINFO, INT, code, 16, 4, 4);
284 static void test_pack_DELETEITEMSTRUCT(void)
286 /* DELETEITEMSTRUCT (pack 4) */
287 TEST_TYPE(DELETEITEMSTRUCT, 20, 4);
288 TEST_FIELD(DELETEITEMSTRUCT, UINT, CtlType, 0, 4, 4);
289 TEST_FIELD(DELETEITEMSTRUCT, UINT, CtlID, 4, 4, 4);
290 TEST_FIELD(DELETEITEMSTRUCT, UINT, itemID, 8, 4, 4);
291 TEST_FIELD(DELETEITEMSTRUCT, HWND, hwndItem, 12, 4, 4);
292 TEST_FIELD(DELETEITEMSTRUCT, ULONG_PTR, itemData, 16, 4, 4);
295 static void test_pack_DESKTOPENUMPROCA(void)
297 /* DESKTOPENUMPROCA */
298 TEST_TYPE(DESKTOPENUMPROCA, 4, 4);
301 static void test_pack_DESKTOPENUMPROCW(void)
303 /* DESKTOPENUMPROCW */
304 TEST_TYPE(DESKTOPENUMPROCW, 4, 4);
307 static void test_pack_DLGITEMTEMPLATE(void)
309 /* DLGITEMTEMPLATE (pack 2) */
310 TEST_TYPE(DLGITEMTEMPLATE, 18, 2);
311 TEST_FIELD(DLGITEMTEMPLATE, DWORD, style, 0, 4, 2);
312 TEST_FIELD(DLGITEMTEMPLATE, DWORD, dwExtendedStyle, 4, 4, 2);
313 TEST_FIELD(DLGITEMTEMPLATE, short, x, 8, 2, 2);
314 TEST_FIELD(DLGITEMTEMPLATE, short, y, 10, 2, 2);
315 TEST_FIELD(DLGITEMTEMPLATE, short, cx, 12, 2, 2);
316 TEST_FIELD(DLGITEMTEMPLATE, short, cy, 14, 2, 2);
317 TEST_FIELD(DLGITEMTEMPLATE, WORD, id, 16, 2, 2);
320 static void test_pack_DLGPROC(void)
323 TEST_TYPE(DLGPROC, 4, 4);
326 static void test_pack_DLGTEMPLATE(void)
328 /* DLGTEMPLATE (pack 2) */
329 TEST_TYPE(DLGTEMPLATE, 18, 2);
330 TEST_FIELD(DLGTEMPLATE, DWORD, style, 0, 4, 2);
331 TEST_FIELD(DLGTEMPLATE, DWORD, dwExtendedStyle, 4, 4, 2);
332 TEST_FIELD(DLGTEMPLATE, WORD, cdit, 8, 2, 2);
333 TEST_FIELD(DLGTEMPLATE, short, x, 10, 2, 2);
334 TEST_FIELD(DLGTEMPLATE, short, y, 12, 2, 2);
335 TEST_FIELD(DLGTEMPLATE, short, cx, 14, 2, 2);
336 TEST_FIELD(DLGTEMPLATE, short, cy, 16, 2, 2);
339 static void test_pack_DRAWSTATEPROC(void)
342 TEST_TYPE(DRAWSTATEPROC, 4, 4);
345 static void test_pack_DRAWTEXTPARAMS(void)
347 /* DRAWTEXTPARAMS (pack 4) */
348 TEST_TYPE(DRAWTEXTPARAMS, 20, 4);
349 TEST_FIELD(DRAWTEXTPARAMS, UINT, cbSize, 0, 4, 4);
350 TEST_FIELD(DRAWTEXTPARAMS, INT, iTabLength, 4, 4, 4);
351 TEST_FIELD(DRAWTEXTPARAMS, INT, iLeftMargin, 8, 4, 4);
352 TEST_FIELD(DRAWTEXTPARAMS, INT, iRightMargin, 12, 4, 4);
353 TEST_FIELD(DRAWTEXTPARAMS, UINT, uiLengthDrawn, 16, 4, 4);
356 static void test_pack_EDITWORDBREAKPROCA(void)
358 /* EDITWORDBREAKPROCA */
359 TEST_TYPE(EDITWORDBREAKPROCA, 4, 4);
362 static void test_pack_EDITWORDBREAKPROCW(void)
364 /* EDITWORDBREAKPROCW */
365 TEST_TYPE(EDITWORDBREAKPROCW, 4, 4);
368 static void test_pack_EVENTMSG(void)
370 /* EVENTMSG (pack 4) */
371 TEST_TYPE(EVENTMSG, 20, 4);
372 TEST_FIELD(EVENTMSG, UINT, message, 0, 4, 4);
373 TEST_FIELD(EVENTMSG, UINT, paramL, 4, 4, 4);
374 TEST_FIELD(EVENTMSG, UINT, paramH, 8, 4, 4);
375 TEST_FIELD(EVENTMSG, DWORD, time, 12, 4, 4);
376 TEST_FIELD(EVENTMSG, HWND, hwnd, 16, 4, 4);
379 static void test_pack_FILTERKEYS(void)
381 /* FILTERKEYS (pack 4) */
382 TEST_TYPE(FILTERKEYS, 24, 4);
383 TEST_FIELD(FILTERKEYS, UINT, cbSize, 0, 4, 4);
384 TEST_FIELD(FILTERKEYS, DWORD, dwFlags, 4, 4, 4);
385 TEST_FIELD(FILTERKEYS, DWORD, iWaitMSec, 8, 4, 4);
386 TEST_FIELD(FILTERKEYS, DWORD, iDelayMSec, 12, 4, 4);
387 TEST_FIELD(FILTERKEYS, DWORD, iRepeatMSec, 16, 4, 4);
388 TEST_FIELD(FILTERKEYS, DWORD, iBounceMSec, 20, 4, 4);
391 static void test_pack_GUITHREADINFO(void)
393 /* GUITHREADINFO (pack 4) */
394 TEST_TYPE(GUITHREADINFO, 48, 4);
395 TEST_FIELD(GUITHREADINFO, DWORD, cbSize, 0, 4, 4);
396 TEST_FIELD(GUITHREADINFO, DWORD, flags, 4, 4, 4);
397 TEST_FIELD(GUITHREADINFO, HWND, hwndActive, 8, 4, 4);
398 TEST_FIELD(GUITHREADINFO, HWND, hwndFocus, 12, 4, 4);
399 TEST_FIELD(GUITHREADINFO, HWND, hwndCapture, 16, 4, 4);
400 TEST_FIELD(GUITHREADINFO, HWND, hwndMenuOwner, 20, 4, 4);
401 TEST_FIELD(GUITHREADINFO, HWND, hwndMoveSize, 24, 4, 4);
402 TEST_FIELD(GUITHREADINFO, HWND, hwndCaret, 28, 4, 4);
403 TEST_FIELD(GUITHREADINFO, RECT, rcCaret, 32, 16, 4);
406 static void test_pack_GRAYSTRINGPROC(void)
409 TEST_TYPE(GRAYSTRINGPROC, 4, 4);
412 static void test_pack_HARDWAREHOOKSTRUCT(void)
414 /* HARDWAREHOOKSTRUCT (pack 4) */
415 TEST_TYPE(HARDWAREHOOKSTRUCT, 16, 4);
416 TEST_FIELD(HARDWAREHOOKSTRUCT, HWND, hwnd, 0, 4, 4);
417 TEST_FIELD(HARDWAREHOOKSTRUCT, UINT, message, 4, 4, 4);
418 TEST_FIELD(HARDWAREHOOKSTRUCT, WPARAM, wParam, 8, 4, 4);
419 TEST_FIELD(HARDWAREHOOKSTRUCT, LPARAM, lParam, 12, 4, 4);
422 static void test_pack_HARDWAREINPUT(void)
424 /* HARDWAREINPUT (pack 4) */
425 TEST_TYPE(HARDWAREINPUT, 8, 4);
426 TEST_FIELD(HARDWAREINPUT, DWORD, uMsg, 0, 4, 4);
427 TEST_FIELD(HARDWAREINPUT, WORD, wParamL, 4, 2, 2);
428 TEST_FIELD(HARDWAREINPUT, WORD, wParamH, 6, 2, 2);
431 static void test_pack_HDEVNOTIFY(void)
434 TEST_TYPE(HDEVNOTIFY, 4, 4);
437 static void test_pack_HDWP(void)
440 TEST_TYPE(HDWP, 4, 4);
443 static void test_pack_HELPINFO(void)
445 /* HELPINFO (pack 4) */
446 TEST_TYPE(HELPINFO, 28, 4);
447 TEST_FIELD(HELPINFO, UINT, cbSize, 0, 4, 4);
448 TEST_FIELD(HELPINFO, INT, iContextType, 4, 4, 4);
449 TEST_FIELD(HELPINFO, INT, iCtrlId, 8, 4, 4);
450 TEST_FIELD(HELPINFO, HANDLE, hItemHandle, 12, 4, 4);
451 TEST_FIELD(HELPINFO, DWORD_PTR, dwContextId, 16, 4, 4);
452 TEST_FIELD(HELPINFO, POINT, MousePos, 20, 8, 4);
455 static void test_pack_HELPWININFOA(void)
457 /* HELPWININFOA (pack 4) */
458 TEST_TYPE(HELPWININFOA, 28, 4);
459 TEST_FIELD(HELPWININFOA, int, wStructSize, 0, 4, 4);
460 TEST_FIELD(HELPWININFOA, int, x, 4, 4, 4);
461 TEST_FIELD(HELPWININFOA, int, y, 8, 4, 4);
462 TEST_FIELD(HELPWININFOA, int, dx, 12, 4, 4);
463 TEST_FIELD(HELPWININFOA, int, dy, 16, 4, 4);
464 TEST_FIELD(HELPWININFOA, int, wMax, 20, 4, 4);
465 TEST_FIELD(HELPWININFOA, CHAR[2], rgchMember, 24, 2, 1);
468 static void test_pack_HELPWININFOW(void)
470 /* HELPWININFOW (pack 4) */
471 TEST_TYPE(HELPWININFOW, 28, 4);
472 TEST_FIELD(HELPWININFOW, int, wStructSize, 0, 4, 4);
473 TEST_FIELD(HELPWININFOW, int, x, 4, 4, 4);
474 TEST_FIELD(HELPWININFOW, int, y, 8, 4, 4);
475 TEST_FIELD(HELPWININFOW, int, dx, 12, 4, 4);
476 TEST_FIELD(HELPWININFOW, int, dy, 16, 4, 4);
477 TEST_FIELD(HELPWININFOW, int, wMax, 20, 4, 4);
478 TEST_FIELD(HELPWININFOW, WCHAR[2], rgchMember, 24, 4, 2);
481 static void test_pack_HIGHCONTRASTA(void)
483 /* HIGHCONTRASTA (pack 4) */
484 TEST_FIELD(HIGHCONTRASTA, UINT, cbSize, 0, 4, 4);
485 TEST_FIELD(HIGHCONTRASTA, DWORD, dwFlags, 4, 4, 4);
488 static void test_pack_HIGHCONTRASTW(void)
490 /* HIGHCONTRASTW (pack 4) */
491 TEST_TYPE(HIGHCONTRASTW, 12, 4);
492 TEST_FIELD(HIGHCONTRASTW, UINT, cbSize, 0, 4, 4);
493 TEST_FIELD(HIGHCONTRASTW, DWORD, dwFlags, 4, 4, 4);
494 TEST_FIELD(HIGHCONTRASTW, LPWSTR, lpszDefaultScheme, 8, 4, 4);
497 static void test_pack_HOOKPROC(void)
500 TEST_TYPE(HOOKPROC, 4, 4);
503 static void test_pack_ICONINFO(void)
505 /* ICONINFO (pack 4) */
506 TEST_TYPE(ICONINFO, 20, 4);
507 TEST_FIELD(ICONINFO, BOOL, fIcon, 0, 4, 4);
508 TEST_FIELD(ICONINFO, DWORD, xHotspot, 4, 4, 4);
509 TEST_FIELD(ICONINFO, DWORD, yHotspot, 8, 4, 4);
510 TEST_FIELD(ICONINFO, HBITMAP, hbmMask, 12, 4, 4);
511 TEST_FIELD(ICONINFO, HBITMAP, hbmColor, 16, 4, 4);
514 static void test_pack_ICONMETRICSA(void)
516 /* ICONMETRICSA (pack 4) */
517 TEST_TYPE(ICONMETRICSA, 76, 4);
518 TEST_FIELD(ICONMETRICSA, UINT, cbSize, 0, 4, 4);
519 TEST_FIELD(ICONMETRICSA, int, iHorzSpacing, 4, 4, 4);
520 TEST_FIELD(ICONMETRICSA, int, iVertSpacing, 8, 4, 4);
521 TEST_FIELD(ICONMETRICSA, int, iTitleWrap, 12, 4, 4);
522 TEST_FIELD(ICONMETRICSA, LOGFONTA, lfFont, 16, 60, 4);
525 static void test_pack_ICONMETRICSW(void)
527 /* ICONMETRICSW (pack 4) */
528 TEST_TYPE(ICONMETRICSW, 108, 4);
529 TEST_FIELD(ICONMETRICSW, UINT, cbSize, 0, 4, 4);
530 TEST_FIELD(ICONMETRICSW, int, iHorzSpacing, 4, 4, 4);
531 TEST_FIELD(ICONMETRICSW, int, iVertSpacing, 8, 4, 4);
532 TEST_FIELD(ICONMETRICSW, int, iTitleWrap, 12, 4, 4);
533 TEST_FIELD(ICONMETRICSW, LOGFONTW, lfFont, 16, 92, 4);
536 static void test_pack_INPUT(void)
539 TEST_FIELD(INPUT, DWORD, type, 0, 4, 4);
542 static void test_pack_KBDLLHOOKSTRUCT(void)
544 /* KBDLLHOOKSTRUCT (pack 4) */
545 TEST_TYPE(KBDLLHOOKSTRUCT, 20, 4);
546 TEST_FIELD(KBDLLHOOKSTRUCT, DWORD, vkCode, 0, 4, 4);
547 TEST_FIELD(KBDLLHOOKSTRUCT, DWORD, scanCode, 4, 4, 4);
548 TEST_FIELD(KBDLLHOOKSTRUCT, DWORD, flags, 8, 4, 4);
549 TEST_FIELD(KBDLLHOOKSTRUCT, DWORD, time, 12, 4, 4);
550 TEST_FIELD(KBDLLHOOKSTRUCT, ULONG_PTR, dwExtraInfo, 16, 4, 4);
553 static void test_pack_KEYBDINPUT(void)
555 /* KEYBDINPUT (pack 4) */
556 TEST_TYPE(KEYBDINPUT, 16, 4);
557 TEST_FIELD(KEYBDINPUT, WORD, wVk, 0, 2, 2);
558 TEST_FIELD(KEYBDINPUT, WORD, wScan, 2, 2, 2);
559 TEST_FIELD(KEYBDINPUT, DWORD, dwFlags, 4, 4, 4);
560 TEST_FIELD(KEYBDINPUT, DWORD, time, 8, 4, 4);
561 TEST_FIELD(KEYBDINPUT, ULONG_PTR, dwExtraInfo, 12, 4, 4);
564 static void test_pack_LPACCEL(void)
567 TEST_TYPE(LPACCEL, 4, 4);
568 TEST_TYPE_POINTER(LPACCEL, 6, 2);
571 static void test_pack_LPACCESSTIMEOUT(void)
573 /* LPACCESSTIMEOUT */
574 TEST_TYPE(LPACCESSTIMEOUT, 4, 4);
575 TEST_TYPE_POINTER(LPACCESSTIMEOUT, 12, 4);
578 static void test_pack_LPANIMATIONINFO(void)
580 /* LPANIMATIONINFO */
581 TEST_TYPE(LPANIMATIONINFO, 4, 4);
582 TEST_TYPE_POINTER(LPANIMATIONINFO, 8, 4);
585 static void test_pack_LPCBTACTIVATESTRUCT(void)
587 /* LPCBTACTIVATESTRUCT */
588 TEST_TYPE(LPCBTACTIVATESTRUCT, 4, 4);
589 TEST_TYPE_POINTER(LPCBTACTIVATESTRUCT, 8, 4);
592 static void test_pack_LPCBT_CREATEWNDA(void)
594 /* LPCBT_CREATEWNDA */
595 TEST_TYPE(LPCBT_CREATEWNDA, 4, 4);
596 TEST_TYPE_POINTER(LPCBT_CREATEWNDA, 8, 4);
599 static void test_pack_LPCBT_CREATEWNDW(void)
601 /* LPCBT_CREATEWNDW */
602 TEST_TYPE(LPCBT_CREATEWNDW, 4, 4);
603 TEST_TYPE_POINTER(LPCBT_CREATEWNDW, 8, 4);
606 static void test_pack_LPCDLGTEMPLATEA(void)
608 /* LPCDLGTEMPLATEA */
609 TEST_TYPE(LPCDLGTEMPLATEA, 4, 4);
610 TEST_TYPE_POINTER(LPCDLGTEMPLATEA, 18, 2);
613 static void test_pack_LPCDLGTEMPLATEW(void)
615 /* LPCDLGTEMPLATEW */
616 TEST_TYPE(LPCDLGTEMPLATEW, 4, 4);
617 TEST_TYPE_POINTER(LPCDLGTEMPLATEW, 18, 2);
620 static void test_pack_LPCLIENTCREATESTRUCT(void)
622 /* LPCLIENTCREATESTRUCT */
623 TEST_TYPE(LPCLIENTCREATESTRUCT, 4, 4);
624 TEST_TYPE_POINTER(LPCLIENTCREATESTRUCT, 8, 4);
627 static void test_pack_LPCMENUINFO(void)
630 TEST_TYPE(LPCMENUINFO, 4, 4);
631 TEST_TYPE_POINTER(LPCMENUINFO, 28, 4);
634 static void test_pack_LPCMENUITEMINFOA(void)
636 /* LPCMENUITEMINFOA */
637 TEST_TYPE(LPCMENUITEMINFOA, 4, 4);
640 static void test_pack_LPCMENUITEMINFOW(void)
642 /* LPCMENUITEMINFOW */
643 TEST_TYPE(LPCMENUITEMINFOW, 4, 4);
644 TEST_TYPE_POINTER(LPCMENUITEMINFOW, 48, 4);
647 static void test_pack_LPCOMBOBOXINFO(void)
650 TEST_TYPE(LPCOMBOBOXINFO, 4, 4);
651 TEST_TYPE_POINTER(LPCOMBOBOXINFO, 52, 4);
654 static void test_pack_LPCOMPAREITEMSTRUCT(void)
656 /* LPCOMPAREITEMSTRUCT */
657 TEST_TYPE(LPCOMPAREITEMSTRUCT, 4, 4);
658 TEST_TYPE_POINTER(LPCOMPAREITEMSTRUCT, 32, 4);
661 static void test_pack_LPCREATESTRUCTA(void)
663 /* LPCREATESTRUCTA */
664 TEST_TYPE(LPCREATESTRUCTA, 4, 4);
665 TEST_TYPE_POINTER(LPCREATESTRUCTA, 48, 4);
668 static void test_pack_LPCREATESTRUCTW(void)
670 /* LPCREATESTRUCTW */
671 TEST_TYPE(LPCREATESTRUCTW, 4, 4);
672 TEST_TYPE_POINTER(LPCREATESTRUCTW, 48, 4);
675 static void test_pack_LPCSCROLLINFO(void)
678 TEST_TYPE(LPCSCROLLINFO, 4, 4);
679 TEST_TYPE_POINTER(LPCSCROLLINFO, 28, 4);
682 static void test_pack_LPCURSORINFO(void)
685 TEST_TYPE(LPCURSORINFO, 4, 4);
686 TEST_TYPE_POINTER(LPCURSORINFO, 20, 4);
689 static void test_pack_LPCWPRETSTRUCT(void)
692 TEST_TYPE(LPCWPRETSTRUCT, 4, 4);
693 TEST_TYPE_POINTER(LPCWPRETSTRUCT, 20, 4);
696 static void test_pack_LPCWPSTRUCT(void)
699 TEST_TYPE(LPCWPSTRUCT, 4, 4);
700 TEST_TYPE_POINTER(LPCWPSTRUCT, 16, 4);
703 static void test_pack_LPDEBUGHOOKINFO(void)
705 /* LPDEBUGHOOKINFO */
706 TEST_TYPE(LPDEBUGHOOKINFO, 4, 4);
707 TEST_TYPE_POINTER(LPDEBUGHOOKINFO, 20, 4);
710 static void test_pack_LPDELETEITEMSTRUCT(void)
712 /* LPDELETEITEMSTRUCT */
713 TEST_TYPE(LPDELETEITEMSTRUCT, 4, 4);
714 TEST_TYPE_POINTER(LPDELETEITEMSTRUCT, 20, 4);
717 static void test_pack_LPDLGITEMTEMPLATEA(void)
719 /* LPDLGITEMTEMPLATEA */
720 TEST_TYPE(LPDLGITEMTEMPLATEA, 4, 4);
721 TEST_TYPE_POINTER(LPDLGITEMTEMPLATEA, 18, 2);
724 static void test_pack_LPDLGITEMTEMPLATEW(void)
726 /* LPDLGITEMTEMPLATEW */
727 TEST_TYPE(LPDLGITEMTEMPLATEW, 4, 4);
728 TEST_TYPE_POINTER(LPDLGITEMTEMPLATEW, 18, 2);
731 static void test_pack_LPDLGTEMPLATEA(void)
734 TEST_TYPE(LPDLGTEMPLATEA, 4, 4);
735 TEST_TYPE_POINTER(LPDLGTEMPLATEA, 18, 2);
738 static void test_pack_LPDLGTEMPLATEW(void)
741 TEST_TYPE(LPDLGTEMPLATEW, 4, 4);
742 TEST_TYPE_POINTER(LPDLGTEMPLATEW, 18, 2);
745 static void test_pack_LPDRAWITEMSTRUCT(void)
747 /* LPDRAWITEMSTRUCT */
748 TEST_TYPE(LPDRAWITEMSTRUCT, 4, 4);
749 TEST_TYPE_POINTER(LPDRAWITEMSTRUCT, 48, 4);
752 static void test_pack_LPDRAWTEXTPARAMS(void)
754 /* LPDRAWTEXTPARAMS */
755 TEST_TYPE(LPDRAWTEXTPARAMS, 4, 4);
756 TEST_TYPE_POINTER(LPDRAWTEXTPARAMS, 20, 4);
759 static void test_pack_LPEVENTMSG(void)
762 TEST_TYPE(LPEVENTMSG, 4, 4);
763 TEST_TYPE_POINTER(LPEVENTMSG, 20, 4);
766 static void test_pack_LPFILTERKEYS(void)
769 TEST_TYPE(LPFILTERKEYS, 4, 4);
770 TEST_TYPE_POINTER(LPFILTERKEYS, 24, 4);
773 static void test_pack_LPHARDWAREHOOKSTRUCT(void)
775 /* LPHARDWAREHOOKSTRUCT */
776 TEST_TYPE(LPHARDWAREHOOKSTRUCT, 4, 4);
777 TEST_TYPE_POINTER(LPHARDWAREHOOKSTRUCT, 16, 4);
780 static void test_pack_LPHARDWAREINPUT(void)
782 /* LPHARDWAREINPUT */
783 TEST_TYPE(LPHARDWAREINPUT, 4, 4);
784 TEST_TYPE_POINTER(LPHARDWAREINPUT, 8, 4);
787 static void test_pack_LPHELPINFO(void)
790 TEST_TYPE(LPHELPINFO, 4, 4);
791 TEST_TYPE_POINTER(LPHELPINFO, 28, 4);
794 static void test_pack_LPHELPWININFOA(void)
797 TEST_TYPE(LPHELPWININFOA, 4, 4);
798 TEST_TYPE_POINTER(LPHELPWININFOA, 28, 4);
801 static void test_pack_LPHELPWININFOW(void)
804 TEST_TYPE(LPHELPWININFOW, 4, 4);
805 TEST_TYPE_POINTER(LPHELPWININFOW, 28, 4);
808 static void test_pack_LPHIGHCONTRASTA(void)
810 /* LPHIGHCONTRASTA */
811 TEST_TYPE(LPHIGHCONTRASTA, 4, 4);
814 static void test_pack_LPHIGHCONTRASTW(void)
816 /* LPHIGHCONTRASTW */
817 TEST_TYPE(LPHIGHCONTRASTW, 4, 4);
818 TEST_TYPE_POINTER(LPHIGHCONTRASTW, 12, 4);
821 static void test_pack_LPICONMETRICSA(void)
824 TEST_TYPE(LPICONMETRICSA, 4, 4);
825 TEST_TYPE_POINTER(LPICONMETRICSA, 76, 4);
828 static void test_pack_LPICONMETRICSW(void)
831 TEST_TYPE(LPICONMETRICSW, 4, 4);
832 TEST_TYPE_POINTER(LPICONMETRICSW, 108, 4);
835 static void test_pack_LPINPUT(void)
838 TEST_TYPE(LPINPUT, 4, 4);
841 static void test_pack_LPKBDLLHOOKSTRUCT(void)
843 /* LPKBDLLHOOKSTRUCT */
844 TEST_TYPE(LPKBDLLHOOKSTRUCT, 4, 4);
845 TEST_TYPE_POINTER(LPKBDLLHOOKSTRUCT, 20, 4);
848 static void test_pack_LPKEYBDINPUT(void)
851 TEST_TYPE(LPKEYBDINPUT, 4, 4);
852 TEST_TYPE_POINTER(LPKEYBDINPUT, 16, 4);
855 static void test_pack_LPMDICREATESTRUCTA(void)
857 /* LPMDICREATESTRUCTA */
858 TEST_TYPE(LPMDICREATESTRUCTA, 4, 4);
859 TEST_TYPE_POINTER(LPMDICREATESTRUCTA, 36, 4);
862 static void test_pack_LPMDICREATESTRUCTW(void)
864 /* LPMDICREATESTRUCTW */
865 TEST_TYPE(LPMDICREATESTRUCTW, 4, 4);
866 TEST_TYPE_POINTER(LPMDICREATESTRUCTW, 36, 4);
869 static void test_pack_LPMDINEXTMENU(void)
872 TEST_TYPE(LPMDINEXTMENU, 4, 4);
873 TEST_TYPE_POINTER(LPMDINEXTMENU, 12, 4);
876 static void test_pack_LPMEASUREITEMSTRUCT(void)
878 /* LPMEASUREITEMSTRUCT */
879 TEST_TYPE(LPMEASUREITEMSTRUCT, 4, 4);
880 TEST_TYPE_POINTER(LPMEASUREITEMSTRUCT, 24, 4);
883 static void test_pack_LPMENUINFO(void)
886 TEST_TYPE(LPMENUINFO, 4, 4);
887 TEST_TYPE_POINTER(LPMENUINFO, 28, 4);
890 static void test_pack_LPMENUITEMINFOA(void)
892 /* LPMENUITEMINFOA */
893 TEST_TYPE(LPMENUITEMINFOA, 4, 4);
896 static void test_pack_LPMENUITEMINFOW(void)
898 /* LPMENUITEMINFOW */
899 TEST_TYPE(LPMENUITEMINFOW, 4, 4);
900 TEST_TYPE_POINTER(LPMENUITEMINFOW, 48, 4);
903 static void test_pack_LPMENUTEMPLATE(void)
906 TEST_TYPE(LPMENUTEMPLATE, 4, 4);
909 static void test_pack_LPMINIMIZEDMETRICS(void)
911 /* LPMINIMIZEDMETRICS */
912 TEST_TYPE(LPMINIMIZEDMETRICS, 4, 4);
913 TEST_TYPE_POINTER(LPMINIMIZEDMETRICS, 20, 4);
916 static void test_pack_LPMINMAXINFO(void)
919 TEST_TYPE(LPMINMAXINFO, 4, 4);
920 TEST_TYPE_POINTER(LPMINMAXINFO, 40, 4);
923 static void test_pack_LPMONITORINFO(void)
926 TEST_TYPE(LPMONITORINFO, 4, 4);
927 TEST_TYPE_POINTER(LPMONITORINFO, 40, 4);
930 static void test_pack_LPMONITORINFOEXA(void)
932 /* LPMONITORINFOEXA */
933 TEST_TYPE(LPMONITORINFOEXA, 4, 4);
934 TEST_TYPE_POINTER(LPMONITORINFOEXA, 72, 4);
937 static void test_pack_LPMONITORINFOEXW(void)
939 /* LPMONITORINFOEXW */
940 TEST_TYPE(LPMONITORINFOEXW, 4, 4);
941 TEST_TYPE_POINTER(LPMONITORINFOEXW, 104, 4);
944 static void test_pack_LPMOUSEHOOKSTRUCT(void)
946 /* LPMOUSEHOOKSTRUCT */
947 TEST_TYPE(LPMOUSEHOOKSTRUCT, 4, 4);
948 TEST_TYPE_POINTER(LPMOUSEHOOKSTRUCT, 20, 4);
951 static void test_pack_LPMOUSEINPUT(void)
954 TEST_TYPE(LPMOUSEINPUT, 4, 4);
955 TEST_TYPE_POINTER(LPMOUSEINPUT, 24, 4);
958 static void test_pack_LPMOUSEKEYS(void)
961 TEST_TYPE(LPMOUSEKEYS, 4, 4);
962 TEST_TYPE_POINTER(LPMOUSEKEYS, 28, 4);
965 static void test_pack_LPMSG(void)
968 TEST_TYPE(LPMSG, 4, 4);
969 TEST_TYPE_POINTER(LPMSG, 28, 4);
972 static void test_pack_LPMSGBOXPARAMSA(void)
974 /* LPMSGBOXPARAMSA */
975 TEST_TYPE(LPMSGBOXPARAMSA, 4, 4);
976 TEST_TYPE_POINTER(LPMSGBOXPARAMSA, 40, 4);
979 static void test_pack_LPMSGBOXPARAMSW(void)
981 /* LPMSGBOXPARAMSW */
982 TEST_TYPE(LPMSGBOXPARAMSW, 4, 4);
983 TEST_TYPE_POINTER(LPMSGBOXPARAMSW, 40, 4);
986 static void test_pack_LPMSLLHOOKSTRUCT(void)
988 /* LPMSLLHOOKSTRUCT */
989 TEST_TYPE(LPMSLLHOOKSTRUCT, 4, 4);
990 TEST_TYPE_POINTER(LPMSLLHOOKSTRUCT, 24, 4);
993 static void test_pack_LPMULTIKEYHELPA(void)
995 /* LPMULTIKEYHELPA */
996 TEST_TYPE(LPMULTIKEYHELPA, 4, 4);
997 TEST_TYPE_POINTER(LPMULTIKEYHELPA, 8, 4);
1000 static void test_pack_LPMULTIKEYHELPW(void)
1002 /* LPMULTIKEYHELPW */
1003 TEST_TYPE(LPMULTIKEYHELPW, 4, 4);
1004 TEST_TYPE_POINTER(LPMULTIKEYHELPW, 8, 4);
1007 static void test_pack_LPNCCALCSIZE_PARAMS(void)
1009 /* LPNCCALCSIZE_PARAMS */
1010 TEST_TYPE(LPNCCALCSIZE_PARAMS, 4, 4);
1011 TEST_TYPE_POINTER(LPNCCALCSIZE_PARAMS, 52, 4);
1014 static void test_pack_LPNMHDR(void)
1017 TEST_TYPE(LPNMHDR, 4, 4);
1018 TEST_TYPE_POINTER(LPNMHDR, 12, 4);
1021 static void test_pack_LPNONCLIENTMETRICSA(void)
1023 /* LPNONCLIENTMETRICSA */
1024 TEST_TYPE(LPNONCLIENTMETRICSA, 4, 4);
1025 TEST_TYPE_POINTER(LPNONCLIENTMETRICSA, 340, 4);
1028 static void test_pack_LPNONCLIENTMETRICSW(void)
1030 /* LPNONCLIENTMETRICSW */
1031 TEST_TYPE(LPNONCLIENTMETRICSW, 4, 4);
1032 TEST_TYPE_POINTER(LPNONCLIENTMETRICSW, 500, 4);
1035 static void test_pack_LPPAINTSTRUCT(void)
1038 TEST_TYPE(LPPAINTSTRUCT, 4, 4);
1039 TEST_TYPE_POINTER(LPPAINTSTRUCT, 64, 4);
1042 static void test_pack_LPSCROLLINFO(void)
1045 TEST_TYPE(LPSCROLLINFO, 4, 4);
1046 TEST_TYPE_POINTER(LPSCROLLINFO, 28, 4);
1049 static void test_pack_LPSERIALKEYSA(void)
1052 TEST_TYPE(LPSERIALKEYSA, 4, 4);
1055 static void test_pack_LPSERIALKEYSW(void)
1058 TEST_TYPE(LPSERIALKEYSW, 4, 4);
1059 TEST_TYPE_POINTER(LPSERIALKEYSW, 28, 4);
1062 static void test_pack_LPSOUNDSENTRYA(void)
1064 /* LPSOUNDSENTRYA */
1065 TEST_TYPE(LPSOUNDSENTRYA, 4, 4);
1068 static void test_pack_LPSOUNDSENTRYW(void)
1070 /* LPSOUNDSENTRYW */
1071 TEST_TYPE(LPSOUNDSENTRYW, 4, 4);
1072 TEST_TYPE_POINTER(LPSOUNDSENTRYW, 48, 4);
1075 static void test_pack_LPSTICKYKEYS(void)
1078 TEST_TYPE(LPSTICKYKEYS, 4, 4);
1079 TEST_TYPE_POINTER(LPSTICKYKEYS, 8, 4);
1082 static void test_pack_LPSTYLESTRUCT(void)
1085 TEST_TYPE(LPSTYLESTRUCT, 4, 4);
1086 TEST_TYPE_POINTER(LPSTYLESTRUCT, 8, 4);
1089 static void test_pack_LPTOGGLEKEYS(void)
1092 TEST_TYPE(LPTOGGLEKEYS, 4, 4);
1093 TEST_TYPE_POINTER(LPTOGGLEKEYS, 8, 4);
1096 static void test_pack_LPTPMPARAMS(void)
1099 TEST_TYPE(LPTPMPARAMS, 4, 4);
1100 TEST_TYPE_POINTER(LPTPMPARAMS, 20, 4);
1103 static void test_pack_LPTRACKMOUSEEVENT(void)
1105 /* LPTRACKMOUSEEVENT */
1106 TEST_TYPE(LPTRACKMOUSEEVENT, 4, 4);
1107 TEST_TYPE_POINTER(LPTRACKMOUSEEVENT, 16, 4);
1110 static void test_pack_LPWINDOWINFO(void)
1113 TEST_TYPE(LPWINDOWINFO, 4, 4);
1116 static void test_pack_LPWINDOWPLACEMENT(void)
1118 /* LPWINDOWPLACEMENT */
1119 TEST_TYPE(LPWINDOWPLACEMENT, 4, 4);
1120 TEST_TYPE_POINTER(LPWINDOWPLACEMENT, 44, 4);
1123 static void test_pack_LPWINDOWPOS(void)
1126 TEST_TYPE(LPWINDOWPOS, 4, 4);
1127 TEST_TYPE_POINTER(LPWINDOWPOS, 28, 4);
1130 static void test_pack_LPWNDCLASSA(void)
1133 TEST_TYPE(LPWNDCLASSA, 4, 4);
1134 TEST_TYPE_POINTER(LPWNDCLASSA, 40, 4);
1137 static void test_pack_LPWNDCLASSEXA(void)
1140 TEST_TYPE(LPWNDCLASSEXA, 4, 4);
1141 TEST_TYPE_POINTER(LPWNDCLASSEXA, 48, 4);
1144 static void test_pack_LPWNDCLASSEXW(void)
1147 TEST_TYPE(LPWNDCLASSEXW, 4, 4);
1148 TEST_TYPE_POINTER(LPWNDCLASSEXW, 48, 4);
1151 static void test_pack_LPWNDCLASSW(void)
1154 TEST_TYPE(LPWNDCLASSW, 4, 4);
1155 TEST_TYPE_POINTER(LPWNDCLASSW, 40, 4);
1158 static void test_pack_MDICREATESTRUCTA(void)
1160 /* MDICREATESTRUCTA (pack 4) */
1161 TEST_TYPE(MDICREATESTRUCTA, 36, 4);
1162 TEST_FIELD(MDICREATESTRUCTA, LPCSTR, szClass, 0, 4, 4);
1163 TEST_FIELD(MDICREATESTRUCTA, LPCSTR, szTitle, 4, 4, 4);
1164 TEST_FIELD(MDICREATESTRUCTA, HINSTANCE, hOwner, 8, 4, 4);
1165 TEST_FIELD(MDICREATESTRUCTA, INT, x, 12, 4, 4);
1166 TEST_FIELD(MDICREATESTRUCTA, INT, y, 16, 4, 4);
1167 TEST_FIELD(MDICREATESTRUCTA, INT, cx, 20, 4, 4);
1168 TEST_FIELD(MDICREATESTRUCTA, INT, cy, 24, 4, 4);
1169 TEST_FIELD(MDICREATESTRUCTA, DWORD, style, 28, 4, 4);
1170 TEST_FIELD(MDICREATESTRUCTA, LPARAM, lParam, 32, 4, 4);
1173 static void test_pack_MDICREATESTRUCTW(void)
1175 /* MDICREATESTRUCTW (pack 4) */
1176 TEST_TYPE(MDICREATESTRUCTW, 36, 4);
1177 TEST_FIELD(MDICREATESTRUCTW, LPCWSTR, szClass, 0, 4, 4);
1178 TEST_FIELD(MDICREATESTRUCTW, LPCWSTR, szTitle, 4, 4, 4);
1179 TEST_FIELD(MDICREATESTRUCTW, HINSTANCE, hOwner, 8, 4, 4);
1180 TEST_FIELD(MDICREATESTRUCTW, INT, x, 12, 4, 4);
1181 TEST_FIELD(MDICREATESTRUCTW, INT, y, 16, 4, 4);
1182 TEST_FIELD(MDICREATESTRUCTW, INT, cx, 20, 4, 4);
1183 TEST_FIELD(MDICREATESTRUCTW, INT, cy, 24, 4, 4);
1184 TEST_FIELD(MDICREATESTRUCTW, DWORD, style, 28, 4, 4);
1185 TEST_FIELD(MDICREATESTRUCTW, LPARAM, lParam, 32, 4, 4);
1188 static void test_pack_MDINEXTMENU(void)
1190 /* MDINEXTMENU (pack 4) */
1191 TEST_TYPE(MDINEXTMENU, 12, 4);
1192 TEST_FIELD(MDINEXTMENU, HMENU, hmenuIn, 0, 4, 4);
1193 TEST_FIELD(MDINEXTMENU, HMENU, hmenuNext, 4, 4, 4);
1194 TEST_FIELD(MDINEXTMENU, HWND, hwndNext, 8, 4, 4);
1197 static void test_pack_MEASUREITEMSTRUCT(void)
1199 /* MEASUREITEMSTRUCT (pack 4) */
1200 TEST_TYPE(MEASUREITEMSTRUCT, 24, 4);
1201 TEST_FIELD(MEASUREITEMSTRUCT, UINT, CtlType, 0, 4, 4);
1202 TEST_FIELD(MEASUREITEMSTRUCT, UINT, CtlID, 4, 4, 4);
1203 TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemID, 8, 4, 4);
1204 TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemWidth, 12, 4, 4);
1205 TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemHeight, 16, 4, 4);
1206 TEST_FIELD(MEASUREITEMSTRUCT, ULONG_PTR, itemData, 20, 4, 4);
1209 static void test_pack_MENUINFO(void)
1211 /* MENUINFO (pack 4) */
1212 TEST_TYPE(MENUINFO, 28, 4);
1213 TEST_FIELD(MENUINFO, DWORD, cbSize, 0, 4, 4);
1214 TEST_FIELD(MENUINFO, DWORD, fMask, 4, 4, 4);
1215 TEST_FIELD(MENUINFO, DWORD, dwStyle, 8, 4, 4);
1216 TEST_FIELD(MENUINFO, UINT, cyMax, 12, 4, 4);
1217 TEST_FIELD(MENUINFO, HBRUSH, hbrBack, 16, 4, 4);
1218 TEST_FIELD(MENUINFO, DWORD, dwContextHelpID, 20, 4, 4);
1219 TEST_FIELD(MENUINFO, ULONG_PTR, dwMenuData, 24, 4, 4);
1222 static void test_pack_MENUITEMINFOA(void)
1224 /* MENUITEMINFOA (pack 4) */
1225 TEST_FIELD(MENUITEMINFOA, UINT, cbSize, 0, 4, 4);
1226 TEST_FIELD(MENUITEMINFOA, UINT, fMask, 4, 4, 4);
1227 TEST_FIELD(MENUITEMINFOA, UINT, fType, 8, 4, 4);
1228 TEST_FIELD(MENUITEMINFOA, UINT, fState, 12, 4, 4);
1229 TEST_FIELD(MENUITEMINFOA, UINT, wID, 16, 4, 4);
1230 TEST_FIELD(MENUITEMINFOA, HMENU, hSubMenu, 20, 4, 4);
1231 TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpChecked, 24, 4, 4);
1232 TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpUnchecked, 28, 4, 4);
1233 TEST_FIELD(MENUITEMINFOA, ULONG_PTR, dwItemData, 32, 4, 4);
1236 static void test_pack_MENUITEMINFOW(void)
1238 /* MENUITEMINFOW (pack 4) */
1239 TEST_TYPE(MENUITEMINFOW, 48, 4);
1240 TEST_FIELD(MENUITEMINFOW, UINT, cbSize, 0, 4, 4);
1241 TEST_FIELD(MENUITEMINFOW, UINT, fMask, 4, 4, 4);
1242 TEST_FIELD(MENUITEMINFOW, UINT, fType, 8, 4, 4);
1243 TEST_FIELD(MENUITEMINFOW, UINT, fState, 12, 4, 4);
1244 TEST_FIELD(MENUITEMINFOW, UINT, wID, 16, 4, 4);
1245 TEST_FIELD(MENUITEMINFOW, HMENU, hSubMenu, 20, 4, 4);
1246 TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpChecked, 24, 4, 4);
1247 TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpUnchecked, 28, 4, 4);
1248 TEST_FIELD(MENUITEMINFOW, ULONG_PTR, dwItemData, 32, 4, 4);
1249 TEST_FIELD(MENUITEMINFOW, LPWSTR, dwTypeData, 36, 4, 4);
1250 TEST_FIELD(MENUITEMINFOW, UINT, cch, 40, 4, 4);
1251 TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpItem, 44, 4, 4);
1254 static void test_pack_MENUITEMTEMPLATE(void)
1256 /* MENUITEMTEMPLATE (pack 4) */
1257 TEST_TYPE(MENUITEMTEMPLATE, 6, 2);
1258 TEST_FIELD(MENUITEMTEMPLATE, WORD, mtOption, 0, 2, 2);
1259 TEST_FIELD(MENUITEMTEMPLATE, WORD, mtID, 2, 2, 2);
1260 TEST_FIELD(MENUITEMTEMPLATE, WCHAR[1], mtString, 4, 2, 2);
1263 static void test_pack_MENUITEMTEMPLATEHEADER(void)
1265 /* MENUITEMTEMPLATEHEADER (pack 4) */
1266 TEST_TYPE(MENUITEMTEMPLATEHEADER, 4, 2);
1267 TEST_FIELD(MENUITEMTEMPLATEHEADER, WORD, versionNumber, 0, 2, 2);
1268 TEST_FIELD(MENUITEMTEMPLATEHEADER, WORD, offset, 2, 2, 2);
1271 static void test_pack_MENUTEMPLATE(void)
1276 static void test_pack_MINIMIZEDMETRICS(void)
1278 /* MINIMIZEDMETRICS (pack 4) */
1279 TEST_TYPE(MINIMIZEDMETRICS, 20, 4);
1280 TEST_FIELD(MINIMIZEDMETRICS, UINT, cbSize, 0, 4, 4);
1281 TEST_FIELD(MINIMIZEDMETRICS, int, iWidth, 4, 4, 4);
1282 TEST_FIELD(MINIMIZEDMETRICS, int, iHorzGap, 8, 4, 4);
1283 TEST_FIELD(MINIMIZEDMETRICS, int, iVertGap, 12, 4, 4);
1284 TEST_FIELD(MINIMIZEDMETRICS, int, iArrange, 16, 4, 4);
1287 static void test_pack_MINMAXINFO(void)
1289 /* MINMAXINFO (pack 4) */
1290 TEST_TYPE(MINMAXINFO, 40, 4);
1291 TEST_FIELD(MINMAXINFO, POINT, ptReserved, 0, 8, 4);
1292 TEST_FIELD(MINMAXINFO, POINT, ptMaxSize, 8, 8, 4);
1293 TEST_FIELD(MINMAXINFO, POINT, ptMaxPosition, 16, 8, 4);
1294 TEST_FIELD(MINMAXINFO, POINT, ptMinTrackSize, 24, 8, 4);
1295 TEST_FIELD(MINMAXINFO, POINT, ptMaxTrackSize, 32, 8, 4);
1298 static void test_pack_MONITORENUMPROC(void)
1300 /* MONITORENUMPROC */
1301 TEST_TYPE(MONITORENUMPROC, 4, 4);
1304 static void test_pack_MONITORINFO(void)
1306 /* MONITORINFO (pack 4) */
1307 TEST_TYPE(MONITORINFO, 40, 4);
1308 TEST_FIELD(MONITORINFO, DWORD, cbSize, 0, 4, 4);
1309 TEST_FIELD(MONITORINFO, RECT, rcMonitor, 4, 16, 4);
1310 TEST_FIELD(MONITORINFO, RECT, rcWork, 20, 16, 4);
1311 TEST_FIELD(MONITORINFO, DWORD, dwFlags, 36, 4, 4);
1314 static void test_pack_MONITORINFOEXA(void)
1316 /* MONITORINFOEXA (pack 4) */
1317 TEST_TYPE(MONITORINFOEXA, 72, 4);
1318 TEST_FIELD(MONITORINFOEXA, DWORD, cbSize, 0, 4, 4);
1319 TEST_FIELD(MONITORINFOEXA, RECT, rcMonitor, 4, 16, 4);
1320 TEST_FIELD(MONITORINFOEXA, RECT, rcWork, 20, 16, 4);
1321 TEST_FIELD(MONITORINFOEXA, DWORD, dwFlags, 36, 4, 4);
1322 TEST_FIELD(MONITORINFOEXA, CHAR[CCHDEVICENAME], szDevice, 40, 32, 1);
1325 static void test_pack_MONITORINFOEXW(void)
1327 /* MONITORINFOEXW (pack 4) */
1328 TEST_TYPE(MONITORINFOEXW, 104, 4);
1329 TEST_FIELD(MONITORINFOEXW, DWORD, cbSize, 0, 4, 4);
1330 TEST_FIELD(MONITORINFOEXW, RECT, rcMonitor, 4, 16, 4);
1331 TEST_FIELD(MONITORINFOEXW, RECT, rcWork, 20, 16, 4);
1332 TEST_FIELD(MONITORINFOEXW, DWORD, dwFlags, 36, 4, 4);
1333 TEST_FIELD(MONITORINFOEXW, WCHAR[CCHDEVICENAME], szDevice, 40, 64, 2);
1336 static void test_pack_MOUSEHOOKSTRUCT(void)
1338 /* MOUSEHOOKSTRUCT (pack 4) */
1339 TEST_TYPE(MOUSEHOOKSTRUCT, 20, 4);
1340 TEST_FIELD(MOUSEHOOKSTRUCT, POINT, pt, 0, 8, 4);
1341 TEST_FIELD(MOUSEHOOKSTRUCT, HWND, hwnd, 8, 4, 4);
1342 TEST_FIELD(MOUSEHOOKSTRUCT, UINT, wHitTestCode, 12, 4, 4);
1343 TEST_FIELD(MOUSEHOOKSTRUCT, ULONG_PTR, dwExtraInfo, 16, 4, 4);
1346 static void test_pack_MOUSEINPUT(void)
1348 /* MOUSEINPUT (pack 4) */
1349 TEST_TYPE(MOUSEINPUT, 24, 4);
1350 TEST_FIELD(MOUSEINPUT, LONG, dx, 0, 4, 4);
1351 TEST_FIELD(MOUSEINPUT, LONG, dy, 4, 4, 4);
1352 TEST_FIELD(MOUSEINPUT, DWORD, mouseData, 8, 4, 4);
1353 TEST_FIELD(MOUSEINPUT, DWORD, dwFlags, 12, 4, 4);
1354 TEST_FIELD(MOUSEINPUT, DWORD, time, 16, 4, 4);
1355 TEST_FIELD(MOUSEINPUT, ULONG_PTR, dwExtraInfo, 20, 4, 4);
1358 static void test_pack_MOUSEKEYS(void)
1360 /* MOUSEKEYS (pack 4) */
1361 TEST_TYPE(MOUSEKEYS, 28, 4);
1362 TEST_FIELD(MOUSEKEYS, UINT, cbSize, 0, 4, 4);
1363 TEST_FIELD(MOUSEKEYS, DWORD, dwFlags, 4, 4, 4);
1364 TEST_FIELD(MOUSEKEYS, DWORD, iMaxSpeed, 8, 4, 4);
1365 TEST_FIELD(MOUSEKEYS, DWORD, iTimeToMaxSpeed, 12, 4, 4);
1366 TEST_FIELD(MOUSEKEYS, DWORD, iCtrlSpeed, 16, 4, 4);
1367 TEST_FIELD(MOUSEKEYS, DWORD, dwReserved1, 20, 4, 4);
1368 TEST_FIELD(MOUSEKEYS, DWORD, dwReserved2, 24, 4, 4);
1371 static void test_pack_MSG(void)
1374 TEST_TYPE(MSG, 28, 4);
1375 TEST_FIELD(MSG, HWND, hwnd, 0, 4, 4);
1376 TEST_FIELD(MSG, UINT, message, 4, 4, 4);
1377 TEST_FIELD(MSG, WPARAM, wParam, 8, 4, 4);
1378 TEST_FIELD(MSG, LPARAM, lParam, 12, 4, 4);
1379 TEST_FIELD(MSG, DWORD, time, 16, 4, 4);
1380 TEST_FIELD(MSG, POINT, pt, 20, 8, 4);
1383 static void test_pack_MSGBOXCALLBACK(void)
1385 /* MSGBOXCALLBACK */
1386 TEST_TYPE(MSGBOXCALLBACK, 4, 4);
1389 static void test_pack_MSGBOXPARAMSA(void)
1391 /* MSGBOXPARAMSA (pack 4) */
1392 TEST_TYPE(MSGBOXPARAMSA, 40, 4);
1393 TEST_FIELD(MSGBOXPARAMSA, UINT, cbSize, 0, 4, 4);
1394 TEST_FIELD(MSGBOXPARAMSA, HWND, hwndOwner, 4, 4, 4);
1395 TEST_FIELD(MSGBOXPARAMSA, HINSTANCE, hInstance, 8, 4, 4);
1396 TEST_FIELD(MSGBOXPARAMSA, LPCSTR, lpszText, 12, 4, 4);
1397 TEST_FIELD(MSGBOXPARAMSA, LPCSTR, lpszCaption, 16, 4, 4);
1398 TEST_FIELD(MSGBOXPARAMSA, DWORD, dwStyle, 20, 4, 4);
1399 TEST_FIELD(MSGBOXPARAMSA, LPCSTR, lpszIcon, 24, 4, 4);
1400 TEST_FIELD(MSGBOXPARAMSA, DWORD_PTR, dwContextHelpId, 28, 4, 4);
1401 TEST_FIELD(MSGBOXPARAMSA, MSGBOXCALLBACK, lpfnMsgBoxCallback, 32, 4, 4);
1402 TEST_FIELD(MSGBOXPARAMSA, DWORD, dwLanguageId, 36, 4, 4);
1405 static void test_pack_MSGBOXPARAMSW(void)
1407 /* MSGBOXPARAMSW (pack 4) */
1408 TEST_TYPE(MSGBOXPARAMSW, 40, 4);
1409 TEST_FIELD(MSGBOXPARAMSW, UINT, cbSize, 0, 4, 4);
1410 TEST_FIELD(MSGBOXPARAMSW, HWND, hwndOwner, 4, 4, 4);
1411 TEST_FIELD(MSGBOXPARAMSW, HINSTANCE, hInstance, 8, 4, 4);
1412 TEST_FIELD(MSGBOXPARAMSW, LPCWSTR, lpszText, 12, 4, 4);
1413 TEST_FIELD(MSGBOXPARAMSW, LPCWSTR, lpszCaption, 16, 4, 4);
1414 TEST_FIELD(MSGBOXPARAMSW, DWORD, dwStyle, 20, 4, 4);
1415 TEST_FIELD(MSGBOXPARAMSW, LPCWSTR, lpszIcon, 24, 4, 4);
1416 TEST_FIELD(MSGBOXPARAMSW, DWORD_PTR, dwContextHelpId, 28, 4, 4);
1417 TEST_FIELD(MSGBOXPARAMSW, MSGBOXCALLBACK, lpfnMsgBoxCallback, 32, 4, 4);
1418 TEST_FIELD(MSGBOXPARAMSW, DWORD, dwLanguageId, 36, 4, 4);
1421 static void test_pack_MSLLHOOKSTRUCT(void)
1423 /* MSLLHOOKSTRUCT (pack 4) */
1424 TEST_TYPE(MSLLHOOKSTRUCT, 24, 4);
1425 TEST_FIELD(MSLLHOOKSTRUCT, POINT, pt, 0, 8, 4);
1426 TEST_FIELD(MSLLHOOKSTRUCT, DWORD, mouseData, 8, 4, 4);
1427 TEST_FIELD(MSLLHOOKSTRUCT, DWORD, flags, 12, 4, 4);
1428 TEST_FIELD(MSLLHOOKSTRUCT, DWORD, time, 16, 4, 4);
1429 TEST_FIELD(MSLLHOOKSTRUCT, ULONG_PTR, dwExtraInfo, 20, 4, 4);
1432 static void test_pack_MULTIKEYHELPA(void)
1434 /* MULTIKEYHELPA (pack 4) */
1435 TEST_TYPE(MULTIKEYHELPA, 8, 4);
1436 TEST_FIELD(MULTIKEYHELPA, DWORD, mkSize, 0, 4, 4);
1437 TEST_FIELD(MULTIKEYHELPA, CHAR, mkKeylist, 4, 1, 1);
1438 TEST_FIELD(MULTIKEYHELPA, CHAR[1], szKeyphrase, 5, 1, 1);
1441 static void test_pack_MULTIKEYHELPW(void)
1443 /* MULTIKEYHELPW (pack 4) */
1444 TEST_TYPE(MULTIKEYHELPW, 8, 4);
1445 TEST_FIELD(MULTIKEYHELPW, DWORD, mkSize, 0, 4, 4);
1446 TEST_FIELD(MULTIKEYHELPW, WCHAR, mkKeylist, 4, 2, 2);
1447 TEST_FIELD(MULTIKEYHELPW, WCHAR[1], szKeyphrase, 6, 2, 2);
1450 static void test_pack_NAMEENUMPROCA(void)
1453 TEST_TYPE(NAMEENUMPROCA, 4, 4);
1456 static void test_pack_NAMEENUMPROCW(void)
1459 TEST_TYPE(NAMEENUMPROCW, 4, 4);
1462 static void test_pack_NCCALCSIZE_PARAMS(void)
1464 /* NCCALCSIZE_PARAMS (pack 4) */
1465 TEST_TYPE(NCCALCSIZE_PARAMS, 52, 4);
1466 TEST_FIELD(NCCALCSIZE_PARAMS, RECT[3], rgrc, 0, 48, 4);
1467 TEST_FIELD(NCCALCSIZE_PARAMS, WINDOWPOS *, lppos, 48, 4, 4);
1470 static void test_pack_NMHDR(void)
1472 /* NMHDR (pack 4) */
1473 TEST_TYPE(NMHDR, 12, 4);
1474 TEST_FIELD(NMHDR, HWND, hwndFrom, 0, 4, 4);
1475 TEST_FIELD(NMHDR, UINT_PTR, idFrom, 4, 4, 4);
1476 TEST_FIELD(NMHDR, UINT, code, 8, 4, 4);
1479 static void test_pack_NONCLIENTMETRICSA(void)
1481 /* NONCLIENTMETRICSA (pack 4) */
1482 TEST_TYPE(NONCLIENTMETRICSA, 340, 4);
1483 TEST_FIELD(NONCLIENTMETRICSA, UINT, cbSize, 0, 4, 4);
1484 TEST_FIELD(NONCLIENTMETRICSA, INT, iBorderWidth, 4, 4, 4);
1485 TEST_FIELD(NONCLIENTMETRICSA, INT, iScrollWidth, 8, 4, 4);
1486 TEST_FIELD(NONCLIENTMETRICSA, INT, iScrollHeight, 12, 4, 4);
1487 TEST_FIELD(NONCLIENTMETRICSA, INT, iCaptionWidth, 16, 4, 4);
1488 TEST_FIELD(NONCLIENTMETRICSA, INT, iCaptionHeight, 20, 4, 4);
1489 TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfCaptionFont, 24, 60, 4);
1490 TEST_FIELD(NONCLIENTMETRICSA, INT, iSmCaptionWidth, 84, 4, 4);
1491 TEST_FIELD(NONCLIENTMETRICSA, INT, iSmCaptionHeight, 88, 4, 4);
1492 TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfSmCaptionFont, 92, 60, 4);
1493 TEST_FIELD(NONCLIENTMETRICSA, INT, iMenuWidth, 152, 4, 4);
1494 TEST_FIELD(NONCLIENTMETRICSA, INT, iMenuHeight, 156, 4, 4);
1495 TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfMenuFont, 160, 60, 4);
1496 TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfStatusFont, 220, 60, 4);
1497 TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfMessageFont, 280, 60, 4);
1500 static void test_pack_NONCLIENTMETRICSW(void)
1502 /* NONCLIENTMETRICSW (pack 4) */
1503 TEST_TYPE(NONCLIENTMETRICSW, 500, 4);
1504 TEST_FIELD(NONCLIENTMETRICSW, UINT, cbSize, 0, 4, 4);
1505 TEST_FIELD(NONCLIENTMETRICSW, INT, iBorderWidth, 4, 4, 4);
1506 TEST_FIELD(NONCLIENTMETRICSW, INT, iScrollWidth, 8, 4, 4);
1507 TEST_FIELD(NONCLIENTMETRICSW, INT, iScrollHeight, 12, 4, 4);
1508 TEST_FIELD(NONCLIENTMETRICSW, INT, iCaptionWidth, 16, 4, 4);
1509 TEST_FIELD(NONCLIENTMETRICSW, INT, iCaptionHeight, 20, 4, 4);
1510 TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfCaptionFont, 24, 92, 4);
1511 TEST_FIELD(NONCLIENTMETRICSW, INT, iSmCaptionWidth, 116, 4, 4);
1512 TEST_FIELD(NONCLIENTMETRICSW, INT, iSmCaptionHeight, 120, 4, 4);
1513 TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfSmCaptionFont, 124, 92, 4);
1514 TEST_FIELD(NONCLIENTMETRICSW, INT, iMenuWidth, 216, 4, 4);
1515 TEST_FIELD(NONCLIENTMETRICSW, INT, iMenuHeight, 220, 4, 4);
1516 TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfMenuFont, 224, 92, 4);
1517 TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfStatusFont, 316, 92, 4);
1518 TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfMessageFont, 408, 92, 4);
1521 static void test_pack_PAINTSTRUCT(void)
1523 /* PAINTSTRUCT (pack 4) */
1524 TEST_TYPE(PAINTSTRUCT, 64, 4);
1525 TEST_FIELD(PAINTSTRUCT, HDC, hdc, 0, 4, 4);
1526 TEST_FIELD(PAINTSTRUCT, BOOL, fErase, 4, 4, 4);
1527 TEST_FIELD(PAINTSTRUCT, RECT, rcPaint, 8, 16, 4);
1528 TEST_FIELD(PAINTSTRUCT, BOOL, fRestore, 24, 4, 4);
1529 TEST_FIELD(PAINTSTRUCT, BOOL, fIncUpdate, 28, 4, 4);
1530 TEST_FIELD(PAINTSTRUCT, BYTE[32], rgbReserved, 32, 32, 1);
1533 static void test_pack_PCOMBOBOXINFO(void)
1536 TEST_TYPE(PCOMBOBOXINFO, 4, 4);
1537 TEST_TYPE_POINTER(PCOMBOBOXINFO, 52, 4);
1540 static void test_pack_PCOMPAREITEMSTRUCT(void)
1542 /* PCOMPAREITEMSTRUCT */
1543 TEST_TYPE(PCOMPAREITEMSTRUCT, 4, 4);
1544 TEST_TYPE_POINTER(PCOMPAREITEMSTRUCT, 32, 4);
1547 static void test_pack_PCOPYDATASTRUCT(void)
1549 /* PCOPYDATASTRUCT */
1550 TEST_TYPE(PCOPYDATASTRUCT, 4, 4);
1551 TEST_TYPE_POINTER(PCOPYDATASTRUCT, 12, 4);
1554 static void test_pack_PCURSORINFO(void)
1557 TEST_TYPE(PCURSORINFO, 4, 4);
1558 TEST_TYPE_POINTER(PCURSORINFO, 20, 4);
1561 static void test_pack_PCWPRETSTRUCT(void)
1564 TEST_TYPE(PCWPRETSTRUCT, 4, 4);
1565 TEST_TYPE_POINTER(PCWPRETSTRUCT, 20, 4);
1568 static void test_pack_PCWPSTRUCT(void)
1571 TEST_TYPE(PCWPSTRUCT, 4, 4);
1572 TEST_TYPE_POINTER(PCWPSTRUCT, 16, 4);
1575 static void test_pack_PDEBUGHOOKINFO(void)
1577 /* PDEBUGHOOKINFO */
1578 TEST_TYPE(PDEBUGHOOKINFO, 4, 4);
1579 TEST_TYPE_POINTER(PDEBUGHOOKINFO, 20, 4);
1582 static void test_pack_PDELETEITEMSTRUCT(void)
1584 /* PDELETEITEMSTRUCT */
1585 TEST_TYPE(PDELETEITEMSTRUCT, 4, 4);
1586 TEST_TYPE_POINTER(PDELETEITEMSTRUCT, 20, 4);
1589 static void test_pack_PDLGITEMTEMPLATEA(void)
1591 /* PDLGITEMTEMPLATEA */
1592 TEST_TYPE(PDLGITEMTEMPLATEA, 4, 4);
1593 TEST_TYPE_POINTER(PDLGITEMTEMPLATEA, 18, 2);
1596 static void test_pack_PDLGITEMTEMPLATEW(void)
1598 /* PDLGITEMTEMPLATEW */
1599 TEST_TYPE(PDLGITEMTEMPLATEW, 4, 4);
1600 TEST_TYPE_POINTER(PDLGITEMTEMPLATEW, 18, 2);
1603 static void test_pack_PDRAWITEMSTRUCT(void)
1605 /* PDRAWITEMSTRUCT */
1606 TEST_TYPE(PDRAWITEMSTRUCT, 4, 4);
1607 TEST_TYPE_POINTER(PDRAWITEMSTRUCT, 48, 4);
1610 static void test_pack_PEVENTMSG(void)
1613 TEST_TYPE(PEVENTMSG, 4, 4);
1614 TEST_TYPE_POINTER(PEVENTMSG, 20, 4);
1617 static void test_pack_PGUITHREADINFO(void)
1619 /* PGUITHREADINFO */
1620 TEST_TYPE(PGUITHREADINFO, 4, 4);
1621 TEST_TYPE_POINTER(PGUITHREADINFO, 48, 4);
1624 static void test_pack_PHARDWAREHOOKSTRUCT(void)
1626 /* PHARDWAREHOOKSTRUCT */
1627 TEST_TYPE(PHARDWAREHOOKSTRUCT, 4, 4);
1628 TEST_TYPE_POINTER(PHARDWAREHOOKSTRUCT, 16, 4);
1631 static void test_pack_PHARDWAREINPUT(void)
1633 /* PHARDWAREINPUT */
1634 TEST_TYPE(PHARDWAREINPUT, 4, 4);
1635 TEST_TYPE_POINTER(PHARDWAREINPUT, 8, 4);
1638 static void test_pack_PHDEVNOTIFY(void)
1641 TEST_TYPE(PHDEVNOTIFY, 4, 4);
1642 TEST_TYPE_POINTER(PHDEVNOTIFY, 4, 4);
1645 static void test_pack_PHELPWININFOA(void)
1648 TEST_TYPE(PHELPWININFOA, 4, 4);
1649 TEST_TYPE_POINTER(PHELPWININFOA, 28, 4);
1652 static void test_pack_PHELPWININFOW(void)
1655 TEST_TYPE(PHELPWININFOW, 4, 4);
1656 TEST_TYPE_POINTER(PHELPWININFOW, 28, 4);
1659 static void test_pack_PICONINFO(void)
1662 TEST_TYPE(PICONINFO, 4, 4);
1663 TEST_TYPE_POINTER(PICONINFO, 20, 4);
1666 static void test_pack_PICONMETRICSA(void)
1669 TEST_TYPE(PICONMETRICSA, 4, 4);
1670 TEST_TYPE_POINTER(PICONMETRICSA, 76, 4);
1673 static void test_pack_PICONMETRICSW(void)
1676 TEST_TYPE(PICONMETRICSW, 4, 4);
1677 TEST_TYPE_POINTER(PICONMETRICSW, 108, 4);
1680 static void test_pack_PINPUT(void)
1683 TEST_TYPE(PINPUT, 4, 4);
1686 static void test_pack_PKBDLLHOOKSTRUCT(void)
1688 /* PKBDLLHOOKSTRUCT */
1689 TEST_TYPE(PKBDLLHOOKSTRUCT, 4, 4);
1690 TEST_TYPE_POINTER(PKBDLLHOOKSTRUCT, 20, 4);
1693 static void test_pack_PKEYBDINPUT(void)
1696 TEST_TYPE(PKEYBDINPUT, 4, 4);
1697 TEST_TYPE_POINTER(PKEYBDINPUT, 16, 4);
1700 static void test_pack_PMDINEXTMENU(void)
1703 TEST_TYPE(PMDINEXTMENU, 4, 4);
1704 TEST_TYPE_POINTER(PMDINEXTMENU, 12, 4);
1707 static void test_pack_PMEASUREITEMSTRUCT(void)
1709 /* PMEASUREITEMSTRUCT */
1710 TEST_TYPE(PMEASUREITEMSTRUCT, 4, 4);
1711 TEST_TYPE_POINTER(PMEASUREITEMSTRUCT, 24, 4);
1714 static void test_pack_PMENUITEMTEMPLATE(void)
1716 /* PMENUITEMTEMPLATE */
1717 TEST_TYPE(PMENUITEMTEMPLATE, 4, 4);
1718 TEST_TYPE_POINTER(PMENUITEMTEMPLATE, 6, 2);
1721 static void test_pack_PMENUITEMTEMPLATEHEADER(void)
1723 /* PMENUITEMTEMPLATEHEADER */
1724 TEST_TYPE(PMENUITEMTEMPLATEHEADER, 4, 4);
1725 TEST_TYPE_POINTER(PMENUITEMTEMPLATEHEADER, 4, 2);
1728 static void test_pack_PMINIMIZEDMETRICS(void)
1730 /* PMINIMIZEDMETRICS */
1731 TEST_TYPE(PMINIMIZEDMETRICS, 4, 4);
1732 TEST_TYPE_POINTER(PMINIMIZEDMETRICS, 20, 4);
1735 static void test_pack_PMINMAXINFO(void)
1738 TEST_TYPE(PMINMAXINFO, 4, 4);
1739 TEST_TYPE_POINTER(PMINMAXINFO, 40, 4);
1742 static void test_pack_PMOUSEHOOKSTRUCT(void)
1744 /* PMOUSEHOOKSTRUCT */
1745 TEST_TYPE(PMOUSEHOOKSTRUCT, 4, 4);
1746 TEST_TYPE_POINTER(PMOUSEHOOKSTRUCT, 20, 4);
1749 static void test_pack_PMOUSEINPUT(void)
1752 TEST_TYPE(PMOUSEINPUT, 4, 4);
1753 TEST_TYPE_POINTER(PMOUSEINPUT, 24, 4);
1756 static void test_pack_PMSG(void)
1759 TEST_TYPE(PMSG, 4, 4);
1760 TEST_TYPE_POINTER(PMSG, 28, 4);
1763 static void test_pack_PMSGBOXPARAMSA(void)
1765 /* PMSGBOXPARAMSA */
1766 TEST_TYPE(PMSGBOXPARAMSA, 4, 4);
1767 TEST_TYPE_POINTER(PMSGBOXPARAMSA, 40, 4);
1770 static void test_pack_PMSGBOXPARAMSW(void)
1772 /* PMSGBOXPARAMSW */
1773 TEST_TYPE(PMSGBOXPARAMSW, 4, 4);
1774 TEST_TYPE_POINTER(PMSGBOXPARAMSW, 40, 4);
1777 static void test_pack_PMSLLHOOKSTRUCT(void)
1779 /* PMSLLHOOKSTRUCT */
1780 TEST_TYPE(PMSLLHOOKSTRUCT, 4, 4);
1781 TEST_TYPE_POINTER(PMSLLHOOKSTRUCT, 24, 4);
1784 static void test_pack_PMULTIKEYHELPA(void)
1786 /* PMULTIKEYHELPA */
1787 TEST_TYPE(PMULTIKEYHELPA, 4, 4);
1788 TEST_TYPE_POINTER(PMULTIKEYHELPA, 8, 4);
1791 static void test_pack_PMULTIKEYHELPW(void)
1793 /* PMULTIKEYHELPW */
1794 TEST_TYPE(PMULTIKEYHELPW, 4, 4);
1795 TEST_TYPE_POINTER(PMULTIKEYHELPW, 8, 4);
1798 static void test_pack_PNONCLIENTMETRICSA(void)
1800 /* PNONCLIENTMETRICSA */
1801 TEST_TYPE(PNONCLIENTMETRICSA, 4, 4);
1802 TEST_TYPE_POINTER(PNONCLIENTMETRICSA, 340, 4);
1805 static void test_pack_PNONCLIENTMETRICSW(void)
1807 /* PNONCLIENTMETRICSW */
1808 TEST_TYPE(PNONCLIENTMETRICSW, 4, 4);
1809 TEST_TYPE_POINTER(PNONCLIENTMETRICSW, 500, 4);
1812 static void test_pack_PPAINTSTRUCT(void)
1815 TEST_TYPE(PPAINTSTRUCT, 4, 4);
1816 TEST_TYPE_POINTER(PPAINTSTRUCT, 64, 4);
1819 static void test_pack_PROPENUMPROCA(void)
1822 TEST_TYPE(PROPENUMPROCA, 4, 4);
1825 static void test_pack_PROPENUMPROCEXA(void)
1827 /* PROPENUMPROCEXA */
1828 TEST_TYPE(PROPENUMPROCEXA, 4, 4);
1831 static void test_pack_PROPENUMPROCEXW(void)
1833 /* PROPENUMPROCEXW */
1834 TEST_TYPE(PROPENUMPROCEXW, 4, 4);
1837 static void test_pack_PROPENUMPROCW(void)
1840 TEST_TYPE(PROPENUMPROCW, 4, 4);
1843 static void test_pack_PWINDOWINFO(void)
1846 TEST_TYPE(PWINDOWINFO, 4, 4);
1849 static void test_pack_PWINDOWPLACEMENT(void)
1851 /* PWINDOWPLACEMENT */
1852 TEST_TYPE(PWINDOWPLACEMENT, 4, 4);
1853 TEST_TYPE_POINTER(PWINDOWPLACEMENT, 44, 4);
1856 static void test_pack_PWINDOWPOS(void)
1859 TEST_TYPE(PWINDOWPOS, 4, 4);
1860 TEST_TYPE_POINTER(PWINDOWPOS, 28, 4);
1863 static void test_pack_PWNDCLASSA(void)
1866 TEST_TYPE(PWNDCLASSA, 4, 4);
1867 TEST_TYPE_POINTER(PWNDCLASSA, 40, 4);
1870 static void test_pack_PWNDCLASSEXA(void)
1873 TEST_TYPE(PWNDCLASSEXA, 4, 4);
1874 TEST_TYPE_POINTER(PWNDCLASSEXA, 48, 4);
1877 static void test_pack_PWNDCLASSEXW(void)
1880 TEST_TYPE(PWNDCLASSEXW, 4, 4);
1881 TEST_TYPE_POINTER(PWNDCLASSEXW, 48, 4);
1884 static void test_pack_PWNDCLASSW(void)
1887 TEST_TYPE(PWNDCLASSW, 4, 4);
1888 TEST_TYPE_POINTER(PWNDCLASSW, 40, 4);
1891 static void test_pack_SCROLLINFO(void)
1893 /* SCROLLINFO (pack 4) */
1894 TEST_TYPE(SCROLLINFO, 28, 4);
1895 TEST_FIELD(SCROLLINFO, UINT, cbSize, 0, 4, 4);
1896 TEST_FIELD(SCROLLINFO, UINT, fMask, 4, 4, 4);
1897 TEST_FIELD(SCROLLINFO, INT, nMin, 8, 4, 4);
1898 TEST_FIELD(SCROLLINFO, INT, nMax, 12, 4, 4);
1899 TEST_FIELD(SCROLLINFO, UINT, nPage, 16, 4, 4);
1900 TEST_FIELD(SCROLLINFO, INT, nPos, 20, 4, 4);
1901 TEST_FIELD(SCROLLINFO, INT, nTrackPos, 24, 4, 4);
1904 static void test_pack_SENDASYNCPROC(void)
1907 TEST_TYPE(SENDASYNCPROC, 4, 4);
1910 static void test_pack_SERIALKEYSA(void)
1912 /* SERIALKEYSA (pack 4) */
1913 TEST_FIELD(SERIALKEYSA, UINT, cbSize, 0, 4, 4);
1914 TEST_FIELD(SERIALKEYSA, DWORD, dwFlags, 4, 4, 4);
1917 static void test_pack_SERIALKEYSW(void)
1919 /* SERIALKEYSW (pack 4) */
1920 TEST_TYPE(SERIALKEYSW, 28, 4);
1921 TEST_FIELD(SERIALKEYSW, UINT, cbSize, 0, 4, 4);
1922 TEST_FIELD(SERIALKEYSW, DWORD, dwFlags, 4, 4, 4);
1923 TEST_FIELD(SERIALKEYSW, LPWSTR, lpszActivePort, 8, 4, 4);
1924 TEST_FIELD(SERIALKEYSW, LPWSTR, lpszPort, 12, 4, 4);
1925 TEST_FIELD(SERIALKEYSW, UINT, iBaudRate, 16, 4, 4);
1926 TEST_FIELD(SERIALKEYSW, UINT, iPortState, 20, 4, 4);
1927 TEST_FIELD(SERIALKEYSW, UINT, iActive, 24, 4, 4);
1930 static void test_pack_SOUNDSENTRYA(void)
1932 /* SOUNDSENTRYA (pack 4) */
1933 TEST_FIELD(SOUNDSENTRYA, UINT, cbSize, 0, 4, 4);
1934 TEST_FIELD(SOUNDSENTRYA, DWORD, dwFlags, 4, 4, 4);
1935 TEST_FIELD(SOUNDSENTRYA, DWORD, iFSTextEffect, 8, 4, 4);
1936 TEST_FIELD(SOUNDSENTRYA, DWORD, iFSTextEffectMSec, 12, 4, 4);
1937 TEST_FIELD(SOUNDSENTRYA, DWORD, iFSTextEffectColorBits, 16, 4, 4);
1938 TEST_FIELD(SOUNDSENTRYA, DWORD, iFSGrafEffect, 20, 4, 4);
1939 TEST_FIELD(SOUNDSENTRYA, DWORD, iFSGrafEffectMSec, 24, 4, 4);
1940 TEST_FIELD(SOUNDSENTRYA, DWORD, iFSGrafEffectColor, 28, 4, 4);
1941 TEST_FIELD(SOUNDSENTRYA, DWORD, iWindowsEffect, 32, 4, 4);
1942 TEST_FIELD(SOUNDSENTRYA, DWORD, iWindowsEffectMSec, 36, 4, 4);
1945 static void test_pack_SOUNDSENTRYW(void)
1947 /* SOUNDSENTRYW (pack 4) */
1948 TEST_TYPE(SOUNDSENTRYW, 48, 4);
1949 TEST_FIELD(SOUNDSENTRYW, UINT, cbSize, 0, 4, 4);
1950 TEST_FIELD(SOUNDSENTRYW, DWORD, dwFlags, 4, 4, 4);
1951 TEST_FIELD(SOUNDSENTRYW, DWORD, iFSTextEffect, 8, 4, 4);
1952 TEST_FIELD(SOUNDSENTRYW, DWORD, iFSTextEffectMSec, 12, 4, 4);
1953 TEST_FIELD(SOUNDSENTRYW, DWORD, iFSTextEffectColorBits, 16, 4, 4);
1954 TEST_FIELD(SOUNDSENTRYW, DWORD, iFSGrafEffect, 20, 4, 4);
1955 TEST_FIELD(SOUNDSENTRYW, DWORD, iFSGrafEffectMSec, 24, 4, 4);
1956 TEST_FIELD(SOUNDSENTRYW, DWORD, iFSGrafEffectColor, 28, 4, 4);
1957 TEST_FIELD(SOUNDSENTRYW, DWORD, iWindowsEffect, 32, 4, 4);
1958 TEST_FIELD(SOUNDSENTRYW, DWORD, iWindowsEffectMSec, 36, 4, 4);
1959 TEST_FIELD(SOUNDSENTRYW, LPWSTR, lpszWindowsEffectDLL, 40, 4, 4);
1960 TEST_FIELD(SOUNDSENTRYW, DWORD, iWindowsEffectOrdinal, 44, 4, 4);
1963 static void test_pack_STICKYKEYS(void)
1965 /* STICKYKEYS (pack 4) */
1966 TEST_TYPE(STICKYKEYS, 8, 4);
1967 TEST_FIELD(STICKYKEYS, DWORD, cbSize, 0, 4, 4);
1968 TEST_FIELD(STICKYKEYS, DWORD, dwFlags, 4, 4, 4);
1971 static void test_pack_STYLESTRUCT(void)
1973 /* STYLESTRUCT (pack 4) */
1974 TEST_TYPE(STYLESTRUCT, 8, 4);
1975 TEST_FIELD(STYLESTRUCT, DWORD, styleOld, 0, 4, 4);
1976 TEST_FIELD(STYLESTRUCT, DWORD, styleNew, 4, 4, 4);
1979 static void test_pack_TIMERPROC(void)
1982 TEST_TYPE(TIMERPROC, 4, 4);
1985 static void test_pack_TOGGLEKEYS(void)
1987 /* TOGGLEKEYS (pack 4) */
1988 TEST_TYPE(TOGGLEKEYS, 8, 4);
1989 TEST_FIELD(TOGGLEKEYS, DWORD, cbSize, 0, 4, 4);
1990 TEST_FIELD(TOGGLEKEYS, DWORD, dwFlags, 4, 4, 4);
1993 static void test_pack_TPMPARAMS(void)
1995 /* TPMPARAMS (pack 4) */
1996 TEST_TYPE(TPMPARAMS, 20, 4);
1997 TEST_FIELD(TPMPARAMS, UINT, cbSize, 0, 4, 4);
1998 TEST_FIELD(TPMPARAMS, RECT, rcExclude, 4, 16, 4);
2001 static void test_pack_TRACKMOUSEEVENT(void)
2003 /* TRACKMOUSEEVENT (pack 4) */
2004 TEST_TYPE(TRACKMOUSEEVENT, 16, 4);
2005 TEST_FIELD(TRACKMOUSEEVENT, DWORD, cbSize, 0, 4, 4);
2006 TEST_FIELD(TRACKMOUSEEVENT, DWORD, dwFlags, 4, 4, 4);
2007 TEST_FIELD(TRACKMOUSEEVENT, HWND, hwndTrack, 8, 4, 4);
2008 TEST_FIELD(TRACKMOUSEEVENT, DWORD, dwHoverTime, 12, 4, 4);
2011 static void test_pack_WINDOWINFO(void)
2013 /* WINDOWINFO (pack 4) */
2014 TEST_FIELD(WINDOWINFO, DWORD, cbSize, 0, 4, 4);
2015 TEST_FIELD(WINDOWINFO, RECT, rcWindow, 4, 16, 4);
2016 TEST_FIELD(WINDOWINFO, RECT, rcClient, 20, 16, 4);
2017 TEST_FIELD(WINDOWINFO, DWORD, dwStyle, 36, 4, 4);
2018 TEST_FIELD(WINDOWINFO, DWORD, dwExStyle, 40, 4, 4);
2019 TEST_FIELD(WINDOWINFO, UINT, cxWindowBorders, 48, 4, 4);
2020 TEST_FIELD(WINDOWINFO, UINT, cyWindowBorders, 52, 4, 4);
2021 TEST_FIELD(WINDOWINFO, ATOM, atomWindowType, 56, 2, 2);
2022 TEST_FIELD(WINDOWINFO, WORD, wCreatorVersion, 58, 2, 2);
2025 static void test_pack_WINDOWPOS(void)
2027 /* WINDOWPOS (pack 4) */
2028 TEST_TYPE(WINDOWPOS, 28, 4);
2029 TEST_FIELD(WINDOWPOS, HWND, hwnd, 0, 4, 4);
2030 TEST_FIELD(WINDOWPOS, HWND, hwndInsertAfter, 4, 4, 4);
2031 TEST_FIELD(WINDOWPOS, INT, x, 8, 4, 4);
2032 TEST_FIELD(WINDOWPOS, INT, y, 12, 4, 4);
2033 TEST_FIELD(WINDOWPOS, INT, cx, 16, 4, 4);
2034 TEST_FIELD(WINDOWPOS, INT, cy, 20, 4, 4);
2035 TEST_FIELD(WINDOWPOS, UINT, flags, 24, 4, 4);
2038 static void test_pack_WINEVENTPROC(void)
2041 TEST_TYPE(WINEVENTPROC, 4, 4);
2044 static void test_pack_WINSTAENUMPROCA(void)
2046 /* WINSTAENUMPROCA */
2047 TEST_TYPE(WINSTAENUMPROCA, 4, 4);
2050 static void test_pack_WINSTAENUMPROCW(void)
2052 /* WINSTAENUMPROCW */
2053 TEST_TYPE(WINSTAENUMPROCW, 4, 4);
2056 static void test_pack_WNDCLASSA(void)
2058 /* WNDCLASSA (pack 4) */
2059 TEST_TYPE(WNDCLASSA, 40, 4);
2060 TEST_FIELD(WNDCLASSA, UINT, style, 0, 4, 4);
2061 TEST_FIELD(WNDCLASSA, WNDPROC, lpfnWndProc, 4, 4, 4);
2062 TEST_FIELD(WNDCLASSA, INT, cbClsExtra, 8, 4, 4);
2063 TEST_FIELD(WNDCLASSA, INT, cbWndExtra, 12, 4, 4);
2064 TEST_FIELD(WNDCLASSA, HINSTANCE, hInstance, 16, 4, 4);
2065 TEST_FIELD(WNDCLASSA, HICON, hIcon, 20, 4, 4);
2066 TEST_FIELD(WNDCLASSA, HCURSOR, hCursor, 24, 4, 4);
2067 TEST_FIELD(WNDCLASSA, HBRUSH, hbrBackground, 28, 4, 4);
2068 TEST_FIELD(WNDCLASSA, LPCSTR, lpszMenuName, 32, 4, 4);
2069 TEST_FIELD(WNDCLASSA, LPCSTR, lpszClassName, 36, 4, 4);
2072 static void test_pack_WNDCLASSEXA(void)
2074 /* WNDCLASSEXA (pack 4) */
2075 TEST_TYPE(WNDCLASSEXA, 48, 4);
2076 TEST_FIELD(WNDCLASSEXA, UINT, cbSize, 0, 4, 4);
2077 TEST_FIELD(WNDCLASSEXA, UINT, style, 4, 4, 4);
2078 TEST_FIELD(WNDCLASSEXA, WNDPROC, lpfnWndProc, 8, 4, 4);
2079 TEST_FIELD(WNDCLASSEXA, INT, cbClsExtra, 12, 4, 4);
2080 TEST_FIELD(WNDCLASSEXA, INT, cbWndExtra, 16, 4, 4);
2081 TEST_FIELD(WNDCLASSEXA, HINSTANCE, hInstance, 20, 4, 4);
2082 TEST_FIELD(WNDCLASSEXA, HICON, hIcon, 24, 4, 4);
2083 TEST_FIELD(WNDCLASSEXA, HCURSOR, hCursor, 28, 4, 4);
2084 TEST_FIELD(WNDCLASSEXA, HBRUSH, hbrBackground, 32, 4, 4);
2085 TEST_FIELD(WNDCLASSEXA, LPCSTR, lpszMenuName, 36, 4, 4);
2086 TEST_FIELD(WNDCLASSEXA, LPCSTR, lpszClassName, 40, 4, 4);
2087 TEST_FIELD(WNDCLASSEXA, HICON, hIconSm, 44, 4, 4);
2090 static void test_pack_WNDCLASSEXW(void)
2092 /* WNDCLASSEXW (pack 4) */
2093 TEST_TYPE(WNDCLASSEXW, 48, 4);
2094 TEST_FIELD(WNDCLASSEXW, UINT, cbSize, 0, 4, 4);
2095 TEST_FIELD(WNDCLASSEXW, UINT, style, 4, 4, 4);
2096 TEST_FIELD(WNDCLASSEXW, WNDPROC, lpfnWndProc, 8, 4, 4);
2097 TEST_FIELD(WNDCLASSEXW, INT, cbClsExtra, 12, 4, 4);
2098 TEST_FIELD(WNDCLASSEXW, INT, cbWndExtra, 16, 4, 4);
2099 TEST_FIELD(WNDCLASSEXW, HINSTANCE, hInstance, 20, 4, 4);
2100 TEST_FIELD(WNDCLASSEXW, HICON, hIcon, 24, 4, 4);
2101 TEST_FIELD(WNDCLASSEXW, HCURSOR, hCursor, 28, 4, 4);
2102 TEST_FIELD(WNDCLASSEXW, HBRUSH, hbrBackground, 32, 4, 4);
2103 TEST_FIELD(WNDCLASSEXW, LPCWSTR, lpszMenuName, 36, 4, 4);
2104 TEST_FIELD(WNDCLASSEXW, LPCWSTR, lpszClassName, 40, 4, 4);
2105 TEST_FIELD(WNDCLASSEXW, HICON, hIconSm, 44, 4, 4);
2108 static void test_pack_WNDCLASSW(void)
2110 /* WNDCLASSW (pack 4) */
2111 TEST_TYPE(WNDCLASSW, 40, 4);
2112 TEST_FIELD(WNDCLASSW, UINT, style, 0, 4, 4);
2113 TEST_FIELD(WNDCLASSW, WNDPROC, lpfnWndProc, 4, 4, 4);
2114 TEST_FIELD(WNDCLASSW, INT, cbClsExtra, 8, 4, 4);
2115 TEST_FIELD(WNDCLASSW, INT, cbWndExtra, 12, 4, 4);
2116 TEST_FIELD(WNDCLASSW, HINSTANCE, hInstance, 16, 4, 4);
2117 TEST_FIELD(WNDCLASSW, HICON, hIcon, 20, 4, 4);
2118 TEST_FIELD(WNDCLASSW, HCURSOR, hCursor, 24, 4, 4);
2119 TEST_FIELD(WNDCLASSW, HBRUSH, hbrBackground, 28, 4, 4);
2120 TEST_FIELD(WNDCLASSW, LPCWSTR, lpszMenuName, 32, 4, 4);
2121 TEST_FIELD(WNDCLASSW, LPCWSTR, lpszClassName, 36, 4, 4);
2124 static void test_pack_WNDENUMPROC(void)
2127 TEST_TYPE(WNDENUMPROC, 4, 4);
2130 static void test_pack_WNDPROC(void)
2133 TEST_TYPE(WNDPROC, 4, 4);
2136 static void test_pack(void)
2139 test_pack_ACCESSTIMEOUT();
2140 test_pack_ANIMATIONINFO();
2141 test_pack_CBTACTIVATESTRUCT();
2142 test_pack_CBT_CREATEWNDA();
2143 test_pack_CBT_CREATEWNDW();
2144 test_pack_CLIENTCREATESTRUCT();
2145 test_pack_COMBOBOXINFO();
2146 test_pack_COMPAREITEMSTRUCT();
2147 test_pack_COPYDATASTRUCT();
2148 test_pack_CREATESTRUCTA();
2149 test_pack_CREATESTRUCTW();
2150 test_pack_CURSORINFO();
2151 test_pack_CWPRETSTRUCT();
2152 test_pack_CWPSTRUCT();
2153 test_pack_DEBUGHOOKINFO();
2154 test_pack_DELETEITEMSTRUCT();
2155 test_pack_DESKTOPENUMPROCA();
2156 test_pack_DESKTOPENUMPROCW();
2157 test_pack_DLGITEMTEMPLATE();
2158 test_pack_DLGPROC();
2159 test_pack_DLGTEMPLATE();
2160 test_pack_DRAWSTATEPROC();
2161 test_pack_DRAWTEXTPARAMS();
2162 test_pack_EDITWORDBREAKPROCA();
2163 test_pack_EDITWORDBREAKPROCW();
2164 test_pack_EVENTMSG();
2165 test_pack_FILTERKEYS();
2166 test_pack_GRAYSTRINGPROC();
2167 test_pack_GUITHREADINFO();
2168 test_pack_HARDWAREHOOKSTRUCT();
2169 test_pack_HARDWAREINPUT();
2170 test_pack_HDEVNOTIFY();
2172 test_pack_HELPINFO();
2173 test_pack_HELPWININFOA();
2174 test_pack_HELPWININFOW();
2175 test_pack_HIGHCONTRASTA();
2176 test_pack_HIGHCONTRASTW();
2177 test_pack_HOOKPROC();
2178 test_pack_ICONINFO();
2179 test_pack_ICONMETRICSA();
2180 test_pack_ICONMETRICSW();
2182 test_pack_KBDLLHOOKSTRUCT();
2183 test_pack_KEYBDINPUT();
2184 test_pack_LPACCEL();
2185 test_pack_LPACCESSTIMEOUT();
2186 test_pack_LPANIMATIONINFO();
2187 test_pack_LPCBTACTIVATESTRUCT();
2188 test_pack_LPCBT_CREATEWNDA();
2189 test_pack_LPCBT_CREATEWNDW();
2190 test_pack_LPCDLGTEMPLATEA();
2191 test_pack_LPCDLGTEMPLATEW();
2192 test_pack_LPCLIENTCREATESTRUCT();
2193 test_pack_LPCMENUINFO();
2194 test_pack_LPCMENUITEMINFOA();
2195 test_pack_LPCMENUITEMINFOW();
2196 test_pack_LPCOMBOBOXINFO();
2197 test_pack_LPCOMPAREITEMSTRUCT();
2198 test_pack_LPCREATESTRUCTA();
2199 test_pack_LPCREATESTRUCTW();
2200 test_pack_LPCSCROLLINFO();
2201 test_pack_LPCURSORINFO();
2202 test_pack_LPCWPRETSTRUCT();
2203 test_pack_LPCWPSTRUCT();
2204 test_pack_LPDEBUGHOOKINFO();
2205 test_pack_LPDELETEITEMSTRUCT();
2206 test_pack_LPDLGITEMTEMPLATEA();
2207 test_pack_LPDLGITEMTEMPLATEW();
2208 test_pack_LPDLGTEMPLATEA();
2209 test_pack_LPDLGTEMPLATEW();
2210 test_pack_LPDRAWITEMSTRUCT();
2211 test_pack_LPDRAWTEXTPARAMS();
2212 test_pack_LPEVENTMSG();
2213 test_pack_LPFILTERKEYS();
2214 test_pack_LPHARDWAREHOOKSTRUCT();
2215 test_pack_LPHARDWAREINPUT();
2216 test_pack_LPHELPINFO();
2217 test_pack_LPHELPWININFOA();
2218 test_pack_LPHELPWININFOW();
2219 test_pack_LPHIGHCONTRASTA();
2220 test_pack_LPHIGHCONTRASTW();
2221 test_pack_LPICONMETRICSA();
2222 test_pack_LPICONMETRICSW();
2223 test_pack_LPINPUT();
2224 test_pack_LPKBDLLHOOKSTRUCT();
2225 test_pack_LPKEYBDINPUT();
2226 test_pack_LPMDICREATESTRUCTA();
2227 test_pack_LPMDICREATESTRUCTW();
2228 test_pack_LPMDINEXTMENU();
2229 test_pack_LPMEASUREITEMSTRUCT();
2230 test_pack_LPMENUINFO();
2231 test_pack_LPMENUITEMINFOA();
2232 test_pack_LPMENUITEMINFOW();
2233 test_pack_LPMENUTEMPLATE();
2234 test_pack_LPMINIMIZEDMETRICS();
2235 test_pack_LPMINMAXINFO();
2236 test_pack_LPMONITORINFO();
2237 test_pack_LPMONITORINFOEXA();
2238 test_pack_LPMONITORINFOEXW();
2239 test_pack_LPMOUSEHOOKSTRUCT();
2240 test_pack_LPMOUSEINPUT();
2241 test_pack_LPMOUSEKEYS();
2243 test_pack_LPMSGBOXPARAMSA();
2244 test_pack_LPMSGBOXPARAMSW();
2245 test_pack_LPMSLLHOOKSTRUCT();
2246 test_pack_LPMULTIKEYHELPA();
2247 test_pack_LPMULTIKEYHELPW();
2248 test_pack_LPNCCALCSIZE_PARAMS();
2249 test_pack_LPNMHDR();
2250 test_pack_LPNONCLIENTMETRICSA();
2251 test_pack_LPNONCLIENTMETRICSW();
2252 test_pack_LPPAINTSTRUCT();
2253 test_pack_LPSCROLLINFO();
2254 test_pack_LPSERIALKEYSA();
2255 test_pack_LPSERIALKEYSW();
2256 test_pack_LPSOUNDSENTRYA();
2257 test_pack_LPSOUNDSENTRYW();
2258 test_pack_LPSTICKYKEYS();
2259 test_pack_LPSTYLESTRUCT();
2260 test_pack_LPTOGGLEKEYS();
2261 test_pack_LPTPMPARAMS();
2262 test_pack_LPTRACKMOUSEEVENT();
2263 test_pack_LPWINDOWINFO();
2264 test_pack_LPWINDOWPLACEMENT();
2265 test_pack_LPWINDOWPOS();
2266 test_pack_LPWNDCLASSA();
2267 test_pack_LPWNDCLASSEXA();
2268 test_pack_LPWNDCLASSEXW();
2269 test_pack_LPWNDCLASSW();
2270 test_pack_MDICREATESTRUCTA();
2271 test_pack_MDICREATESTRUCTW();
2272 test_pack_MDINEXTMENU();
2273 test_pack_MEASUREITEMSTRUCT();
2274 test_pack_MENUINFO();
2275 test_pack_MENUITEMINFOA();
2276 test_pack_MENUITEMINFOW();
2277 test_pack_MENUITEMTEMPLATE();
2278 test_pack_MENUITEMTEMPLATEHEADER();
2279 test_pack_MENUTEMPLATE();
2280 test_pack_MINIMIZEDMETRICS();
2281 test_pack_MINMAXINFO();
2282 test_pack_MONITORENUMPROC();
2283 test_pack_MONITORINFO();
2284 test_pack_MONITORINFOEXA();
2285 test_pack_MONITORINFOEXW();
2286 test_pack_MOUSEHOOKSTRUCT();
2287 test_pack_MOUSEINPUT();
2288 test_pack_MOUSEKEYS();
2290 test_pack_MSGBOXCALLBACK();
2291 test_pack_MSGBOXPARAMSA();
2292 test_pack_MSGBOXPARAMSW();
2293 test_pack_MSLLHOOKSTRUCT();
2294 test_pack_MULTIKEYHELPA();
2295 test_pack_MULTIKEYHELPW();
2296 test_pack_NAMEENUMPROCA();
2297 test_pack_NAMEENUMPROCW();
2298 test_pack_NCCALCSIZE_PARAMS();
2300 test_pack_NONCLIENTMETRICSA();
2301 test_pack_NONCLIENTMETRICSW();
2302 test_pack_PAINTSTRUCT();
2303 test_pack_PCOMBOBOXINFO();
2304 test_pack_PCOMPAREITEMSTRUCT();
2305 test_pack_PCOPYDATASTRUCT();
2306 test_pack_PCURSORINFO();
2307 test_pack_PCWPRETSTRUCT();
2308 test_pack_PCWPSTRUCT();
2309 test_pack_PDEBUGHOOKINFO();
2310 test_pack_PDELETEITEMSTRUCT();
2311 test_pack_PDLGITEMTEMPLATEA();
2312 test_pack_PDLGITEMTEMPLATEW();
2313 test_pack_PDRAWITEMSTRUCT();
2314 test_pack_PEVENTMSG();
2315 test_pack_PGUITHREADINFO();
2316 test_pack_PHARDWAREHOOKSTRUCT();
2317 test_pack_PHARDWAREINPUT();
2318 test_pack_PHDEVNOTIFY();
2319 test_pack_PHELPWININFOA();
2320 test_pack_PHELPWININFOW();
2321 test_pack_PICONINFO();
2322 test_pack_PICONMETRICSA();
2323 test_pack_PICONMETRICSW();
2325 test_pack_PKBDLLHOOKSTRUCT();
2326 test_pack_PKEYBDINPUT();
2327 test_pack_PMDINEXTMENU();
2328 test_pack_PMEASUREITEMSTRUCT();
2329 test_pack_PMENUITEMTEMPLATE();
2330 test_pack_PMENUITEMTEMPLATEHEADER();
2331 test_pack_PMINIMIZEDMETRICS();
2332 test_pack_PMINMAXINFO();
2333 test_pack_PMOUSEHOOKSTRUCT();
2334 test_pack_PMOUSEINPUT();
2336 test_pack_PMSGBOXPARAMSA();
2337 test_pack_PMSGBOXPARAMSW();
2338 test_pack_PMSLLHOOKSTRUCT();
2339 test_pack_PMULTIKEYHELPA();
2340 test_pack_PMULTIKEYHELPW();
2341 test_pack_PNONCLIENTMETRICSA();
2342 test_pack_PNONCLIENTMETRICSW();
2343 test_pack_PPAINTSTRUCT();
2344 test_pack_PROPENUMPROCA();
2345 test_pack_PROPENUMPROCEXA();
2346 test_pack_PROPENUMPROCEXW();
2347 test_pack_PROPENUMPROCW();
2348 test_pack_PWINDOWINFO();
2349 test_pack_PWINDOWPLACEMENT();
2350 test_pack_PWINDOWPOS();
2351 test_pack_PWNDCLASSA();
2352 test_pack_PWNDCLASSEXA();
2353 test_pack_PWNDCLASSEXW();
2354 test_pack_PWNDCLASSW();
2355 test_pack_SCROLLINFO();
2356 test_pack_SENDASYNCPROC();
2357 test_pack_SERIALKEYSA();
2358 test_pack_SERIALKEYSW();
2359 test_pack_SOUNDSENTRYA();
2360 test_pack_SOUNDSENTRYW();
2361 test_pack_STICKYKEYS();
2362 test_pack_STYLESTRUCT();
2363 test_pack_TIMERPROC();
2364 test_pack_TOGGLEKEYS();
2365 test_pack_TPMPARAMS();
2366 test_pack_TRACKMOUSEEVENT();
2367 test_pack_WINDOWINFO();
2368 test_pack_WINDOWPOS();
2369 test_pack_WINEVENTPROC();
2370 test_pack_WINSTAENUMPROCA();
2371 test_pack_WINSTAENUMPROCW();
2372 test_pack_WNDCLASSA();
2373 test_pack_WNDCLASSEXA();
2374 test_pack_WNDCLASSEXW();
2375 test_pack_WNDCLASSW();
2376 test_pack_WNDENUMPROC();
2377 test_pack_WNDPROC();
2380 START_TEST(generated)