1 /* File generated automatically from tools/winapi/tests.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3 
4 /*
5  * Unit tests for data structure packing
6  */
7 
8 #define WINE_NOWINSOCK
9 
10 #include <stdarg.h>
11 #include "windef.h"
12 #include "winbase.h"
13 #include "wtypes.h"
14 #include "shellapi.h"
15 #include "winuser.h"
16 #include "wingdi.h"
17 #include "shlobj.h"
18 
19 #include "wine/test.h"
20 
21 /***********************************************************************
22  * Compatibility macros
23  */
24 
25 #define DWORD_PTR UINT_PTR
26 #define LONG_PTR INT_PTR
27 #define ULONG_PTR UINT_PTR
28 
29 /***********************************************************************
30  * Windows API extension
31  */
32 
33 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
34 # define _TYPE_ALIGNMENT(type) __alignof(type)
35 #elif defined(__GNUC__)
36 # define _TYPE_ALIGNMENT(type) __alignof__(type)
37 #else
38 /*
39  * FIXME: May not be possible without a compiler extension
40  *        (if type is not just a name that is, otherwise the normal
41  *         TYPE_ALIGNMENT can be used)
42  */
43 #endif
44 
45 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
46 #pragma warning(disable:4116)
47 #endif
48 
49 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
50 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
51 #endif
52 
53 /***********************************************************************
54  * Test helper macros
55  */
56 
57 #define TEST_TYPE_SIZE(type, size)             C_ASSERT(sizeof(type) == size);
58 
59 #ifdef TYPE_ALIGNMENT
60 # define TEST_TYPE_ALIGN(type, align)          C_ASSERT(TYPE_ALIGNMENT(type) == align);
61 #else
62 # define TEST_TYPE_ALIGN(type, align)
63 #endif
64 
65 #ifdef _TYPE_ALIGNMENT
66 # define TEST_TARGET_ALIGN(type, align)        C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
67 # define TEST_FIELD_ALIGN(type, field, align)  C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
68 #else
69 # define TEST_TARGET_ALIGN(type, align)
70 # define TEST_FIELD_ALIGN(type, field, align)
71 #endif
72 
73 #define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
74 
75 #define TEST_TARGET_SIZE(type, size)            TEST_TYPE_SIZE(*(type)0, size)
76 #define TEST_FIELD_SIZE(type, field, size)      TEST_TYPE_SIZE((((type*)0)->field), size)
77 #define TEST_TYPE_SIGNED(type)                  C_ASSERT((type) -1 < 0);
78 #define TEST_TYPE_UNSIGNED(type)                C_ASSERT((type) -1 > 0);
79 
80 
81 #ifdef _WIN64
82 
83 static void test_pack_BLOB(void)
84 {
85     /* BLOB */
86     TEST_TYPE_SIZE   (BLOB, 16)
87     TEST_TYPE_ALIGN  (BLOB, 8)
88     TEST_FIELD_SIZE  (BLOB, cbSize, 4)
89     TEST_FIELD_ALIGN (BLOB, cbSize, 4)
90     TEST_FIELD_OFFSET(BLOB, cbSize, 0)
91     TEST_FIELD_SIZE  (BLOB, pBlobData, 8)
92     TEST_FIELD_ALIGN (BLOB, pBlobData, 8)
93     TEST_FIELD_OFFSET(BLOB, pBlobData, 8)
94 }
95 
96 static void test_pack_BSTR(void)
97 {
98     /* BSTR */
99     TEST_TYPE_SIZE   (BSTR, 8)
100     TEST_TYPE_ALIGN  (BSTR, 8)
101     TEST_TARGET_SIZE (BSTR, 2)
102     TEST_TARGET_ALIGN(BSTR, 2)
103 }
104 
105 static void test_pack_BSTRBLOB(void)
106 {
107     /* BSTRBLOB */
108     TEST_TYPE_SIZE   (BSTRBLOB, 16)
109     TEST_TYPE_ALIGN  (BSTRBLOB, 8)
110     TEST_FIELD_SIZE  (BSTRBLOB, cbSize, 4)
111     TEST_FIELD_ALIGN (BSTRBLOB, cbSize, 4)
112     TEST_FIELD_OFFSET(BSTRBLOB, cbSize, 0)
113     TEST_FIELD_SIZE  (BSTRBLOB, pData, 8)
114     TEST_FIELD_ALIGN (BSTRBLOB, pData, 8)
115     TEST_FIELD_OFFSET(BSTRBLOB, pData, 8)
116 }
117 
118 static void test_pack_BYTE_BLOB(void)
119 {
120     /* BYTE_BLOB */
121     TEST_TYPE_SIZE   (BYTE_BLOB, 8)
122     TEST_TYPE_ALIGN  (BYTE_BLOB, 4)
123     TEST_FIELD_SIZE  (BYTE_BLOB, clSize, 4)
124     TEST_FIELD_ALIGN (BYTE_BLOB, clSize, 4)
125     TEST_FIELD_OFFSET(BYTE_BLOB, clSize, 0)
126     TEST_FIELD_SIZE  (BYTE_BLOB, abData, 1)
127     TEST_FIELD_ALIGN (BYTE_BLOB, abData, 1)
128     TEST_FIELD_OFFSET(BYTE_BLOB, abData, 4)
129 }
130 
131 static void test_pack_BYTE_SIZEDARR(void)
132 {
133     /* BYTE_SIZEDARR */
134     TEST_TYPE_SIZE   (BYTE_SIZEDARR, 16)
135     TEST_TYPE_ALIGN  (BYTE_SIZEDARR, 8)
136     TEST_FIELD_SIZE  (BYTE_SIZEDARR, clSize, 4)
137     TEST_FIELD_ALIGN (BYTE_SIZEDARR, clSize, 4)
138     TEST_FIELD_OFFSET(BYTE_SIZEDARR, clSize, 0)
139     TEST_FIELD_SIZE  (BYTE_SIZEDARR, pData, 8)
140     TEST_FIELD_ALIGN (BYTE_SIZEDARR, pData, 8)
141     TEST_FIELD_OFFSET(BYTE_SIZEDARR, pData, 8)
142 }
143 
144 static void test_pack_CLIPDATA(void)
145 {
146     /* CLIPDATA */
147     TEST_TYPE_SIZE   (CLIPDATA, 16)
148     TEST_TYPE_ALIGN  (CLIPDATA, 8)
149     TEST_FIELD_SIZE  (CLIPDATA, cbSize, 4)
150     TEST_FIELD_ALIGN (CLIPDATA, cbSize, 4)
151     TEST_FIELD_OFFSET(CLIPDATA, cbSize, 0)
152     TEST_FIELD_SIZE  (CLIPDATA, ulClipFmt, 4)
153     TEST_FIELD_ALIGN (CLIPDATA, ulClipFmt, 4)
154     TEST_FIELD_OFFSET(CLIPDATA, ulClipFmt, 4)
155     TEST_FIELD_SIZE  (CLIPDATA, pClipData, 8)
156     TEST_FIELD_ALIGN (CLIPDATA, pClipData, 8)
157     TEST_FIELD_OFFSET(CLIPDATA, pClipData, 8)
158 }
159 
160 static void test_pack_CLIPFORMAT(void)
161 {
162     /* CLIPFORMAT */
163     TEST_TYPE_SIZE   (CLIPFORMAT, 2)
164     TEST_TYPE_ALIGN  (CLIPFORMAT, 2)
165     TEST_TYPE_UNSIGNED(CLIPFORMAT)
166 }
167 
168 static void test_pack_COAUTHIDENTITY(void)
169 {
170     /* COAUTHIDENTITY */
171     TEST_TYPE_SIZE   (COAUTHIDENTITY, 48)
172     TEST_TYPE_ALIGN  (COAUTHIDENTITY, 8)
173     TEST_FIELD_SIZE  (COAUTHIDENTITY, User, 8)
174     TEST_FIELD_ALIGN (COAUTHIDENTITY, User, 8)
175     TEST_FIELD_OFFSET(COAUTHIDENTITY, User, 0)
176     TEST_FIELD_SIZE  (COAUTHIDENTITY, UserLength, 4)
177     TEST_FIELD_ALIGN (COAUTHIDENTITY, UserLength, 4)
178     TEST_FIELD_OFFSET(COAUTHIDENTITY, UserLength, 8)
179     TEST_FIELD_SIZE  (COAUTHIDENTITY, Domain, 8)
180     TEST_FIELD_ALIGN (COAUTHIDENTITY, Domain, 8)
181     TEST_FIELD_OFFSET(COAUTHIDENTITY, Domain, 16)
182     TEST_FIELD_SIZE  (COAUTHIDENTITY, DomainLength, 4)
183     TEST_FIELD_ALIGN (COAUTHIDENTITY, DomainLength, 4)
184     TEST_FIELD_OFFSET(COAUTHIDENTITY, DomainLength, 24)
185     TEST_FIELD_SIZE  (COAUTHIDENTITY, Password, 8)
186     TEST_FIELD_ALIGN (COAUTHIDENTITY, Password, 8)
187     TEST_FIELD_OFFSET(COAUTHIDENTITY, Password, 32)
188     TEST_FIELD_SIZE  (COAUTHIDENTITY, PasswordLength, 4)
189     TEST_FIELD_ALIGN (COAUTHIDENTITY, PasswordLength, 4)
190     TEST_FIELD_OFFSET(COAUTHIDENTITY, PasswordLength, 40)
191     TEST_FIELD_SIZE  (COAUTHIDENTITY, Flags, 4)
192     TEST_FIELD_ALIGN (COAUTHIDENTITY, Flags, 4)
193     TEST_FIELD_OFFSET(COAUTHIDENTITY, Flags, 44)
194 }
195 
196 static void test_pack_COAUTHINFO(void)
197 {
198     /* COAUTHINFO */
199     TEST_TYPE_SIZE   (COAUTHINFO, 40)
200     TEST_TYPE_ALIGN  (COAUTHINFO, 8)
201     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnSvc, 4)
202     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnSvc, 4)
203     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnSvc, 0)
204     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthzSvc, 4)
205     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthzSvc, 4)
206     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthzSvc, 4)
207     TEST_FIELD_SIZE  (COAUTHINFO, pwszServerPrincName, 8)
208     TEST_FIELD_ALIGN (COAUTHINFO, pwszServerPrincName, 8)
209     TEST_FIELD_OFFSET(COAUTHINFO, pwszServerPrincName, 8)
210     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnLevel, 4)
211     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnLevel, 4)
212     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnLevel, 16)
213     TEST_FIELD_SIZE  (COAUTHINFO, dwImpersonationLevel, 4)
214     TEST_FIELD_ALIGN (COAUTHINFO, dwImpersonationLevel, 4)
215     TEST_FIELD_OFFSET(COAUTHINFO, dwImpersonationLevel, 20)
216     TEST_FIELD_SIZE  (COAUTHINFO, pAuthIdentityData, 8)
217     TEST_FIELD_ALIGN (COAUTHINFO, pAuthIdentityData, 8)
218     TEST_FIELD_OFFSET(COAUTHINFO, pAuthIdentityData, 24)
219     TEST_FIELD_SIZE  (COAUTHINFO, dwCapabilities, 4)
220     TEST_FIELD_ALIGN (COAUTHINFO, dwCapabilities, 4)
221     TEST_FIELD_OFFSET(COAUTHINFO, dwCapabilities, 32)
222 }
223 
224 static void test_pack_DATE(void)
225 {
226     /* DATE */
227     TEST_TYPE_SIZE   (DATE, 8)
228     TEST_TYPE_ALIGN  (DATE, 8)
229 }
230 
231 static void test_pack_DOUBLE(void)
232 {
233     /* DOUBLE */
234     TEST_TYPE_SIZE   (DOUBLE, 8)
235     TEST_TYPE_ALIGN  (DOUBLE, 8)
236 }
237 
238 static void test_pack_DWORD_SIZEDARR(void)
239 {
240     /* DWORD_SIZEDARR */
241     TEST_TYPE_SIZE   (DWORD_SIZEDARR, 16)
242     TEST_TYPE_ALIGN  (DWORD_SIZEDARR, 8)
243     TEST_FIELD_SIZE  (DWORD_SIZEDARR, clSize, 4)
244     TEST_FIELD_ALIGN (DWORD_SIZEDARR, clSize, 4)
245     TEST_FIELD_OFFSET(DWORD_SIZEDARR, clSize, 0)
246     TEST_FIELD_SIZE  (DWORD_SIZEDARR, pData, 8)
247     TEST_FIELD_ALIGN (DWORD_SIZEDARR, pData, 8)
248     TEST_FIELD_OFFSET(DWORD_SIZEDARR, pData, 8)
249 }
250 
251 static void test_pack_FLAGGED_BYTE_BLOB(void)
252 {
253     /* FLAGGED_BYTE_BLOB */
254     TEST_TYPE_SIZE   (FLAGGED_BYTE_BLOB, 12)
255     TEST_TYPE_ALIGN  (FLAGGED_BYTE_BLOB, 4)
256     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, fFlags, 4)
257     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, fFlags, 4)
258     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, fFlags, 0)
259     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, clSize, 4)
260     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, clSize, 4)
261     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, clSize, 4)
262     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, abData, 1)
263     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, abData, 1)
264     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, abData, 8)
265 }
266 
267 static void test_pack_FLAGGED_WORD_BLOB(void)
268 {
269     /* FLAGGED_WORD_BLOB */
270     TEST_TYPE_SIZE   (FLAGGED_WORD_BLOB, 12)
271     TEST_TYPE_ALIGN  (FLAGGED_WORD_BLOB, 4)
272     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, fFlags, 4)
273     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, fFlags, 4)
274     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, fFlags, 0)
275     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, clSize, 4)
276     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, clSize, 4)
277     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, clSize, 4)
278     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, asData, 2)
279     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, asData, 2)
280     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, asData, 8)
281 }
282 
283 static void test_pack_HMETAFILEPICT(void)
284 {
285     /* HMETAFILEPICT */
286     TEST_TYPE_SIZE   (HMETAFILEPICT, 8)
287     TEST_TYPE_ALIGN  (HMETAFILEPICT, 8)
288 }
289 
290 static void test_pack_HYPER_SIZEDARR(void)
291 {
292     /* HYPER_SIZEDARR */
293     TEST_TYPE_SIZE   (HYPER_SIZEDARR, 16)
294     TEST_TYPE_ALIGN  (HYPER_SIZEDARR, 8)
295     TEST_FIELD_SIZE  (HYPER_SIZEDARR, clSize, 4)
296     TEST_FIELD_ALIGN (HYPER_SIZEDARR, clSize, 4)
297     TEST_FIELD_OFFSET(HYPER_SIZEDARR, clSize, 0)
298     TEST_FIELD_SIZE  (HYPER_SIZEDARR, pData, 8)
299     TEST_FIELD_ALIGN (HYPER_SIZEDARR, pData, 8)
300     TEST_FIELD_OFFSET(HYPER_SIZEDARR, pData, 8)
301 }
302 
303 static void test_pack_LPBLOB(void)
304 {
305     /* LPBLOB */
306     TEST_TYPE_SIZE   (LPBLOB, 8)
307     TEST_TYPE_ALIGN  (LPBLOB, 8)
308 }
309 
310 static void test_pack_LPBSTR(void)
311 {
312     /* LPBSTR */
313     TEST_TYPE_SIZE   (LPBSTR, 8)
314     TEST_TYPE_ALIGN  (LPBSTR, 8)
315     TEST_TARGET_SIZE (LPBSTR, 8)
316     TEST_TARGET_ALIGN(LPBSTR, 8)
317 }
318 
319 static void test_pack_LPBSTRBLOB(void)
320 {
321     /* LPBSTRBLOB */
322     TEST_TYPE_SIZE   (LPBSTRBLOB, 8)
323     TEST_TYPE_ALIGN  (LPBSTRBLOB, 8)
324 }
325 
326 static void test_pack_LPCOLESTR(void)
327 {
328     /* LPCOLESTR */
329     TEST_TYPE_SIZE   (LPCOLESTR, 8)
330     TEST_TYPE_ALIGN  (LPCOLESTR, 8)
331     TEST_TARGET_SIZE (LPCOLESTR, 2)
332     TEST_TARGET_ALIGN(LPCOLESTR, 2)
333 }
334 
335 static void test_pack_LPCY(void)
336 {
337     /* LPCY */
338     TEST_TYPE_SIZE   (LPCY, 8)
339     TEST_TYPE_ALIGN  (LPCY, 8)
340 }
341 
342 static void test_pack_LPDECIMAL(void)
343 {
344     /* LPDECIMAL */
345     TEST_TYPE_SIZE   (LPDECIMAL, 8)
346     TEST_TYPE_ALIGN  (LPDECIMAL, 8)
347 }
348 
349 static void test_pack_LPOLESTR(void)
350 {
351     /* LPOLESTR */
352     TEST_TYPE_SIZE   (LPOLESTR, 8)
353     TEST_TYPE_ALIGN  (LPOLESTR, 8)
354     TEST_TARGET_SIZE (LPOLESTR, 2)
355     TEST_TARGET_ALIGN(LPOLESTR, 2)
356 }
357 
358 static void test_pack_OLECHAR(void)
359 {
360     /* OLECHAR */
361     TEST_TYPE_SIZE   (OLECHAR, 2)
362     TEST_TYPE_ALIGN  (OLECHAR, 2)
363 }
364 
365 static void test_pack_PROPID(void)
366 {
367     /* PROPID */
368     TEST_TYPE_SIZE   (PROPID, 4)
369     TEST_TYPE_ALIGN  (PROPID, 4)
370 }
371 
372 static void test_pack_RemHBITMAP(void)
373 {
374     /* RemHBITMAP */
375     TEST_TYPE_SIZE   (RemHBITMAP, 8)
376     TEST_TYPE_ALIGN  (RemHBITMAP, 4)
377     TEST_FIELD_SIZE  (RemHBITMAP, cbData, 4)
378     TEST_FIELD_ALIGN (RemHBITMAP, cbData, 4)
379     TEST_FIELD_OFFSET(RemHBITMAP, cbData, 0)
380     TEST_FIELD_SIZE  (RemHBITMAP, data, 1)
381     TEST_FIELD_ALIGN (RemHBITMAP, data, 1)
382     TEST_FIELD_OFFSET(RemHBITMAP, data, 4)
383 }
384 
385 static void test_pack_RemHENHMETAFILE(void)
386 {
387     /* RemHENHMETAFILE */
388     TEST_TYPE_SIZE   (RemHENHMETAFILE, 8)
389     TEST_TYPE_ALIGN  (RemHENHMETAFILE, 4)
390     TEST_FIELD_SIZE  (RemHENHMETAFILE, cbData, 4)
391     TEST_FIELD_ALIGN (RemHENHMETAFILE, cbData, 4)
392     TEST_FIELD_OFFSET(RemHENHMETAFILE, cbData, 0)
393     TEST_FIELD_SIZE  (RemHENHMETAFILE, data, 1)
394     TEST_FIELD_ALIGN (RemHENHMETAFILE, data, 1)
395     TEST_FIELD_OFFSET(RemHENHMETAFILE, data, 4)
396 }
397 
398 static void test_pack_RemHGLOBAL(void)
399 {
400     /* RemHGLOBAL */
401     TEST_TYPE_SIZE   (RemHGLOBAL, 12)
402     TEST_TYPE_ALIGN  (RemHGLOBAL, 4)
403     TEST_FIELD_SIZE  (RemHGLOBAL, fNullHGlobal, 4)
404     TEST_FIELD_ALIGN (RemHGLOBAL, fNullHGlobal, 4)
405     TEST_FIELD_OFFSET(RemHGLOBAL, fNullHGlobal, 0)
406     TEST_FIELD_SIZE  (RemHGLOBAL, cbData, 4)
407     TEST_FIELD_ALIGN (RemHGLOBAL, cbData, 4)
408     TEST_FIELD_OFFSET(RemHGLOBAL, cbData, 4)
409     TEST_FIELD_SIZE  (RemHGLOBAL, data, 1)
410     TEST_FIELD_ALIGN (RemHGLOBAL, data, 1)
411     TEST_FIELD_OFFSET(RemHGLOBAL, data, 8)
412 }
413 
414 static void test_pack_RemHMETAFILEPICT(void)
415 {
416     /* RemHMETAFILEPICT */
417     TEST_TYPE_SIZE   (RemHMETAFILEPICT, 20)
418     TEST_TYPE_ALIGN  (RemHMETAFILEPICT, 4)
419     TEST_FIELD_SIZE  (RemHMETAFILEPICT, mm, 4)
420     TEST_FIELD_ALIGN (RemHMETAFILEPICT, mm, 4)
421     TEST_FIELD_OFFSET(RemHMETAFILEPICT, mm, 0)
422     TEST_FIELD_SIZE  (RemHMETAFILEPICT, xExt, 4)
423     TEST_FIELD_ALIGN (RemHMETAFILEPICT, xExt, 4)
424     TEST_FIELD_OFFSET(RemHMETAFILEPICT, xExt, 4)
425     TEST_FIELD_SIZE  (RemHMETAFILEPICT, yExt, 4)
426     TEST_FIELD_ALIGN (RemHMETAFILEPICT, yExt, 4)
427     TEST_FIELD_OFFSET(RemHMETAFILEPICT, yExt, 8)
428     TEST_FIELD_SIZE  (RemHMETAFILEPICT, cbData, 4)
429     TEST_FIELD_ALIGN (RemHMETAFILEPICT, cbData, 4)
430     TEST_FIELD_OFFSET(RemHMETAFILEPICT, cbData, 12)
431     TEST_FIELD_SIZE  (RemHMETAFILEPICT, data, 1)
432     TEST_FIELD_ALIGN (RemHMETAFILEPICT, data, 1)
433     TEST_FIELD_OFFSET(RemHMETAFILEPICT, data, 16)
434 }
435 
436 static void test_pack_RemHPALETTE(void)
437 {
438     /* RemHPALETTE */
439     TEST_TYPE_SIZE   (RemHPALETTE, 8)
440     TEST_TYPE_ALIGN  (RemHPALETTE, 4)
441     TEST_FIELD_SIZE  (RemHPALETTE, cbData, 4)
442     TEST_FIELD_ALIGN (RemHPALETTE, cbData, 4)
443     TEST_FIELD_OFFSET(RemHPALETTE, cbData, 0)
444     TEST_FIELD_SIZE  (RemHPALETTE, data, 1)
445     TEST_FIELD_ALIGN (RemHPALETTE, data, 1)
446     TEST_FIELD_OFFSET(RemHPALETTE, data, 4)
447 }
448 
449 static void test_pack_SCODE(void)
450 {
451     /* SCODE */
452     TEST_TYPE_SIZE   (SCODE, 4)
453     TEST_TYPE_ALIGN  (SCODE, 4)
454 }
455 
456 static void test_pack_UP_BYTE_BLOB(void)
457 {
458     /* UP_BYTE_BLOB */
459     TEST_TYPE_SIZE   (UP_BYTE_BLOB, 8)
460     TEST_TYPE_ALIGN  (UP_BYTE_BLOB, 8)
461     TEST_TARGET_SIZE (UP_BYTE_BLOB, 8)
462     TEST_TARGET_ALIGN(UP_BYTE_BLOB, 4)
463 }
464 
465 static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
466 {
467     /* UP_FLAGGED_BYTE_BLOB */
468     TEST_TYPE_SIZE   (UP_FLAGGED_BYTE_BLOB, 8)
469     TEST_TYPE_ALIGN  (UP_FLAGGED_BYTE_BLOB, 8)
470     TEST_TARGET_SIZE (UP_FLAGGED_BYTE_BLOB, 12)
471     TEST_TARGET_ALIGN(UP_FLAGGED_BYTE_BLOB, 4)
472 }
473 
474 static void test_pack_UP_FLAGGED_WORD_BLOB(void)
475 {
476     /* UP_FLAGGED_WORD_BLOB */
477     TEST_TYPE_SIZE   (UP_FLAGGED_WORD_BLOB, 8)
478     TEST_TYPE_ALIGN  (UP_FLAGGED_WORD_BLOB, 8)
479     TEST_TARGET_SIZE (UP_FLAGGED_WORD_BLOB, 12)
480     TEST_TARGET_ALIGN(UP_FLAGGED_WORD_BLOB, 4)
481 }
482 
483 static void test_pack_VARIANT_BOOL(void)
484 {
485     /* VARIANT_BOOL */
486     TEST_TYPE_SIZE   (VARIANT_BOOL, 2)
487     TEST_TYPE_ALIGN  (VARIANT_BOOL, 2)
488     TEST_TYPE_SIGNED(VARIANT_BOOL)
489 }
490 
491 static void test_pack_VARTYPE(void)
492 {
493     /* VARTYPE */
494     TEST_TYPE_SIZE   (VARTYPE, 2)
495     TEST_TYPE_ALIGN  (VARTYPE, 2)
496     TEST_TYPE_UNSIGNED(VARTYPE)
497 }
498 
499 static void test_pack_WORD_SIZEDARR(void)
500 {
501     /* WORD_SIZEDARR */
502     TEST_TYPE_SIZE   (WORD_SIZEDARR, 16)
503     TEST_TYPE_ALIGN  (WORD_SIZEDARR, 8)
504     TEST_FIELD_SIZE  (WORD_SIZEDARR, clSize, 4)
505     TEST_FIELD_ALIGN (WORD_SIZEDARR, clSize, 4)
506     TEST_FIELD_OFFSET(WORD_SIZEDARR, clSize, 0)
507     TEST_FIELD_SIZE  (WORD_SIZEDARR, pData, 8)
508     TEST_FIELD_ALIGN (WORD_SIZEDARR, pData, 8)
509     TEST_FIELD_OFFSET(WORD_SIZEDARR, pData, 8)
510 }
511 
512 static void test_pack_remoteMETAFILEPICT(void)
513 {
514     /* remoteMETAFILEPICT */
515     TEST_TYPE_SIZE   (remoteMETAFILEPICT, 24)
516     TEST_TYPE_ALIGN  (remoteMETAFILEPICT, 8)
517     TEST_FIELD_SIZE  (remoteMETAFILEPICT, mm, 4)
518     TEST_FIELD_ALIGN (remoteMETAFILEPICT, mm, 4)
519     TEST_FIELD_OFFSET(remoteMETAFILEPICT, mm, 0)
520     TEST_FIELD_SIZE  (remoteMETAFILEPICT, xExt, 4)
521     TEST_FIELD_ALIGN (remoteMETAFILEPICT, xExt, 4)
522     TEST_FIELD_OFFSET(remoteMETAFILEPICT, xExt, 4)
523     TEST_FIELD_SIZE  (remoteMETAFILEPICT, yExt, 4)
524     TEST_FIELD_ALIGN (remoteMETAFILEPICT, yExt, 4)
525     TEST_FIELD_OFFSET(remoteMETAFILEPICT, yExt, 8)
526     TEST_FIELD_SIZE  (remoteMETAFILEPICT, hMF, 8)
527     TEST_FIELD_ALIGN (remoteMETAFILEPICT, hMF, 8)
528     TEST_FIELD_OFFSET(remoteMETAFILEPICT, hMF, 16)
529 }
530 
531 static void test_pack_userBITMAP(void)
532 {
533     /* userBITMAP */
534     TEST_TYPE_SIZE   (userBITMAP, 28)
535     TEST_TYPE_ALIGN  (userBITMAP, 4)
536     TEST_FIELD_SIZE  (userBITMAP, bmType, 4)
537     TEST_FIELD_ALIGN (userBITMAP, bmType, 4)
538     TEST_FIELD_OFFSET(userBITMAP, bmType, 0)
539     TEST_FIELD_SIZE  (userBITMAP, bmWidth, 4)
540     TEST_FIELD_ALIGN (userBITMAP, bmWidth, 4)
541     TEST_FIELD_OFFSET(userBITMAP, bmWidth, 4)
542     TEST_FIELD_SIZE  (userBITMAP, bmHeight, 4)
543     TEST_FIELD_ALIGN (userBITMAP, bmHeight, 4)
544     TEST_FIELD_OFFSET(userBITMAP, bmHeight, 8)
545     TEST_FIELD_SIZE  (userBITMAP, bmWidthBytes, 4)
546     TEST_FIELD_ALIGN (userBITMAP, bmWidthBytes, 4)
547     TEST_FIELD_OFFSET(userBITMAP, bmWidthBytes, 12)
548     TEST_FIELD_SIZE  (userBITMAP, bmPlanes, 2)
549     TEST_FIELD_ALIGN (userBITMAP, bmPlanes, 2)
550     TEST_FIELD_OFFSET(userBITMAP, bmPlanes, 16)
551     TEST_FIELD_SIZE  (userBITMAP, bmBitsPixel, 2)
552     TEST_FIELD_ALIGN (userBITMAP, bmBitsPixel, 2)
553     TEST_FIELD_OFFSET(userBITMAP, bmBitsPixel, 18)
554     TEST_FIELD_SIZE  (userBITMAP, cbSize, 4)
555     TEST_FIELD_ALIGN (userBITMAP, cbSize, 4)
556     TEST_FIELD_OFFSET(userBITMAP, cbSize, 20)
557     TEST_FIELD_SIZE  (userBITMAP, pBuffer, 1)
558     TEST_FIELD_ALIGN (userBITMAP, pBuffer, 1)
559     TEST_FIELD_OFFSET(userBITMAP, pBuffer, 24)
560 }
561 
562 static void test_pack_userCLIPFORMAT(void)
563 {
564     /* userCLIPFORMAT */
565     TEST_FIELD_SIZE  (userCLIPFORMAT, fContext, 4)
566     TEST_FIELD_ALIGN (userCLIPFORMAT, fContext, 4)
567     TEST_FIELD_OFFSET(userCLIPFORMAT, fContext, 0)
568 }
569 
570 static void test_pack_userHBITMAP(void)
571 {
572     /* userHBITMAP */
573     TEST_FIELD_SIZE  (userHBITMAP, fContext, 4)
574     TEST_FIELD_ALIGN (userHBITMAP, fContext, 4)
575     TEST_FIELD_OFFSET(userHBITMAP, fContext, 0)
576 }
577 
578 static void test_pack_userHENHMETAFILE(void)
579 {
580     /* userHENHMETAFILE */
581     TEST_FIELD_SIZE  (userHENHMETAFILE, fContext, 4)
582     TEST_FIELD_ALIGN (userHENHMETAFILE, fContext, 4)
583     TEST_FIELD_OFFSET(userHENHMETAFILE, fContext, 0)
584 }
585 
586 static void test_pack_userHGLOBAL(void)
587 {
588     /* userHGLOBAL */
589     TEST_FIELD_SIZE  (userHGLOBAL, fContext, 4)
590     TEST_FIELD_ALIGN (userHGLOBAL, fContext, 4)
591     TEST_FIELD_OFFSET(userHGLOBAL, fContext, 0)
592 }
593 
594 static void test_pack_userHMETAFILE(void)
595 {
596     /* userHMETAFILE */
597     TEST_FIELD_SIZE  (userHMETAFILE, fContext, 4)
598     TEST_FIELD_ALIGN (userHMETAFILE, fContext, 4)
599     TEST_FIELD_OFFSET(userHMETAFILE, fContext, 0)
600 }
601 
602 static void test_pack_userHMETAFILEPICT(void)
603 {
604     /* userHMETAFILEPICT */
605     TEST_FIELD_SIZE  (userHMETAFILEPICT, fContext, 4)
606     TEST_FIELD_ALIGN (userHMETAFILEPICT, fContext, 4)
607     TEST_FIELD_OFFSET(userHMETAFILEPICT, fContext, 0)
608 }
609 
610 static void test_pack_userHPALETTE(void)
611 {
612     /* userHPALETTE */
613     TEST_FIELD_SIZE  (userHPALETTE, fContext, 4)
614     TEST_FIELD_ALIGN (userHPALETTE, fContext, 4)
615     TEST_FIELD_OFFSET(userHPALETTE, fContext, 0)
616 }
617 
618 static void test_pack_wireBSTR(void)
619 {
620     /* wireBSTR */
621     TEST_TYPE_SIZE   (wireBSTR, 8)
622     TEST_TYPE_ALIGN  (wireBSTR, 8)
623     TEST_TARGET_SIZE (wireBSTR, 12)
624     TEST_TARGET_ALIGN(wireBSTR, 4)
625 }
626 
627 static void test_pack_wireCLIPFORMAT(void)
628 {
629     /* wireCLIPFORMAT */
630     TEST_TYPE_SIZE   (wireCLIPFORMAT, 8)
631     TEST_TYPE_ALIGN  (wireCLIPFORMAT, 8)
632 }
633 
634 static void test_pack_wireHBITMAP(void)
635 {
636     /* wireHBITMAP */
637     TEST_TYPE_SIZE   (wireHBITMAP, 8)
638     TEST_TYPE_ALIGN  (wireHBITMAP, 8)
639 }
640 
641 static void test_pack_wireHENHMETAFILE(void)
642 {
643     /* wireHENHMETAFILE */
644     TEST_TYPE_SIZE   (wireHENHMETAFILE, 8)
645     TEST_TYPE_ALIGN  (wireHENHMETAFILE, 8)
646 }
647 
648 static void test_pack_wireHGLOBAL(void)
649 {
650     /* wireHGLOBAL */
651     TEST_TYPE_SIZE   (wireHGLOBAL, 8)
652     TEST_TYPE_ALIGN  (wireHGLOBAL, 8)
653 }
654 
655 static void test_pack_wireHMETAFILE(void)
656 {
657     /* wireHMETAFILE */
658     TEST_TYPE_SIZE   (wireHMETAFILE, 8)
659     TEST_TYPE_ALIGN  (wireHMETAFILE, 8)
660 }
661 
662 static void test_pack_wireHMETAFILEPICT(void)
663 {
664     /* wireHMETAFILEPICT */
665     TEST_TYPE_SIZE   (wireHMETAFILEPICT, 8)
666     TEST_TYPE_ALIGN  (wireHMETAFILEPICT, 8)
667 }
668 
669 static void test_pack_wireHPALETTE(void)
670 {
671     /* wireHPALETTE */
672     TEST_TYPE_SIZE   (wireHPALETTE, 8)
673     TEST_TYPE_ALIGN  (wireHPALETTE, 8)
674 }
675 
676 static void test_pack_CLSID(void)
677 {
678     /* CLSID */
679     TEST_TYPE_SIZE   (CLSID, 16)
680     TEST_TYPE_ALIGN  (CLSID, 4)
681 }
682 
683 static void test_pack_FMTID(void)
684 {
685     /* FMTID */
686     TEST_TYPE_SIZE   (FMTID, 16)
687     TEST_TYPE_ALIGN  (FMTID, 4)
688 }
689 
690 static void test_pack_IID(void)
691 {
692     /* IID */
693     TEST_TYPE_SIZE   (IID, 16)
694     TEST_TYPE_ALIGN  (IID, 4)
695 }
696 
697 static void test_pack_APPBARDATA(void)
698 {
699     /* APPBARDATA */
700     TEST_TYPE_SIZE   (APPBARDATA, 48)
701     TEST_TYPE_ALIGN  (APPBARDATA, 8)
702     TEST_FIELD_SIZE  (APPBARDATA, cbSize, 4)
703     TEST_FIELD_ALIGN (APPBARDATA, cbSize, 4)
704     TEST_FIELD_OFFSET(APPBARDATA, cbSize, 0)
705     TEST_FIELD_SIZE  (APPBARDATA, hWnd, 8)
706     TEST_FIELD_ALIGN (APPBARDATA, hWnd, 8)
707     TEST_FIELD_OFFSET(APPBARDATA, hWnd, 8)
708     TEST_FIELD_SIZE  (APPBARDATA, uCallbackMessage, 4)
709     TEST_FIELD_ALIGN (APPBARDATA, uCallbackMessage, 4)
710     TEST_FIELD_OFFSET(APPBARDATA, uCallbackMessage, 16)
711     TEST_FIELD_SIZE  (APPBARDATA, uEdge, 4)
712     TEST_FIELD_ALIGN (APPBARDATA, uEdge, 4)
713     TEST_FIELD_OFFSET(APPBARDATA, uEdge, 20)
714     TEST_FIELD_SIZE  (APPBARDATA, rc, 16)
715     TEST_FIELD_ALIGN (APPBARDATA, rc, 4)
716     TEST_FIELD_OFFSET(APPBARDATA, rc, 24)
717     TEST_FIELD_SIZE  (APPBARDATA, lParam, 8)
718     TEST_FIELD_ALIGN (APPBARDATA, lParam, 8)
719     TEST_FIELD_OFFSET(APPBARDATA, lParam, 40)
720 }
721 
722 static void test_pack_DRAGINFOA(void)
723 {
724     /* DRAGINFOA */
725     TEST_TYPE_SIZE   (DRAGINFOA, 32)
726     TEST_TYPE_ALIGN  (DRAGINFOA, 8)
727     TEST_FIELD_SIZE  (DRAGINFOA, uSize, 4)
728     TEST_FIELD_ALIGN (DRAGINFOA, uSize, 4)
729     TEST_FIELD_OFFSET(DRAGINFOA, uSize, 0)
730     TEST_FIELD_SIZE  (DRAGINFOA, pt, 8)
731     TEST_FIELD_ALIGN (DRAGINFOA, pt, 4)
732     TEST_FIELD_OFFSET(DRAGINFOA, pt, 4)
733     TEST_FIELD_SIZE  (DRAGINFOA, fNC, 4)
734     TEST_FIELD_ALIGN (DRAGINFOA, fNC, 4)
735     TEST_FIELD_OFFSET(DRAGINFOA, fNC, 12)
736     TEST_FIELD_SIZE  (DRAGINFOA, lpFileList, 8)
737     TEST_FIELD_ALIGN (DRAGINFOA, lpFileList, 8)
738     TEST_FIELD_OFFSET(DRAGINFOA, lpFileList, 16)
739     TEST_FIELD_SIZE  (DRAGINFOA, grfKeyState, 4)
740     TEST_FIELD_ALIGN (DRAGINFOA, grfKeyState, 4)
741     TEST_FIELD_OFFSET(DRAGINFOA, grfKeyState, 24)
742 }
743 
744 static void test_pack_DRAGINFOW(void)
745 {
746     /* DRAGINFOW */
747     TEST_TYPE_SIZE   (DRAGINFOW, 32)
748     TEST_TYPE_ALIGN  (DRAGINFOW, 8)
749     TEST_FIELD_SIZE  (DRAGINFOW, uSize, 4)
750     TEST_FIELD_ALIGN (DRAGINFOW, uSize, 4)
751     TEST_FIELD_OFFSET(DRAGINFOW, uSize, 0)
752     TEST_FIELD_SIZE  (DRAGINFOW, pt, 8)
753     TEST_FIELD_ALIGN (DRAGINFOW, pt, 4)
754     TEST_FIELD_OFFSET(DRAGINFOW, pt, 4)
755     TEST_FIELD_SIZE  (DRAGINFOW, fNC, 4)
756     TEST_FIELD_ALIGN (DRAGINFOW, fNC, 4)
757     TEST_FIELD_OFFSET(DRAGINFOW, fNC, 12)
758     TEST_FIELD_SIZE  (DRAGINFOW, lpFileList, 8)
759     TEST_FIELD_ALIGN (DRAGINFOW, lpFileList, 8)
760     TEST_FIELD_OFFSET(DRAGINFOW, lpFileList, 16)
761     TEST_FIELD_SIZE  (DRAGINFOW, grfKeyState, 4)
762     TEST_FIELD_ALIGN (DRAGINFOW, grfKeyState, 4)
763     TEST_FIELD_OFFSET(DRAGINFOW, grfKeyState, 24)
764 }
765 
766 static void test_pack_FILEOP_FLAGS(void)
767 {
768     /* FILEOP_FLAGS */
769     TEST_TYPE_SIZE   (FILEOP_FLAGS, 2)
770     TEST_TYPE_ALIGN  (FILEOP_FLAGS, 2)
771     TEST_TYPE_UNSIGNED(FILEOP_FLAGS)
772 }
773 
774 static void test_pack_LPDRAGINFOA(void)
775 {
776     /* LPDRAGINFOA */
777     TEST_TYPE_SIZE   (LPDRAGINFOA, 8)
778     TEST_TYPE_ALIGN  (LPDRAGINFOA, 8)
779     TEST_TARGET_SIZE (LPDRAGINFOA, 32)
780     TEST_TARGET_ALIGN(LPDRAGINFOA, 8)
781 }
782 
783 static void test_pack_LPDRAGINFOW(void)
784 {
785     /* LPDRAGINFOW */
786     TEST_TYPE_SIZE   (LPDRAGINFOW, 8)
787     TEST_TYPE_ALIGN  (LPDRAGINFOW, 8)
788     TEST_TARGET_SIZE (LPDRAGINFOW, 32)
789     TEST_TARGET_ALIGN(LPDRAGINFOW, 8)
790 }
791 
792 static void test_pack_LPSHELLEXECUTEINFOA(void)
793 {
794     /* LPSHELLEXECUTEINFOA */
795     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOA, 8)
796     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOA, 8)
797 }
798 
799 static void test_pack_LPSHELLEXECUTEINFOW(void)
800 {
801     /* LPSHELLEXECUTEINFOW */
802     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOW, 8)
803     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOW, 8)
804 }
805 
806 static void test_pack_LPSHFILEOPSTRUCTA(void)
807 {
808     /* LPSHFILEOPSTRUCTA */
809     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTA, 8)
810     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTA, 8)
811     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTA, 56)
812     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTA, 8)
813 }
814 
815 static void test_pack_LPSHFILEOPSTRUCTW(void)
816 {
817     /* LPSHFILEOPSTRUCTW */
818     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTW, 8)
819     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTW, 8)
820     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTW, 56)
821     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTW, 8)
822 }
823 
824 static void test_pack_LPSHNAMEMAPPINGA(void)
825 {
826     /* LPSHNAMEMAPPINGA */
827     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGA, 8)
828     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGA, 8)
829     TEST_TARGET_SIZE (LPSHNAMEMAPPINGA, 24)
830     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGA, 8)
831 }
832 
833 static void test_pack_LPSHNAMEMAPPINGW(void)
834 {
835     /* LPSHNAMEMAPPINGW */
836     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGW, 8)
837     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGW, 8)
838     TEST_TARGET_SIZE (LPSHNAMEMAPPINGW, 24)
839     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGW, 8)
840 }
841 
842 static void test_pack_NOTIFYICONDATAA(void)
843 {
844     /* NOTIFYICONDATAA */
845     TEST_FIELD_SIZE  (NOTIFYICONDATAA, cbSize, 4)
846     TEST_FIELD_ALIGN (NOTIFYICONDATAA, cbSize, 4)
847     TEST_FIELD_OFFSET(NOTIFYICONDATAA, cbSize, 0)
848     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hWnd, 8)
849     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hWnd, 8)
850     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hWnd, 8)
851     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uID, 4)
852     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uID, 4)
853     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uID, 16)
854     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uFlags, 4)
855     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uFlags, 4)
856     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uFlags, 20)
857     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uCallbackMessage, 4)
858     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uCallbackMessage, 4)
859     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uCallbackMessage, 24)
860     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hIcon, 8)
861     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hIcon, 8)
862     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hIcon, 32)
863     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szTip, 128)
864     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szTip, 1)
865     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szTip, 40)
866     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwState, 4)
867     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwState, 4)
868     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwState, 168)
869     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwStateMask, 4)
870     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwStateMask, 4)
871     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwStateMask, 172)
872     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szInfo, 256)
873     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szInfo, 1)
874     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szInfo, 176)
875 }
876 
877 static void test_pack_NOTIFYICONDATAW(void)
878 {
879     /* NOTIFYICONDATAW */
880     TEST_FIELD_SIZE  (NOTIFYICONDATAW, cbSize, 4)
881     TEST_FIELD_ALIGN (NOTIFYICONDATAW, cbSize, 4)
882     TEST_FIELD_OFFSET(NOTIFYICONDATAW, cbSize, 0)
883     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hWnd, 8)
884     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hWnd, 8)
885     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hWnd, 8)
886     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uID, 4)
887     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uID, 4)
888     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uID, 16)
889     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uFlags, 4)
890     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uFlags, 4)
891     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uFlags, 20)
892     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uCallbackMessage, 4)
893     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uCallbackMessage, 4)
894     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uCallbackMessage, 24)
895     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hIcon, 8)
896     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hIcon, 8)
897     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hIcon, 32)
898     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szTip, 256)
899     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szTip, 2)
900     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szTip, 40)
901     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwState, 4)
902     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwState, 4)
903     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwState, 296)
904     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwStateMask, 4)
905     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwStateMask, 4)
906     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwStateMask, 300)
907     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szInfo, 512)
908     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szInfo, 2)
909     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szInfo, 304)
910 }
911 
912 static void test_pack_PAPPBARDATA(void)
913 {
914     /* PAPPBARDATA */
915     TEST_TYPE_SIZE   (PAPPBARDATA, 8)
916     TEST_TYPE_ALIGN  (PAPPBARDATA, 8)
917     TEST_TARGET_SIZE (PAPPBARDATA, 48)
918     TEST_TARGET_ALIGN(PAPPBARDATA, 8)
919 }
920 
921 static void test_pack_PNOTIFYICONDATAA(void)
922 {
923     /* PNOTIFYICONDATAA */
924     TEST_TYPE_SIZE   (PNOTIFYICONDATAA, 8)
925     TEST_TYPE_ALIGN  (PNOTIFYICONDATAA, 8)
926 }
927 
928 static void test_pack_PNOTIFYICONDATAW(void)
929 {
930     /* PNOTIFYICONDATAW */
931     TEST_TYPE_SIZE   (PNOTIFYICONDATAW, 8)
932     TEST_TYPE_ALIGN  (PNOTIFYICONDATAW, 8)
933 }
934 
935 static void test_pack_PRINTEROP_FLAGS(void)
936 {
937     /* PRINTEROP_FLAGS */
938     TEST_TYPE_SIZE   (PRINTEROP_FLAGS, 2)
939     TEST_TYPE_ALIGN  (PRINTEROP_FLAGS, 2)
940     TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS)
941 }
942 
943 static void test_pack_SHELLEXECUTEINFOA(void)
944 {
945     /* SHELLEXECUTEINFOA */
946     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, cbSize, 4)
947     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, cbSize, 4)
948     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, cbSize, 0)
949     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, fMask, 4)
950     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, fMask, 4)
951     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, fMask, 4)
952     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hwnd, 8)
953     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hwnd, 8)
954     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hwnd, 8)
955     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpVerb, 8)
956     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpVerb, 8)
957     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpVerb, 16)
958     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpFile, 8)
959     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpFile, 8)
960     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpFile, 24)
961     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpParameters, 8)
962     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpParameters, 8)
963     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpParameters, 32)
964     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpDirectory, 8)
965     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpDirectory, 8)
966     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpDirectory, 40)
967     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, nShow, 4)
968     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, nShow, 4)
969     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, nShow, 48)
970     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hInstApp, 8)
971     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hInstApp, 8)
972     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hInstApp, 56)
973     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpIDList, 8)
974     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpIDList, 8)
975     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpIDList, 64)
976     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpClass, 8)
977     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpClass, 8)
978     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpClass, 72)
979     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hkeyClass, 8)
980     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hkeyClass, 8)
981     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hkeyClass, 80)
982     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, dwHotKey, 4)
983     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, dwHotKey, 4)
984     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, dwHotKey, 88)
985 }
986 
987 static void test_pack_SHELLEXECUTEINFOW(void)
988 {
989     /* SHELLEXECUTEINFOW */
990     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, cbSize, 4)
991     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, cbSize, 4)
992     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, cbSize, 0)
993     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, fMask, 4)
994     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, fMask, 4)
995     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, fMask, 4)
996     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hwnd, 8)
997     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hwnd, 8)
998     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hwnd, 8)
999     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpVerb, 8)
1000     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpVerb, 8)
1001     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpVerb, 16)
1002     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpFile, 8)
1003     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpFile, 8)
1004     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpFile, 24)
1005     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpParameters, 8)
1006     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpParameters, 8)
1007     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpParameters, 32)
1008     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpDirectory, 8)
1009     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpDirectory, 8)
1010     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpDirectory, 40)
1011     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, nShow, 4)
1012     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, nShow, 4)
1013     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, nShow, 48)
1014     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hInstApp, 8)
1015     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hInstApp, 8)
1016     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hInstApp, 56)
1017     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpIDList, 8)
1018     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpIDList, 8)
1019     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpIDList, 64)
1020     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpClass, 8)
1021     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpClass, 8)
1022     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpClass, 72)
1023     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hkeyClass, 8)
1024     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hkeyClass, 8)
1025     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hkeyClass, 80)
1026     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, dwHotKey, 4)
1027     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, dwHotKey, 4)
1028     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, dwHotKey, 88)
1029 }
1030 
1031 static void test_pack_SHFILEINFOA(void)
1032 {
1033     /* SHFILEINFOA */
1034     TEST_TYPE_SIZE   (SHFILEINFOA, 360)
1035     TEST_TYPE_ALIGN  (SHFILEINFOA, 8)
1036     TEST_FIELD_SIZE  (SHFILEINFOA, hIcon, 8)
1037     TEST_FIELD_ALIGN (SHFILEINFOA, hIcon, 8)
1038     TEST_FIELD_OFFSET(SHFILEINFOA, hIcon, 0)
1039     TEST_FIELD_SIZE  (SHFILEINFOA, iIcon, 4)
1040     TEST_FIELD_ALIGN (SHFILEINFOA, iIcon, 4)
1041     TEST_FIELD_OFFSET(SHFILEINFOA, iIcon, 8)
1042     TEST_FIELD_SIZE  (SHFILEINFOA, dwAttributes, 4)
1043     TEST_FIELD_ALIGN (SHFILEINFOA, dwAttributes, 4)
1044     TEST_FIELD_OFFSET(SHFILEINFOA, dwAttributes, 12)
1045     TEST_FIELD_SIZE  (SHFILEINFOA, szDisplayName, 260)
1046     TEST_FIELD_ALIGN (SHFILEINFOA, szDisplayName, 1)
1047     TEST_FIELD_OFFSET(SHFILEINFOA, szDisplayName, 16)
1048     TEST_FIELD_SIZE  (SHFILEINFOA, szTypeName, 80)
1049     TEST_FIELD_ALIGN (SHFILEINFOA, szTypeName, 1)
1050     TEST_FIELD_OFFSET(SHFILEINFOA, szTypeName, 276)
1051 }
1052 
1053 static void test_pack_SHFILEINFOW(void)
1054 {
1055     /* SHFILEINFOW */
1056     TEST_TYPE_SIZE   (SHFILEINFOW, 696)
1057     TEST_TYPE_ALIGN  (SHFILEINFOW, 8)
1058     TEST_FIELD_SIZE  (SHFILEINFOW, hIcon, 8)
1059     TEST_FIELD_ALIGN (SHFILEINFOW, hIcon, 8)
1060     TEST_FIELD_OFFSET(SHFILEINFOW, hIcon, 0)
1061     TEST_FIELD_SIZE  (SHFILEINFOW, iIcon, 4)
1062     TEST_FIELD_ALIGN (SHFILEINFOW, iIcon, 4)
1063     TEST_FIELD_OFFSET(SHFILEINFOW, iIcon, 8)
1064     TEST_FIELD_SIZE  (SHFILEINFOW, dwAttributes, 4)
1065     TEST_FIELD_ALIGN (SHFILEINFOW, dwAttributes, 4)
1066     TEST_FIELD_OFFSET(SHFILEINFOW, dwAttributes, 12)
1067     TEST_FIELD_SIZE  (SHFILEINFOW, szDisplayName, 520)
1068     TEST_FIELD_ALIGN (SHFILEINFOW, szDisplayName, 2)
1069     TEST_FIELD_OFFSET(SHFILEINFOW, szDisplayName, 16)
1070     TEST_FIELD_SIZE  (SHFILEINFOW, szTypeName, 160)
1071     TEST_FIELD_ALIGN (SHFILEINFOW, szTypeName, 2)
1072     TEST_FIELD_OFFSET(SHFILEINFOW, szTypeName, 536)
1073 }
1074 
1075 static void test_pack_SHFILEOPSTRUCTA(void)
1076 {
1077     /* SHFILEOPSTRUCTA */
1078     TEST_TYPE_SIZE   (SHFILEOPSTRUCTA, 56)
1079     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTA, 8)
1080     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hwnd, 8)
1081     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hwnd, 8)
1082     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hwnd, 0)
1083     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, wFunc, 4)
1084     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, wFunc, 4)
1085     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, wFunc, 8)
1086     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pFrom, 8)
1087     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pFrom, 8)
1088     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pFrom, 16)
1089     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pTo, 8)
1090     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pTo, 8)
1091     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pTo, 24)
1092     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fFlags, 2)
1093     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fFlags, 2)
1094     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fFlags, 32)
1095     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
1096     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
1097     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fAnyOperationsAborted, 36)
1098     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hNameMappings, 8)
1099     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hNameMappings, 8)
1100     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hNameMappings, 40)
1101     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, lpszProgressTitle, 8)
1102     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, lpszProgressTitle, 8)
1103     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, lpszProgressTitle, 48)
1104 }
1105 
1106 static void test_pack_SHFILEOPSTRUCTW(void)
1107 {
1108     /* SHFILEOPSTRUCTW */
1109     TEST_TYPE_SIZE   (SHFILEOPSTRUCTW, 56)
1110     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTW, 8)
1111     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hwnd, 8)
1112     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hwnd, 8)
1113     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hwnd, 0)
1114     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, wFunc, 4)
1115     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, wFunc, 4)
1116     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, wFunc, 8)
1117     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pFrom, 8)
1118     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pFrom, 8)
1119     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pFrom, 16)
1120     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pTo, 8)
1121     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pTo, 8)
1122     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pTo, 24)
1123     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fFlags, 2)
1124     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fFlags, 2)
1125     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fFlags, 32)
1126     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
1127     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
1128     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fAnyOperationsAborted, 36)
1129     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hNameMappings, 8)
1130     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hNameMappings, 8)
1131     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hNameMappings, 40)
1132     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, lpszProgressTitle, 8)
1133     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, lpszProgressTitle, 8)
1134     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, lpszProgressTitle, 48)
1135 }
1136 
1137 static void test_pack_SHNAMEMAPPINGA(void)
1138 {
1139     /* SHNAMEMAPPINGA */
1140     TEST_TYPE_SIZE   (SHNAMEMAPPINGA, 24)
1141     TEST_TYPE_ALIGN  (SHNAMEMAPPINGA, 8)
1142     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszOldPath, 8)
1143     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszOldPath, 8)
1144     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszOldPath, 0)
1145     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszNewPath, 8)
1146     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszNewPath, 8)
1147     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszNewPath, 8)
1148     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchOldPath, 4)
1149     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchOldPath, 4)
1150     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchOldPath, 16)
1151     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchNewPath, 4)
1152     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchNewPath, 4)
1153     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchNewPath, 20)
1154 }
1155 
1156 static void test_pack_SHNAMEMAPPINGW(void)
1157 {
1158     /* SHNAMEMAPPINGW */
1159     TEST_TYPE_SIZE   (SHNAMEMAPPINGW, 24)
1160     TEST_TYPE_ALIGN  (SHNAMEMAPPINGW, 8)
1161     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszOldPath, 8)
1162     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszOldPath, 8)
1163     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszOldPath, 0)
1164     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszNewPath, 8)
1165     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszNewPath, 8)
1166     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszNewPath, 8)
1167     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchOldPath, 4)
1168     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchOldPath, 4)
1169     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchOldPath, 16)
1170     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchNewPath, 4)
1171     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchNewPath, 4)
1172     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchNewPath, 20)
1173 }
1174 
1175 static void test_pack_ITEMIDLIST(void)
1176 {
1177     /* ITEMIDLIST (pack 1) */
1178     TEST_TYPE_SIZE   (ITEMIDLIST, 3)
1179     TEST_TYPE_ALIGN  (ITEMIDLIST, 1)
1180     TEST_FIELD_SIZE  (ITEMIDLIST, mkid, 3)
1181     TEST_FIELD_ALIGN (ITEMIDLIST, mkid, 1)
1182     TEST_FIELD_OFFSET(ITEMIDLIST, mkid, 0)
1183 }
1184 
1185 static void test_pack_LPCITEMIDLIST(void)
1186 {
1187     /* LPCITEMIDLIST */
1188     TEST_TYPE_SIZE   (LPCITEMIDLIST, 8)
1189     TEST_TYPE_ALIGN  (LPCITEMIDLIST, 8)
1190     TEST_TARGET_SIZE (LPCITEMIDLIST, 3)
1191     TEST_TARGET_ALIGN(LPCITEMIDLIST, 1)
1192 }
1193 
1194 static void test_pack_LPCSHITEMID(void)
1195 {
1196     /* LPCSHITEMID */
1197     TEST_TYPE_SIZE   (LPCSHITEMID, 8)
1198     TEST_TYPE_ALIGN  (LPCSHITEMID, 8)
1199     TEST_TARGET_SIZE (LPCSHITEMID, 3)
1200     TEST_TARGET_ALIGN(LPCSHITEMID, 1)
1201 }
1202 
1203 static void test_pack_LPITEMIDLIST(void)
1204 {
1205     /* LPITEMIDLIST */
1206     TEST_TYPE_SIZE   (LPITEMIDLIST, 8)
1207     TEST_TYPE_ALIGN  (LPITEMIDLIST, 8)
1208 }
1209 
1210 static void test_pack_LPSHELLDETAILS(void)
1211 {
1212     /* LPSHELLDETAILS */
1213     TEST_TYPE_SIZE   (LPSHELLDETAILS, 8)
1214     TEST_TYPE_ALIGN  (LPSHELLDETAILS, 8)
1215 }
1216 
1217 static void test_pack_LPSHITEMID(void)
1218 {
1219     /* LPSHITEMID */
1220     TEST_TYPE_SIZE   (LPSHITEMID, 8)
1221     TEST_TYPE_ALIGN  (LPSHITEMID, 8)
1222 }
1223 
1224 static void test_pack_LPSTRRET(void)
1225 {
1226     /* LPSTRRET */
1227     TEST_TYPE_SIZE   (LPSTRRET, 8)
1228     TEST_TYPE_ALIGN  (LPSTRRET, 8)
1229 }
1230 
1231 static void test_pack_SHELLDETAILS(void)
1232 {
1233     /* SHELLDETAILS (pack 1) */
1234     TEST_FIELD_SIZE  (SHELLDETAILS, fmt, 4)
1235     TEST_FIELD_ALIGN (SHELLDETAILS, fmt, 1)
1236     TEST_FIELD_OFFSET(SHELLDETAILS, fmt, 0)
1237     TEST_FIELD_SIZE  (SHELLDETAILS, cxChar, 4)
1238     TEST_FIELD_ALIGN (SHELLDETAILS, cxChar, 1)
1239     TEST_FIELD_OFFSET(SHELLDETAILS, cxChar, 4)
1240 }
1241 
1242 static void test_pack_SHITEMID(void)
1243 {
1244     /* SHITEMID (pack 1) */
1245     TEST_TYPE_SIZE   (SHITEMID, 3)
1246     TEST_TYPE_ALIGN  (SHITEMID, 1)
1247     TEST_FIELD_SIZE  (SHITEMID, cb, 2)
1248     TEST_FIELD_ALIGN (SHITEMID, cb, 1)
1249     TEST_FIELD_OFFSET(SHITEMID, cb, 0)
1250     TEST_FIELD_SIZE  (SHITEMID, abID, 1)
1251     TEST_FIELD_ALIGN (SHITEMID, abID, 1)
1252     TEST_FIELD_OFFSET(SHITEMID, abID, 2)
1253 }
1254 
1255 static void test_pack_STRRET(void)
1256 {
1257     /* STRRET (pack 8) */
1258     TEST_FIELD_SIZE  (STRRET, uType, 4)
1259     TEST_FIELD_ALIGN (STRRET, uType, 4)
1260     TEST_FIELD_OFFSET(STRRET, uType, 0)
1261 }
1262 
1263 static void test_pack_AUTO_SCROLL_DATA(void)
1264 {
1265     /* AUTO_SCROLL_DATA (pack 1) */
1266     TEST_TYPE_SIZE   (AUTO_SCROLL_DATA, 48)
1267     TEST_TYPE_ALIGN  (AUTO_SCROLL_DATA, 1)
1268     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, iNextSample, 4)
1269     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, iNextSample, 1)
1270     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, iNextSample, 0)
1271     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwLastScroll, 4)
1272     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwLastScroll, 1)
1273     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwLastScroll, 4)
1274     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, bFull, 4)
1275     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, bFull, 1)
1276     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, bFull, 8)
1277     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, pts, 24)
1278     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, pts, 1)
1279     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, pts, 12)
1280     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwTimes, 12)
1281     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwTimes, 1)
1282     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwTimes, 36)
1283 }
1284 
1285 static void test_pack_BFFCALLBACK(void)
1286 {
1287     /* BFFCALLBACK */
1288     TEST_TYPE_SIZE   (BFFCALLBACK, 8)
1289     TEST_TYPE_ALIGN  (BFFCALLBACK, 8)
1290 }
1291 
1292 static void test_pack_BROWSEINFOA(void)
1293 {
1294     /* BROWSEINFOA (pack 8) */
1295     TEST_TYPE_SIZE   (BROWSEINFOA, 64)
1296     TEST_TYPE_ALIGN  (BROWSEINFOA, 8)
1297     TEST_FIELD_SIZE  (BROWSEINFOA, hwndOwner, 8)
1298     TEST_FIELD_ALIGN (BROWSEINFOA, hwndOwner, 8)
1299     TEST_FIELD_OFFSET(BROWSEINFOA, hwndOwner, 0)
1300     TEST_FIELD_SIZE  (BROWSEINFOA, pidlRoot, 8)
1301     TEST_FIELD_ALIGN (BROWSEINFOA, pidlRoot, 8)
1302     TEST_FIELD_OFFSET(BROWSEINFOA, pidlRoot, 8)
1303     TEST_FIELD_SIZE  (BROWSEINFOA, pszDisplayName, 8)
1304     TEST_FIELD_ALIGN (BROWSEINFOA, pszDisplayName, 8)
1305     TEST_FIELD_OFFSET(BROWSEINFOA, pszDisplayName, 16)
1306     TEST_FIELD_SIZE  (BROWSEINFOA, lpszTitle, 8)
1307     TEST_FIELD_ALIGN (BROWSEINFOA, lpszTitle, 8)
1308     TEST_FIELD_OFFSET(BROWSEINFOA, lpszTitle, 24)
1309     TEST_FIELD_SIZE  (BROWSEINFOA, ulFlags, 4)
1310     TEST_FIELD_ALIGN (BROWSEINFOA, ulFlags, 4)
1311     TEST_FIELD_OFFSET(BROWSEINFOA, ulFlags, 32)
1312     TEST_FIELD_SIZE  (BROWSEINFOA, lpfn, 8)
1313     TEST_FIELD_ALIGN (BROWSEINFOA, lpfn, 8)
1314     TEST_FIELD_OFFSET(BROWSEINFOA, lpfn, 40)
1315     TEST_FIELD_SIZE  (BROWSEINFOA, lParam, 8)
1316     TEST_FIELD_ALIGN (BROWSEINFOA, lParam, 8)
1317     TEST_FIELD_OFFSET(BROWSEINFOA, lParam, 48)
1318     TEST_FIELD_SIZE  (BROWSEINFOA, iImage, 4)
1319     TEST_FIELD_ALIGN (BROWSEINFOA, iImage, 4)
1320     TEST_FIELD_OFFSET(BROWSEINFOA, iImage, 56)
1321 }
1322 
1323 static void test_pack_BROWSEINFOW(void)
1324 {
1325     /* BROWSEINFOW (pack 8) */
1326     TEST_TYPE_SIZE   (BROWSEINFOW, 64)
1327     TEST_TYPE_ALIGN  (BROWSEINFOW, 8)
1328     TEST_FIELD_SIZE  (BROWSEINFOW, hwndOwner, 8)
1329     TEST_FIELD_ALIGN (BROWSEINFOW, hwndOwner, 8)
1330     TEST_FIELD_OFFSET(BROWSEINFOW, hwndOwner, 0)
1331     TEST_FIELD_SIZE  (BROWSEINFOW, pidlRoot, 8)
1332     TEST_FIELD_ALIGN (BROWSEINFOW, pidlRoot, 8)
1333     TEST_FIELD_OFFSET(BROWSEINFOW, pidlRoot, 8)
1334     TEST_FIELD_SIZE  (BROWSEINFOW, pszDisplayName, 8)
1335     TEST_FIELD_ALIGN (BROWSEINFOW, pszDisplayName, 8)
1336     TEST_FIELD_OFFSET(BROWSEINFOW, pszDisplayName, 16)
1337     TEST_FIELD_SIZE  (BROWSEINFOW, lpszTitle, 8)
1338     TEST_FIELD_ALIGN (BROWSEINFOW, lpszTitle, 8)
1339     TEST_FIELD_OFFSET(BROWSEINFOW, lpszTitle, 24)
1340     TEST_FIELD_SIZE  (BROWSEINFOW, ulFlags, 4)
1341     TEST_FIELD_ALIGN (BROWSEINFOW, ulFlags, 4)
1342     TEST_FIELD_OFFSET(BROWSEINFOW, ulFlags, 32)
1343     TEST_FIELD_SIZE  (BROWSEINFOW, lpfn, 8)
1344     TEST_FIELD_ALIGN (BROWSEINFOW, lpfn, 8)
1345     TEST_FIELD_OFFSET(BROWSEINFOW, lpfn, 40)
1346     TEST_FIELD_SIZE  (BROWSEINFOW, lParam, 8)
1347     TEST_FIELD_ALIGN (BROWSEINFOW, lParam, 8)
1348     TEST_FIELD_OFFSET(BROWSEINFOW, lParam, 48)
1349     TEST_FIELD_SIZE  (BROWSEINFOW, iImage, 4)
1350     TEST_FIELD_ALIGN (BROWSEINFOW, iImage, 4)
1351     TEST_FIELD_OFFSET(BROWSEINFOW, iImage, 56)
1352 }
1353 
1354 static void test_pack_CABINETSTATE(void)
1355 {
1356     /* CABINETSTATE (pack 1) */
1357     TEST_TYPE_SIZE   (CABINETSTATE, 12)
1358     TEST_TYPE_ALIGN  (CABINETSTATE, 1)
1359     TEST_FIELD_SIZE  (CABINETSTATE, cLength, 2)
1360     TEST_FIELD_ALIGN (CABINETSTATE, cLength, 1)
1361     TEST_FIELD_OFFSET(CABINETSTATE, cLength, 0)
1362     TEST_FIELD_SIZE  (CABINETSTATE, nVersion, 2)
1363     TEST_FIELD_ALIGN (CABINETSTATE, nVersion, 1)
1364     TEST_FIELD_OFFSET(CABINETSTATE, nVersion, 2)
1365     TEST_FIELD_SIZE  (CABINETSTATE, fMenuEnumFilter, 4)
1366     TEST_FIELD_ALIGN (CABINETSTATE, fMenuEnumFilter, 1)
1367     TEST_FIELD_OFFSET(CABINETSTATE, fMenuEnumFilter, 8)
1368 }
1369 
1370 static void test_pack_CIDA(void)
1371 {
1372     /* CIDA (pack 1) */
1373     TEST_TYPE_SIZE   (CIDA, 8)
1374     TEST_TYPE_ALIGN  (CIDA, 1)
1375     TEST_FIELD_SIZE  (CIDA, cidl, 4)
1376     TEST_FIELD_ALIGN (CIDA, cidl, 1)
1377     TEST_FIELD_OFFSET(CIDA, cidl, 0)
1378     TEST_FIELD_SIZE  (CIDA, aoffset, 4)
1379     TEST_FIELD_ALIGN (CIDA, aoffset, 1)
1380     TEST_FIELD_OFFSET(CIDA, aoffset, 4)
1381 }
1382 
1383 static void test_pack_CSFV(void)
1384 {
1385     /* CSFV (pack 8) */
1386     TEST_FIELD_SIZE  (CSFV, cbSize, 4)
1387     TEST_FIELD_ALIGN (CSFV, cbSize, 4)
1388     TEST_FIELD_OFFSET(CSFV, cbSize, 0)
1389     TEST_FIELD_SIZE  (CSFV, pshf, 8)
1390     TEST_FIELD_ALIGN (CSFV, pshf, 8)
1391     TEST_FIELD_OFFSET(CSFV, pshf, 8)
1392     TEST_FIELD_SIZE  (CSFV, psvOuter, 8)
1393     TEST_FIELD_ALIGN (CSFV, psvOuter, 8)
1394     TEST_FIELD_OFFSET(CSFV, psvOuter, 16)
1395     TEST_FIELD_SIZE  (CSFV, pidl, 8)
1396     TEST_FIELD_ALIGN (CSFV, pidl, 8)
1397     TEST_FIELD_OFFSET(CSFV, pidl, 24)
1398     TEST_FIELD_SIZE  (CSFV, lEvents, 4)
1399     TEST_FIELD_ALIGN (CSFV, lEvents, 4)
1400     TEST_FIELD_OFFSET(CSFV, lEvents, 32)
1401     TEST_FIELD_SIZE  (CSFV, pfnCallback, 8)
1402     TEST_FIELD_ALIGN (CSFV, pfnCallback, 8)
1403     TEST_FIELD_OFFSET(CSFV, pfnCallback, 40)
1404 }
1405 
1406 static void test_pack_DROPFILES(void)
1407 {
1408     /* DROPFILES (pack 1) */
1409     TEST_TYPE_SIZE   (DROPFILES, 20)
1410     TEST_TYPE_ALIGN  (DROPFILES, 1)
1411     TEST_FIELD_SIZE  (DROPFILES, pFiles, 4)
1412     TEST_FIELD_ALIGN (DROPFILES, pFiles, 1)
1413     TEST_FIELD_OFFSET(DROPFILES, pFiles, 0)
1414     TEST_FIELD_SIZE  (DROPFILES, pt, 8)
1415     TEST_FIELD_ALIGN (DROPFILES, pt, 1)
1416     TEST_FIELD_OFFSET(DROPFILES, pt, 4)
1417     TEST_FIELD_SIZE  (DROPFILES, fNC, 4)
1418     TEST_FIELD_ALIGN (DROPFILES, fNC, 1)
1419     TEST_FIELD_OFFSET(DROPFILES, fNC, 12)
1420     TEST_FIELD_SIZE  (DROPFILES, fWide, 4)
1421     TEST_FIELD_ALIGN (DROPFILES, fWide, 1)
1422     TEST_FIELD_OFFSET(DROPFILES, fWide, 16)
1423 }
1424 
1425 static void test_pack_FILEDESCRIPTORA(void)
1426 {
1427     /* FILEDESCRIPTORA (pack 1) */
1428     TEST_TYPE_SIZE   (FILEDESCRIPTORA, 332)
1429     TEST_TYPE_ALIGN  (FILEDESCRIPTORA, 1)
1430     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFlags, 4)
1431     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFlags, 1)
1432     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFlags, 0)
1433     TEST_FIELD_SIZE  (FILEDESCRIPTORA, clsid, 16)
1434     TEST_FIELD_ALIGN (FILEDESCRIPTORA, clsid, 1)
1435     TEST_FIELD_OFFSET(FILEDESCRIPTORA, clsid, 4)
1436     TEST_FIELD_SIZE  (FILEDESCRIPTORA, sizel, 8)
1437     TEST_FIELD_ALIGN (FILEDESCRIPTORA, sizel, 1)
1438     TEST_FIELD_OFFSET(FILEDESCRIPTORA, sizel, 20)
1439     TEST_FIELD_SIZE  (FILEDESCRIPTORA, pointl, 8)
1440     TEST_FIELD_ALIGN (FILEDESCRIPTORA, pointl, 1)
1441     TEST_FIELD_OFFSET(FILEDESCRIPTORA, pointl, 28)
1442     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFileAttributes, 4)
1443     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFileAttributes, 1)
1444     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFileAttributes, 36)
1445     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftCreationTime, 8)
1446     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftCreationTime, 1)
1447     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftCreationTime, 40)
1448     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastAccessTime, 8)
1449     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastAccessTime, 1)
1450     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastAccessTime, 48)
1451     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastWriteTime, 8)
1452     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastWriteTime, 1)
1453     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastWriteTime, 56)
1454     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeHigh, 4)
1455     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeHigh, 1)
1456     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeHigh, 64)
1457     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeLow, 4)
1458     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeLow, 1)
1459     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeLow, 68)
1460     TEST_FIELD_SIZE  (FILEDESCRIPTORA, cFileName, 260)
1461     TEST_FIELD_ALIGN (FILEDESCRIPTORA, cFileName, 1)
1462     TEST_FIELD_OFFSET(FILEDESCRIPTORA, cFileName, 72)
1463 }
1464 
1465 static void test_pack_FILEDESCRIPTORW(void)
1466 {
1467     /* FILEDESCRIPTORW (pack 1) */
1468     TEST_TYPE_SIZE   (FILEDESCRIPTORW, 592)
1469     TEST_TYPE_ALIGN  (FILEDESCRIPTORW, 1)
1470     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFlags, 4)
1471     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFlags, 1)
1472     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFlags, 0)
1473     TEST_FIELD_SIZE  (FILEDESCRIPTORW, clsid, 16)
1474     TEST_FIELD_ALIGN (FILEDESCRIPTORW, clsid, 1)
1475     TEST_FIELD_OFFSET(FILEDESCRIPTORW, clsid, 4)
1476     TEST_FIELD_SIZE  (FILEDESCRIPTORW, sizel, 8)
1477     TEST_FIELD_ALIGN (FILEDESCRIPTORW, sizel, 1)
1478     TEST_FIELD_OFFSET(FILEDESCRIPTORW, sizel, 20)
1479     TEST_FIELD_SIZE  (FILEDESCRIPTORW, pointl, 8)
1480     TEST_FIELD_ALIGN (FILEDESCRIPTORW, pointl, 1)
1481     TEST_FIELD_OFFSET(FILEDESCRIPTORW, pointl, 28)
1482     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFileAttributes, 4)
1483     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFileAttributes, 1)
1484     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFileAttributes, 36)
1485     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftCreationTime, 8)
1486     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftCreationTime, 1)
1487     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftCreationTime, 40)
1488     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastAccessTime, 8)
1489     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastAccessTime, 1)
1490     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastAccessTime, 48)
1491     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastWriteTime, 8)
1492     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastWriteTime, 1)
1493     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastWriteTime, 56)
1494     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeHigh, 4)
1495     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeHigh, 1)
1496     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeHigh, 64)
1497     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeLow, 4)
1498     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeLow, 1)
1499     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeLow, 68)
1500     TEST_FIELD_SIZE  (FILEDESCRIPTORW, cFileName, 520)
1501     TEST_FIELD_ALIGN (FILEDESCRIPTORW, cFileName, 1)
1502     TEST_FIELD_OFFSET(FILEDESCRIPTORW, cFileName, 72)
1503 }
1504 
1505 static void test_pack_FILEGROUPDESCRIPTORA(void)
1506 {
1507     /* FILEGROUPDESCRIPTORA (pack 1) */
1508     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORA, 336)
1509     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORA, 1)
1510     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, cItems, 4)
1511     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, cItems, 1)
1512     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, cItems, 0)
1513     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, fgd, 332)
1514     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, fgd, 1)
1515     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, fgd, 4)
1516 }
1517 
1518 static void test_pack_FILEGROUPDESCRIPTORW(void)
1519 {
1520     /* FILEGROUPDESCRIPTORW (pack 1) */
1521     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORW, 596)
1522     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORW, 1)
1523     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, cItems, 4)
1524     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, cItems, 1)
1525     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, cItems, 0)
1526     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, fgd, 592)
1527     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, fgd, 1)
1528     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, fgd, 4)
1529 }
1530 
1531 static void test_pack_ITEMSPACING(void)
1532 {
1533     /* ITEMSPACING (pack 8) */
1534     TEST_TYPE_SIZE   (ITEMSPACING, 16)
1535     TEST_TYPE_ALIGN  (ITEMSPACING, 4)
1536     TEST_FIELD_SIZE  (ITEMSPACING, cxSmall, 4)
1537     TEST_FIELD_ALIGN (ITEMSPACING, cxSmall, 4)
1538     TEST_FIELD_OFFSET(ITEMSPACING, cxSmall, 0)
1539     TEST_FIELD_SIZE  (ITEMSPACING, cySmall, 4)
1540     TEST_FIELD_ALIGN (ITEMSPACING, cySmall, 4)
1541     TEST_FIELD_OFFSET(ITEMSPACING, cySmall, 4)
1542     TEST_FIELD_SIZE  (ITEMSPACING, cxLarge, 4)
1543     TEST_FIELD_ALIGN (ITEMSPACING, cxLarge, 4)
1544     TEST_FIELD_OFFSET(ITEMSPACING, cxLarge, 8)
1545     TEST_FIELD_SIZE  (ITEMSPACING, cyLarge, 4)
1546     TEST_FIELD_ALIGN (ITEMSPACING, cyLarge, 4)
1547     TEST_FIELD_OFFSET(ITEMSPACING, cyLarge, 12)
1548 }
1549 
1550 static void test_pack_LPBROWSEINFOA(void)
1551 {
1552     /* LPBROWSEINFOA */
1553     TEST_TYPE_SIZE   (LPBROWSEINFOA, 8)
1554     TEST_TYPE_ALIGN  (LPBROWSEINFOA, 8)
1555     TEST_TARGET_SIZE (LPBROWSEINFOA, 64)
1556     TEST_TARGET_ALIGN(LPBROWSEINFOA, 8)
1557 }
1558 
1559 static void test_pack_LPBROWSEINFOW(void)
1560 {
1561     /* LPBROWSEINFOW */
1562     TEST_TYPE_SIZE   (LPBROWSEINFOW, 8)
1563     TEST_TYPE_ALIGN  (LPBROWSEINFOW, 8)
1564     TEST_TARGET_SIZE (LPBROWSEINFOW, 64)
1565     TEST_TARGET_ALIGN(LPBROWSEINFOW, 8)
1566 }
1567 
1568 static void test_pack_LPCABINETSTATE(void)
1569 {
1570     /* LPCABINETSTATE */
1571     TEST_TYPE_SIZE   (LPCABINETSTATE, 8)
1572     TEST_TYPE_ALIGN  (LPCABINETSTATE, 8)
1573     TEST_TARGET_SIZE (LPCABINETSTATE, 12)
1574     TEST_TARGET_ALIGN(LPCABINETSTATE, 1)
1575 }
1576 
1577 static void test_pack_LPCSFV(void)
1578 {
1579     /* LPCSFV */
1580     TEST_TYPE_SIZE   (LPCSFV, 8)
1581     TEST_TYPE_ALIGN  (LPCSFV, 8)
1582 }
1583 
1584 static void test_pack_LPDROPFILES(void)
1585 {
1586     /* LPDROPFILES */
1587     TEST_TYPE_SIZE   (LPDROPFILES, 8)
1588     TEST_TYPE_ALIGN  (LPDROPFILES, 8)
1589     TEST_TARGET_SIZE (LPDROPFILES, 20)
1590     TEST_TARGET_ALIGN(LPDROPFILES, 1)
1591 }
1592 
1593 static void test_pack_LPFILEDESCRIPTORA(void)
1594 {
1595     /* LPFILEDESCRIPTORA */
1596     TEST_TYPE_SIZE   (LPFILEDESCRIPTORA, 8)
1597     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORA, 8)
1598     TEST_TARGET_SIZE (LPFILEDESCRIPTORA, 332)
1599     TEST_TARGET_ALIGN(LPFILEDESCRIPTORA, 1)
1600 }
1601 
1602 static void test_pack_LPFILEDESCRIPTORW(void)
1603 {
1604     /* LPFILEDESCRIPTORW */
1605     TEST_TYPE_SIZE   (LPFILEDESCRIPTORW, 8)
1606     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORW, 8)
1607     TEST_TARGET_SIZE (LPFILEDESCRIPTORW, 592)
1608     TEST_TARGET_ALIGN(LPFILEDESCRIPTORW, 1)
1609 }
1610 
1611 static void test_pack_LPFILEGROUPDESCRIPTORA(void)
1612 {
1613     /* LPFILEGROUPDESCRIPTORA */
1614     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORA, 8)
1615     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORA, 8)
1616     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORA, 336)
1617     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORA, 1)
1618 }
1619 
1620 static void test_pack_LPFILEGROUPDESCRIPTORW(void)
1621 {
1622     /* LPFILEGROUPDESCRIPTORW */
1623     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORW, 8)
1624     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORW, 8)
1625     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORW, 596)
1626     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORW, 1)
1627 }
1628 
1629 static void test_pack_LPFNVIEWCALLBACK(void)
1630 {
1631     /* LPFNVIEWCALLBACK */
1632     TEST_TYPE_SIZE   (LPFNVIEWCALLBACK, 8)
1633     TEST_TYPE_ALIGN  (LPFNVIEWCALLBACK, 8)
1634 }
1635 
1636 static void test_pack_LPIDA(void)
1637 {
1638     /* LPIDA */
1639     TEST_TYPE_SIZE   (LPIDA, 8)
1640     TEST_TYPE_ALIGN  (LPIDA, 8)
1641     TEST_TARGET_SIZE (LPIDA, 8)
1642     TEST_TARGET_ALIGN(LPIDA, 1)
1643 }
1644 
1645 static void test_pack_LPQCMINFO(void)
1646 {
1647     /* LPQCMINFO */
1648     TEST_TYPE_SIZE   (LPQCMINFO, 8)
1649     TEST_TYPE_ALIGN  (LPQCMINFO, 8)
1650     TEST_TARGET_SIZE (LPQCMINFO, 32)
1651     TEST_TARGET_ALIGN(LPQCMINFO, 8)
1652 }
1653 
1654 static void test_pack_LPSHChangeDWORDAsIDList(void)
1655 {
1656     /* LPSHChangeDWORDAsIDList */
1657     TEST_TYPE_SIZE   (LPSHChangeDWORDAsIDList, 8)
1658     TEST_TYPE_ALIGN  (LPSHChangeDWORDAsIDList, 8)
1659     TEST_TARGET_SIZE (LPSHChangeDWORDAsIDList, 12)
1660     TEST_TARGET_ALIGN(LPSHChangeDWORDAsIDList, 1)
1661 }
1662 
1663 static void test_pack_LPSHChangeProductKeyAsIDList(void)
1664 {
1665     /* LPSHChangeProductKeyAsIDList */
1666     TEST_TYPE_SIZE   (LPSHChangeProductKeyAsIDList, 8)
1667     TEST_TYPE_ALIGN  (LPSHChangeProductKeyAsIDList, 8)
1668     TEST_TARGET_SIZE (LPSHChangeProductKeyAsIDList, 82)
1669     TEST_TARGET_ALIGN(LPSHChangeProductKeyAsIDList, 1)
1670 }
1671 
1672 static void test_pack_LPSHDESCRIPTIONID(void)
1673 {
1674     /* LPSHDESCRIPTIONID */
1675     TEST_TYPE_SIZE   (LPSHDESCRIPTIONID, 8)
1676     TEST_TYPE_ALIGN  (LPSHDESCRIPTIONID, 8)
1677     TEST_TARGET_SIZE (LPSHDESCRIPTIONID, 20)
1678     TEST_TARGET_ALIGN(LPSHDESCRIPTIONID, 4)
1679 }
1680 
1681 static void test_pack_LPSHELLFLAGSTATE(void)
1682 {
1683     /* LPSHELLFLAGSTATE */
1684     TEST_TYPE_SIZE   (LPSHELLFLAGSTATE, 8)
1685     TEST_TYPE_ALIGN  (LPSHELLFLAGSTATE, 8)
1686     TEST_TARGET_SIZE (LPSHELLFLAGSTATE, 4)
1687     TEST_TARGET_ALIGN(LPSHELLFLAGSTATE, 1)
1688 }
1689 
1690 static void test_pack_LPSHELLSTATE(void)
1691 {
1692     /* LPSHELLSTATE */
1693     TEST_TYPE_SIZE   (LPSHELLSTATE, 8)
1694     TEST_TYPE_ALIGN  (LPSHELLSTATE, 8)
1695     TEST_TARGET_SIZE (LPSHELLSTATE, 32)
1696     TEST_TARGET_ALIGN(LPSHELLSTATE, 1)
1697 }
1698 
1699 static void test_pack_LPTBINFO(void)
1700 {
1701     /* LPTBINFO */
1702     TEST_TYPE_SIZE   (LPTBINFO, 8)
1703     TEST_TYPE_ALIGN  (LPTBINFO, 8)
1704     TEST_TARGET_SIZE (LPTBINFO, 8)
1705     TEST_TARGET_ALIGN(LPTBINFO, 4)
1706 }
1707 
1708 static void test_pack_PBROWSEINFOA(void)
1709 {
1710     /* PBROWSEINFOA */
1711     TEST_TYPE_SIZE   (PBROWSEINFOA, 8)
1712     TEST_TYPE_ALIGN  (PBROWSEINFOA, 8)
1713     TEST_TARGET_SIZE (PBROWSEINFOA, 64)
1714     TEST_TARGET_ALIGN(PBROWSEINFOA, 8)
1715 }
1716 
1717 static void test_pack_PBROWSEINFOW(void)
1718 {
1719     /* PBROWSEINFOW */
1720     TEST_TYPE_SIZE   (PBROWSEINFOW, 8)
1721     TEST_TYPE_ALIGN  (PBROWSEINFOW, 8)
1722     TEST_TARGET_SIZE (PBROWSEINFOW, 64)
1723     TEST_TARGET_ALIGN(PBROWSEINFOW, 8)
1724 }
1725 
1726 static void test_pack_QCMINFO(void)
1727 {
1728     /* QCMINFO (pack 8) */
1729     TEST_TYPE_SIZE   (QCMINFO, 32)
1730     TEST_TYPE_ALIGN  (QCMINFO, 8)
1731     TEST_FIELD_SIZE  (QCMINFO, hmenu, 8)
1732     TEST_FIELD_ALIGN (QCMINFO, hmenu, 8)
1733     TEST_FIELD_OFFSET(QCMINFO, hmenu, 0)
1734     TEST_FIELD_SIZE  (QCMINFO, indexMenu, 4)
1735     TEST_FIELD_ALIGN (QCMINFO, indexMenu, 4)
1736     TEST_FIELD_OFFSET(QCMINFO, indexMenu, 8)
1737     TEST_FIELD_SIZE  (QCMINFO, idCmdFirst, 4)
1738     TEST_FIELD_ALIGN (QCMINFO, idCmdFirst, 4)
1739     TEST_FIELD_OFFSET(QCMINFO, idCmdFirst, 12)
1740     TEST_FIELD_SIZE  (QCMINFO, idCmdLast, 4)
1741     TEST_FIELD_ALIGN (QCMINFO, idCmdLast, 4)
1742     TEST_FIELD_OFFSET(QCMINFO, idCmdLast, 16)
1743     TEST_FIELD_SIZE  (QCMINFO, pIdMap, 8)
1744     TEST_FIELD_ALIGN (QCMINFO, pIdMap, 8)
1745     TEST_FIELD_OFFSET(QCMINFO, pIdMap, 24)
1746 }
1747 
1748 static void test_pack_QCMINFO_IDMAP(void)
1749 {
1750     /* QCMINFO_IDMAP (pack 8) */
1751     TEST_TYPE_SIZE   (QCMINFO_IDMAP, 12)
1752     TEST_TYPE_ALIGN  (QCMINFO_IDMAP, 4)
1753     TEST_FIELD_SIZE  (QCMINFO_IDMAP, nMaxIds, 4)
1754     TEST_FIELD_ALIGN (QCMINFO_IDMAP, nMaxIds, 4)
1755     TEST_FIELD_OFFSET(QCMINFO_IDMAP, nMaxIds, 0)
1756     TEST_FIELD_SIZE  (QCMINFO_IDMAP, pIdList, 8)
1757     TEST_FIELD_ALIGN (QCMINFO_IDMAP, pIdList, 4)
1758     TEST_FIELD_OFFSET(QCMINFO_IDMAP, pIdList, 4)
1759 }
1760 
1761 static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
1762 {
1763     /* QCMINFO_IDMAP_PLACEMENT (pack 8) */
1764     TEST_TYPE_SIZE   (QCMINFO_IDMAP_PLACEMENT, 8)
1765     TEST_TYPE_ALIGN  (QCMINFO_IDMAP_PLACEMENT, 4)
1766     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, id, 4)
1767     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, id, 4)
1768     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, id, 0)
1769     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1770     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1771     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1772 }
1773 
1774 static void test_pack_SFV_CREATE(void)
1775 {
1776     /* SFV_CREATE (pack 8) */
1777     TEST_TYPE_SIZE   (SFV_CREATE, 32)
1778     TEST_TYPE_ALIGN  (SFV_CREATE, 8)
1779     TEST_FIELD_SIZE  (SFV_CREATE, cbSize, 4)
1780     TEST_FIELD_ALIGN (SFV_CREATE, cbSize, 4)
1781     TEST_FIELD_OFFSET(SFV_CREATE, cbSize, 0)
1782     TEST_FIELD_SIZE  (SFV_CREATE, pshf, 8)
1783     TEST_FIELD_ALIGN (SFV_CREATE, pshf, 8)
1784     TEST_FIELD_OFFSET(SFV_CREATE, pshf, 8)
1785     TEST_FIELD_SIZE  (SFV_CREATE, psvOuter, 8)
1786     TEST_FIELD_ALIGN (SFV_CREATE, psvOuter, 8)
1787     TEST_FIELD_OFFSET(SFV_CREATE, psvOuter, 16)
1788     TEST_FIELD_SIZE  (SFV_CREATE, psfvcb, 8)
1789     TEST_FIELD_ALIGN (SFV_CREATE, psfvcb, 8)
1790     TEST_FIELD_OFFSET(SFV_CREATE, psfvcb, 24)
1791 }
1792 
1793 static void test_pack_SHChangeDWORDAsIDList(void)
1794 {
1795     /* SHChangeDWORDAsIDList (pack 1) */
1796     TEST_TYPE_SIZE   (SHChangeDWORDAsIDList, 12)
1797     TEST_TYPE_ALIGN  (SHChangeDWORDAsIDList, 1)
1798     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cb, 2)
1799     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cb, 1)
1800     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cb, 0)
1801     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem1, 4)
1802     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem1, 1)
1803     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem1, 2)
1804     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem2, 4)
1805     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem2, 1)
1806     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem2, 6)
1807     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cbZero, 2)
1808     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cbZero, 1)
1809     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cbZero, 10)
1810 }
1811 
1812 static void test_pack_SHChangeNotifyEntry(void)
1813 {
1814     /* SHChangeNotifyEntry (pack 1) */
1815     TEST_TYPE_SIZE   (SHChangeNotifyEntry, 12)
1816     TEST_TYPE_ALIGN  (SHChangeNotifyEntry, 1)
1817     TEST_FIELD_SIZE  (SHChangeNotifyEntry, pidl, 8)
1818     TEST_FIELD_ALIGN (SHChangeNotifyEntry, pidl, 1)
1819     TEST_FIELD_OFFSET(SHChangeNotifyEntry, pidl, 0)
1820     TEST_FIELD_SIZE  (SHChangeNotifyEntry, fRecursive, 4)
1821     TEST_FIELD_ALIGN (SHChangeNotifyEntry, fRecursive, 1)
1822     TEST_FIELD_OFFSET(SHChangeNotifyEntry, fRecursive, 8)
1823 }
1824 
1825 static void test_pack_SHChangeProductKeyAsIDList(void)
1826 {
1827     /* SHChangeProductKeyAsIDList (pack 1) */
1828     TEST_TYPE_SIZE   (SHChangeProductKeyAsIDList, 82)
1829     TEST_TYPE_ALIGN  (SHChangeProductKeyAsIDList, 1)
1830     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cb, 2)
1831     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cb, 1)
1832     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cb, 0)
1833     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, wszProductKey, 78)
1834     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, wszProductKey, 1)
1835     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, wszProductKey, 2)
1836     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cbZero, 2)
1837     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cbZero, 1)
1838     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cbZero, 80)
1839 }
1840 
1841 static void test_pack_SHDESCRIPTIONID(void)
1842 {
1843     /* SHDESCRIPTIONID (pack 8) */
1844     TEST_TYPE_SIZE   (SHDESCRIPTIONID, 20)
1845     TEST_TYPE_ALIGN  (SHDESCRIPTIONID, 4)
1846     TEST_FIELD_SIZE  (SHDESCRIPTIONID, dwDescriptionId, 4)
1847     TEST_FIELD_ALIGN (SHDESCRIPTIONID, dwDescriptionId, 4)
1848     TEST_FIELD_OFFSET(SHDESCRIPTIONID, dwDescriptionId, 0)
1849     TEST_FIELD_SIZE  (SHDESCRIPTIONID, clsid, 16)
1850     TEST_FIELD_ALIGN (SHDESCRIPTIONID, clsid, 4)
1851     TEST_FIELD_OFFSET(SHDESCRIPTIONID, clsid, 4)
1852 }
1853 
1854 static void test_pack_SHELLFLAGSTATE(void)
1855 {
1856     /* SHELLFLAGSTATE (pack 1) */
1857     TEST_TYPE_SIZE   (SHELLFLAGSTATE, 4)
1858     TEST_TYPE_ALIGN  (SHELLFLAGSTATE, 1)
1859 }
1860 
1861 static void test_pack_SHELLSTATE(void)
1862 {
1863     /* SHELLSTATE (pack 1) */
1864     TEST_TYPE_SIZE   (SHELLSTATE, 32)
1865     TEST_TYPE_ALIGN  (SHELLSTATE, 1)
1866     TEST_FIELD_SIZE  (SHELLSTATE, dwWin95Unused, 4)
1867     TEST_FIELD_ALIGN (SHELLSTATE, dwWin95Unused, 1)
1868     TEST_FIELD_OFFSET(SHELLSTATE, dwWin95Unused, 4)
1869     TEST_FIELD_SIZE  (SHELLSTATE, uWin95Unused, 4)
1870     TEST_FIELD_ALIGN (SHELLSTATE, uWin95Unused, 1)
1871     TEST_FIELD_OFFSET(SHELLSTATE, uWin95Unused, 8)
1872     TEST_FIELD_SIZE  (SHELLSTATE, lParamSort, 4)
1873     TEST_FIELD_ALIGN (SHELLSTATE, lParamSort, 1)
1874     TEST_FIELD_OFFSET(SHELLSTATE, lParamSort, 12)
1875     TEST_FIELD_SIZE  (SHELLSTATE, iSortDirection, 4)
1876     TEST_FIELD_ALIGN (SHELLSTATE, iSortDirection, 1)
1877     TEST_FIELD_OFFSET(SHELLSTATE, iSortDirection, 16)
1878     TEST_FIELD_SIZE  (SHELLSTATE, version, 4)
1879     TEST_FIELD_ALIGN (SHELLSTATE, version, 1)
1880     TEST_FIELD_OFFSET(SHELLSTATE, version, 20)
1881     TEST_FIELD_SIZE  (SHELLSTATE, uNotUsed, 4)
1882     TEST_FIELD_ALIGN (SHELLSTATE, uNotUsed, 1)
1883     TEST_FIELD_OFFSET(SHELLSTATE, uNotUsed, 24)
1884 }
1885 
1886 static void test_pack_TBINFO(void)
1887 {
1888     /* TBINFO (pack 8) */
1889     TEST_TYPE_SIZE   (TBINFO, 8)
1890     TEST_TYPE_ALIGN  (TBINFO, 4)
1891     TEST_FIELD_SIZE  (TBINFO, cbuttons, 4)
1892     TEST_FIELD_ALIGN (TBINFO, cbuttons, 4)
1893     TEST_FIELD_OFFSET(TBINFO, cbuttons, 0)
1894     TEST_FIELD_SIZE  (TBINFO, uFlags, 4)
1895     TEST_FIELD_ALIGN (TBINFO, uFlags, 4)
1896     TEST_FIELD_OFFSET(TBINFO, uFlags, 4)
1897 }
1898 
1899 #else /* _WIN64 */
1900 
1901 static void test_pack_BLOB(void)
1902 {
1903     /* BLOB */
1904     TEST_TYPE_SIZE   (BLOB, 8)
1905     TEST_TYPE_ALIGN  (BLOB, 4)
1906     TEST_FIELD_SIZE  (BLOB, cbSize, 4)
1907     TEST_FIELD_ALIGN (BLOB, cbSize, 4)
1908     TEST_FIELD_OFFSET(BLOB, cbSize, 0)
1909     TEST_FIELD_SIZE  (BLOB, pBlobData, 4)
1910     TEST_FIELD_ALIGN (BLOB, pBlobData, 4)
1911     TEST_FIELD_OFFSET(BLOB, pBlobData, 4)
1912 }
1913 
1914 static void test_pack_BSTR(void)
1915 {
1916     /* BSTR */
1917     TEST_TYPE_SIZE   (BSTR, 4)
1918     TEST_TYPE_ALIGN  (BSTR, 4)
1919     TEST_TARGET_SIZE (BSTR, 2)
1920     TEST_TARGET_ALIGN(BSTR, 2)
1921 }
1922 
1923 static void test_pack_BSTRBLOB(void)
1924 {
1925     /* BSTRBLOB */
1926     TEST_TYPE_SIZE   (BSTRBLOB, 8)
1927     TEST_TYPE_ALIGN  (BSTRBLOB, 4)
1928     TEST_FIELD_SIZE  (BSTRBLOB, cbSize, 4)
1929     TEST_FIELD_ALIGN (BSTRBLOB, cbSize, 4)
1930     TEST_FIELD_OFFSET(BSTRBLOB, cbSize, 0)
1931     TEST_FIELD_SIZE  (BSTRBLOB, pData, 4)
1932     TEST_FIELD_ALIGN (BSTRBLOB, pData, 4)
1933     TEST_FIELD_OFFSET(BSTRBLOB, pData, 4)
1934 }
1935 
1936 static void test_pack_BYTE_BLOB(void)
1937 {
1938     /* BYTE_BLOB */
1939     TEST_TYPE_SIZE   (BYTE_BLOB, 8)
1940     TEST_TYPE_ALIGN  (BYTE_BLOB, 4)
1941     TEST_FIELD_SIZE  (BYTE_BLOB, clSize, 4)
1942     TEST_FIELD_ALIGN (BYTE_BLOB, clSize, 4)
1943     TEST_FIELD_OFFSET(BYTE_BLOB, clSize, 0)
1944     TEST_FIELD_SIZE  (BYTE_BLOB, abData, 1)
1945     TEST_FIELD_ALIGN (BYTE_BLOB, abData, 1)
1946     TEST_FIELD_OFFSET(BYTE_BLOB, abData, 4)
1947 }
1948 
1949 static void test_pack_BYTE_SIZEDARR(void)
1950 {
1951     /* BYTE_SIZEDARR */
1952     TEST_TYPE_SIZE   (BYTE_SIZEDARR, 8)
1953     TEST_TYPE_ALIGN  (BYTE_SIZEDARR, 4)
1954     TEST_FIELD_SIZE  (BYTE_SIZEDARR, clSize, 4)
1955     TEST_FIELD_ALIGN (BYTE_SIZEDARR, clSize, 4)
1956     TEST_FIELD_OFFSET(BYTE_SIZEDARR, clSize, 0)
1957     TEST_FIELD_SIZE  (BYTE_SIZEDARR, pData, 4)
1958     TEST_FIELD_ALIGN (BYTE_SIZEDARR, pData, 4)
1959     TEST_FIELD_OFFSET(BYTE_SIZEDARR, pData, 4)
1960 }
1961 
1962 static void test_pack_CLIPDATA(void)
1963 {
1964     /* CLIPDATA */
1965     TEST_TYPE_SIZE   (CLIPDATA, 12)
1966     TEST_TYPE_ALIGN  (CLIPDATA, 4)
1967     TEST_FIELD_SIZE  (CLIPDATA, cbSize, 4)
1968     TEST_FIELD_ALIGN (CLIPDATA, cbSize, 4)
1969     TEST_FIELD_OFFSET(CLIPDATA, cbSize, 0)
1970     TEST_FIELD_SIZE  (CLIPDATA, ulClipFmt, 4)
1971     TEST_FIELD_ALIGN (CLIPDATA, ulClipFmt, 4)
1972     TEST_FIELD_OFFSET(CLIPDATA, ulClipFmt, 4)
1973     TEST_FIELD_SIZE  (CLIPDATA, pClipData, 4)
1974     TEST_FIELD_ALIGN (CLIPDATA, pClipData, 4)
1975     TEST_FIELD_OFFSET(CLIPDATA, pClipData, 8)
1976 }
1977 
1978 static void test_pack_CLIPFORMAT(void)
1979 {
1980     /* CLIPFORMAT */
1981     TEST_TYPE_SIZE   (CLIPFORMAT, 2)
1982     TEST_TYPE_ALIGN  (CLIPFORMAT, 2)
1983     TEST_TYPE_UNSIGNED(CLIPFORMAT)
1984 }
1985 
1986 static void test_pack_COAUTHIDENTITY(void)
1987 {
1988     /* COAUTHIDENTITY */
1989     TEST_TYPE_SIZE   (COAUTHIDENTITY, 28)
1990     TEST_TYPE_ALIGN  (COAUTHIDENTITY, 4)
1991     TEST_FIELD_SIZE  (COAUTHIDENTITY, User, 4)
1992     TEST_FIELD_ALIGN (COAUTHIDENTITY, User, 4)
1993     TEST_FIELD_OFFSET(COAUTHIDENTITY, User, 0)
1994     TEST_FIELD_SIZE  (COAUTHIDENTITY, UserLength, 4)
1995     TEST_FIELD_ALIGN (COAUTHIDENTITY, UserLength, 4)
1996     TEST_FIELD_OFFSET(COAUTHIDENTITY, UserLength, 4)
1997     TEST_FIELD_SIZE  (COAUTHIDENTITY, Domain, 4)
1998     TEST_FIELD_ALIGN (COAUTHIDENTITY, Domain, 4)
1999     TEST_FIELD_OFFSET(COAUTHIDENTITY, Domain, 8)
2000     TEST_FIELD_SIZE  (COAUTHIDENTITY, DomainLength, 4)
2001     TEST_FIELD_ALIGN (COAUTHIDENTITY, DomainLength, 4)
2002     TEST_FIELD_OFFSET(COAUTHIDENTITY, DomainLength, 12)
2003     TEST_FIELD_SIZE  (COAUTHIDENTITY, Password, 4)
2004     TEST_FIELD_ALIGN (COAUTHIDENTITY, Password, 4)
2005     TEST_FIELD_OFFSET(COAUTHIDENTITY, Password, 16)
2006     TEST_FIELD_SIZE  (COAUTHIDENTITY, PasswordLength, 4)
2007     TEST_FIELD_ALIGN (COAUTHIDENTITY, PasswordLength, 4)
2008     TEST_FIELD_OFFSET(COAUTHIDENTITY, PasswordLength, 20)
2009     TEST_FIELD_SIZE  (COAUTHIDENTITY, Flags, 4)
2010     TEST_FIELD_ALIGN (COAUTHIDENTITY, Flags, 4)
2011     TEST_FIELD_OFFSET(COAUTHIDENTITY, Flags, 24)
2012 }
2013 
2014 static void test_pack_COAUTHINFO(void)
2015 {
2016     /* COAUTHINFO */
2017     TEST_TYPE_SIZE   (COAUTHINFO, 28)
2018     TEST_TYPE_ALIGN  (COAUTHINFO, 4)
2019     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnSvc, 4)
2020     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnSvc, 4)
2021     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnSvc, 0)
2022     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthzSvc, 4)
2023     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthzSvc, 4)
2024     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthzSvc, 4)
2025     TEST_FIELD_SIZE  (COAUTHINFO, pwszServerPrincName, 4)
2026     TEST_FIELD_ALIGN (COAUTHINFO, pwszServerPrincName, 4)
2027     TEST_FIELD_OFFSET(COAUTHINFO, pwszServerPrincName, 8)
2028     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnLevel, 4)
2029     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnLevel, 4)
2030     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnLevel, 12)
2031     TEST_FIELD_SIZE  (COAUTHINFO, dwImpersonationLevel, 4)
2032     TEST_FIELD_ALIGN (COAUTHINFO, dwImpersonationLevel, 4)
2033     TEST_FIELD_OFFSET(COAUTHINFO, dwImpersonationLevel, 16)
2034     TEST_FIELD_SIZE  (COAUTHINFO, pAuthIdentityData, 4)
2035     TEST_FIELD_ALIGN (COAUTHINFO, pAuthIdentityData, 4)
2036     TEST_FIELD_OFFSET(COAUTHINFO, pAuthIdentityData, 20)
2037     TEST_FIELD_SIZE  (COAUTHINFO, dwCapabilities, 4)
2038     TEST_FIELD_ALIGN (COAUTHINFO, dwCapabilities, 4)
2039     TEST_FIELD_OFFSET(COAUTHINFO, dwCapabilities, 24)
2040 }
2041 
2042 static void test_pack_DATE(void)
2043 {
2044     /* DATE */
2045     TEST_TYPE_SIZE   (DATE, 8)
2046     TEST_TYPE_ALIGN  (DATE, 8)
2047 }
2048 
2049 static void test_pack_DOUBLE(void)
2050 {
2051     /* DOUBLE */
2052     TEST_TYPE_SIZE   (DOUBLE, 8)
2053     TEST_TYPE_ALIGN  (DOUBLE, 8)
2054 }
2055 
2056 static void test_pack_DWORD_SIZEDARR(void)
2057 {
2058     /* DWORD_SIZEDARR */
2059     TEST_TYPE_SIZE   (DWORD_SIZEDARR, 8)
2060     TEST_TYPE_ALIGN  (DWORD_SIZEDARR, 4)
2061     TEST_FIELD_SIZE  (DWORD_SIZEDARR, clSize, 4)
2062     TEST_FIELD_ALIGN (DWORD_SIZEDARR, clSize, 4)
2063     TEST_FIELD_OFFSET(DWORD_SIZEDARR, clSize, 0)
2064     TEST_FIELD_SIZE  (DWORD_SIZEDARR, pData, 4)
2065     TEST_FIELD_ALIGN (DWORD_SIZEDARR, pData, 4)
2066     TEST_FIELD_OFFSET(DWORD_SIZEDARR, pData, 4)
2067 }
2068 
2069 static void test_pack_FLAGGED_BYTE_BLOB(void)
2070 {
2071     /* FLAGGED_BYTE_BLOB */
2072     TEST_TYPE_SIZE   (FLAGGED_BYTE_BLOB, 12)
2073     TEST_TYPE_ALIGN  (FLAGGED_BYTE_BLOB, 4)
2074     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, fFlags, 4)
2075     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, fFlags, 4)
2076     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, fFlags, 0)
2077     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, clSize, 4)
2078     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, clSize, 4)
2079     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, clSize, 4)
2080     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, abData, 1)
2081     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, abData, 1)
2082     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, abData, 8)
2083 }
2084 
2085 static void test_pack_FLAGGED_WORD_BLOB(void)
2086 {
2087     /* FLAGGED_WORD_BLOB */
2088     TEST_TYPE_SIZE   (FLAGGED_WORD_BLOB, 12)
2089     TEST_TYPE_ALIGN  (FLAGGED_WORD_BLOB, 4)
2090     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, fFlags, 4)
2091     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, fFlags, 4)
2092     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, fFlags, 0)
2093     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, clSize, 4)
2094     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, clSize, 4)
2095     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, clSize, 4)
2096     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, asData, 2)
2097     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, asData, 2)
2098     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, asData, 8)
2099 }
2100 
2101 static void test_pack_HMETAFILEPICT(void)
2102 {
2103     /* HMETAFILEPICT */
2104     TEST_TYPE_SIZE   (HMETAFILEPICT, 4)
2105     TEST_TYPE_ALIGN  (HMETAFILEPICT, 4)
2106 }
2107 
2108 static void test_pack_HYPER_SIZEDARR(void)
2109 {
2110     /* HYPER_SIZEDARR */
2111     TEST_TYPE_SIZE   (HYPER_SIZEDARR, 8)
2112     TEST_TYPE_ALIGN  (HYPER_SIZEDARR, 4)
2113     TEST_FIELD_SIZE  (HYPER_SIZEDARR, clSize, 4)
2114     TEST_FIELD_ALIGN (HYPER_SIZEDARR, clSize, 4)
2115     TEST_FIELD_OFFSET(HYPER_SIZEDARR, clSize, 0)
2116     TEST_FIELD_SIZE  (HYPER_SIZEDARR, pData, 4)
2117     TEST_FIELD_ALIGN (HYPER_SIZEDARR, pData, 4)
2118     TEST_FIELD_OFFSET(HYPER_SIZEDARR, pData, 4)
2119 }
2120 
2121 static void test_pack_LPBLOB(void)
2122 {
2123     /* LPBLOB */
2124     TEST_TYPE_SIZE   (LPBLOB, 4)
2125     TEST_TYPE_ALIGN  (LPBLOB, 4)
2126 }
2127 
2128 static void test_pack_LPBSTR(void)
2129 {
2130     /* LPBSTR */
2131     TEST_TYPE_SIZE   (LPBSTR, 4)
2132     TEST_TYPE_ALIGN  (LPBSTR, 4)
2133     TEST_TARGET_SIZE (LPBSTR, 4)
2134     TEST_TARGET_ALIGN(LPBSTR, 4)
2135 }
2136 
2137 static void test_pack_LPBSTRBLOB(void)
2138 {
2139     /* LPBSTRBLOB */
2140     TEST_TYPE_SIZE   (LPBSTRBLOB, 4)
2141     TEST_TYPE_ALIGN  (LPBSTRBLOB, 4)
2142 }
2143 
2144 static void test_pack_LPCOLESTR(void)
2145 {
2146     /* LPCOLESTR */
2147     TEST_TYPE_SIZE   (LPCOLESTR, 4)
2148     TEST_TYPE_ALIGN  (LPCOLESTR, 4)
2149     TEST_TARGET_SIZE (LPCOLESTR, 2)
2150     TEST_TARGET_ALIGN(LPCOLESTR, 2)
2151 }
2152 
2153 static void test_pack_LPCY(void)
2154 {
2155     /* LPCY */
2156     TEST_TYPE_SIZE   (LPCY, 4)
2157     TEST_TYPE_ALIGN  (LPCY, 4)
2158 }
2159 
2160 static void test_pack_LPDECIMAL(void)
2161 {
2162     /* LPDECIMAL */
2163     TEST_TYPE_SIZE   (LPDECIMAL, 4)
2164     TEST_TYPE_ALIGN  (LPDECIMAL, 4)
2165 }
2166 
2167 static void test_pack_LPOLESTR(void)
2168 {
2169     /* LPOLESTR */
2170     TEST_TYPE_SIZE   (LPOLESTR, 4)
2171     TEST_TYPE_ALIGN  (LPOLESTR, 4)
2172     TEST_TARGET_SIZE (LPOLESTR, 2)
2173     TEST_TARGET_ALIGN(LPOLESTR, 2)
2174 }
2175 
2176 static void test_pack_OLECHAR(void)
2177 {
2178     /* OLECHAR */
2179     TEST_TYPE_SIZE   (OLECHAR, 2)
2180     TEST_TYPE_ALIGN  (OLECHAR, 2)
2181 }
2182 
2183 static void test_pack_PROPID(void)
2184 {
2185     /* PROPID */
2186     TEST_TYPE_SIZE   (PROPID, 4)
2187     TEST_TYPE_ALIGN  (PROPID, 4)
2188 }
2189 
2190 static void test_pack_RemHBITMAP(void)
2191 {
2192     /* RemHBITMAP */
2193     TEST_TYPE_SIZE   (RemHBITMAP, 8)
2194     TEST_TYPE_ALIGN  (RemHBITMAP, 4)
2195     TEST_FIELD_SIZE  (RemHBITMAP, cbData, 4)
2196     TEST_FIELD_ALIGN (RemHBITMAP, cbData, 4)
2197     TEST_FIELD_OFFSET(RemHBITMAP, cbData, 0)
2198     TEST_FIELD_SIZE  (RemHBITMAP, data, 1)
2199     TEST_FIELD_ALIGN (RemHBITMAP, data, 1)
2200     TEST_FIELD_OFFSET(RemHBITMAP, data, 4)
2201 }
2202 
2203 static void test_pack_RemHENHMETAFILE(void)
2204 {
2205     /* RemHENHMETAFILE */
2206     TEST_TYPE_SIZE   (RemHENHMETAFILE, 8)
2207     TEST_TYPE_ALIGN  (RemHENHMETAFILE, 4)
2208     TEST_FIELD_SIZE  (RemHENHMETAFILE, cbData, 4)
2209     TEST_FIELD_ALIGN (RemHENHMETAFILE, cbData, 4)
2210     TEST_FIELD_OFFSET(RemHENHMETAFILE, cbData, 0)
2211     TEST_FIELD_SIZE  (RemHENHMETAFILE, data, 1)
2212     TEST_FIELD_ALIGN (RemHENHMETAFILE, data, 1)
2213     TEST_FIELD_OFFSET(RemHENHMETAFILE, data, 4)
2214 }
2215 
2216 static void test_pack_RemHGLOBAL(void)
2217 {
2218     /* RemHGLOBAL */
2219     TEST_TYPE_SIZE   (RemHGLOBAL, 12)
2220     TEST_TYPE_ALIGN  (RemHGLOBAL, 4)
2221     TEST_FIELD_SIZE  (RemHGLOBAL, fNullHGlobal, 4)
2222     TEST_FIELD_ALIGN (RemHGLOBAL, fNullHGlobal, 4)
2223     TEST_FIELD_OFFSET(RemHGLOBAL, fNullHGlobal, 0)
2224     TEST_FIELD_SIZE  (RemHGLOBAL, cbData, 4)
2225     TEST_FIELD_ALIGN (RemHGLOBAL, cbData, 4)
2226     TEST_FIELD_OFFSET(RemHGLOBAL, cbData, 4)
2227     TEST_FIELD_SIZE  (RemHGLOBAL, data, 1)
2228     TEST_FIELD_ALIGN (RemHGLOBAL, data, 1)
2229     TEST_FIELD_OFFSET(RemHGLOBAL, data, 8)
2230 }
2231 
2232 static void test_pack_RemHMETAFILEPICT(void)
2233 {
2234     /* RemHMETAFILEPICT */
2235     TEST_TYPE_SIZE   (RemHMETAFILEPICT, 20)
2236     TEST_TYPE_ALIGN  (RemHMETAFILEPICT, 4)
2237     TEST_FIELD_SIZE  (RemHMETAFILEPICT, mm, 4)
2238     TEST_FIELD_ALIGN (RemHMETAFILEPICT, mm, 4)
2239     TEST_FIELD_OFFSET(RemHMETAFILEPICT, mm, 0)
2240     TEST_FIELD_SIZE  (RemHMETAFILEPICT, xExt, 4)
2241     TEST_FIELD_ALIGN (RemHMETAFILEPICT, xExt, 4)
2242     TEST_FIELD_OFFSET(RemHMETAFILEPICT, xExt, 4)
2243     TEST_FIELD_SIZE  (RemHMETAFILEPICT, yExt, 4)
2244     TEST_FIELD_ALIGN (RemHMETAFILEPICT, yExt, 4)
2245     TEST_FIELD_OFFSET(RemHMETAFILEPICT, yExt, 8)
2246     TEST_FIELD_SIZE  (RemHMETAFILEPICT, cbData, 4)
2247     TEST_FIELD_ALIGN (RemHMETAFILEPICT, cbData, 4)
2248     TEST_FIELD_OFFSET(RemHMETAFILEPICT, cbData, 12)
2249     TEST_FIELD_SIZE  (RemHMETAFILEPICT, data, 1)
2250     TEST_FIELD_ALIGN (RemHMETAFILEPICT, data, 1)
2251     TEST_FIELD_OFFSET(RemHMETAFILEPICT, data, 16)
2252 }
2253 
2254 static void test_pack_RemHPALETTE(void)
2255 {
2256     /* RemHPALETTE */
2257     TEST_TYPE_SIZE   (RemHPALETTE, 8)
2258     TEST_TYPE_ALIGN  (RemHPALETTE, 4)
2259     TEST_FIELD_SIZE  (RemHPALETTE, cbData, 4)
2260     TEST_FIELD_ALIGN (RemHPALETTE, cbData, 4)
2261     TEST_FIELD_OFFSET(RemHPALETTE, cbData, 0)
2262     TEST_FIELD_SIZE  (RemHPALETTE, data, 1)
2263     TEST_FIELD_ALIGN (RemHPALETTE, data, 1)
2264     TEST_FIELD_OFFSET(RemHPALETTE, data, 4)
2265 }
2266 
2267 static void test_pack_SCODE(void)
2268 {
2269     /* SCODE */
2270     TEST_TYPE_SIZE   (SCODE, 4)
2271     TEST_TYPE_ALIGN  (SCODE, 4)
2272 }
2273 
2274 static void test_pack_UP_BYTE_BLOB(void)
2275 {
2276     /* UP_BYTE_BLOB */
2277     TEST_TYPE_SIZE   (UP_BYTE_BLOB, 4)
2278     TEST_TYPE_ALIGN  (UP_BYTE_BLOB, 4)
2279     TEST_TARGET_SIZE (UP_BYTE_BLOB, 8)
2280     TEST_TARGET_ALIGN(UP_BYTE_BLOB, 4)
2281 }
2282 
2283 static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
2284 {
2285     /* UP_FLAGGED_BYTE_BLOB */
2286     TEST_TYPE_SIZE   (UP_FLAGGED_BYTE_BLOB, 4)
2287     TEST_TYPE_ALIGN  (UP_FLAGGED_BYTE_BLOB, 4)
2288     TEST_TARGET_SIZE (UP_FLAGGED_BYTE_BLOB, 12)
2289     TEST_TARGET_ALIGN(UP_FLAGGED_BYTE_BLOB, 4)
2290 }
2291 
2292 static void test_pack_UP_FLAGGED_WORD_BLOB(void)
2293 {
2294     /* UP_FLAGGED_WORD_BLOB */
2295     TEST_TYPE_SIZE   (UP_FLAGGED_WORD_BLOB, 4)
2296     TEST_TYPE_ALIGN  (UP_FLAGGED_WORD_BLOB, 4)
2297     TEST_TARGET_SIZE (UP_FLAGGED_WORD_BLOB, 12)
2298     TEST_TARGET_ALIGN(UP_FLAGGED_WORD_BLOB, 4)
2299 }
2300 
2301 static void test_pack_VARIANT_BOOL(void)
2302 {
2303     /* VARIANT_BOOL */
2304     TEST_TYPE_SIZE   (VARIANT_BOOL, 2)
2305     TEST_TYPE_ALIGN  (VARIANT_BOOL, 2)
2306     TEST_TYPE_SIGNED(VARIANT_BOOL)
2307 }
2308 
2309 static void test_pack_VARTYPE(void)
2310 {
2311     /* VARTYPE */
2312     TEST_TYPE_SIZE   (VARTYPE, 2)
2313     TEST_TYPE_ALIGN  (VARTYPE, 2)
2314     TEST_TYPE_UNSIGNED(VARTYPE)
2315 }
2316 
2317 static void test_pack_WORD_SIZEDARR(void)
2318 {
2319     /* WORD_SIZEDARR */
2320     TEST_TYPE_SIZE   (WORD_SIZEDARR, 8)
2321     TEST_TYPE_ALIGN  (WORD_SIZEDARR, 4)
2322     TEST_FIELD_SIZE  (WORD_SIZEDARR, clSize, 4)
2323     TEST_FIELD_ALIGN (WORD_SIZEDARR, clSize, 4)
2324     TEST_FIELD_OFFSET(WORD_SIZEDARR, clSize, 0)
2325     TEST_FIELD_SIZE  (WORD_SIZEDARR, pData, 4)
2326     TEST_FIELD_ALIGN (WORD_SIZEDARR, pData, 4)
2327     TEST_FIELD_OFFSET(WORD_SIZEDARR, pData, 4)
2328 }
2329 
2330 static void test_pack_remoteMETAFILEPICT(void)
2331 {
2332     /* remoteMETAFILEPICT */
2333     TEST_TYPE_SIZE   (remoteMETAFILEPICT, 16)
2334     TEST_TYPE_ALIGN  (remoteMETAFILEPICT, 4)
2335     TEST_FIELD_SIZE  (remoteMETAFILEPICT, mm, 4)
2336     TEST_FIELD_ALIGN (remoteMETAFILEPICT, mm, 4)
2337     TEST_FIELD_OFFSET(remoteMETAFILEPICT, mm, 0)
2338     TEST_FIELD_SIZE  (remoteMETAFILEPICT, xExt, 4)
2339     TEST_FIELD_ALIGN (remoteMETAFILEPICT, xExt, 4)
2340     TEST_FIELD_OFFSET(remoteMETAFILEPICT, xExt, 4)
2341     TEST_FIELD_SIZE  (remoteMETAFILEPICT, yExt, 4)
2342     TEST_FIELD_ALIGN (remoteMETAFILEPICT, yExt, 4)
2343     TEST_FIELD_OFFSET(remoteMETAFILEPICT, yExt, 8)
2344     TEST_FIELD_SIZE  (remoteMETAFILEPICT, hMF, 4)
2345     TEST_FIELD_ALIGN (remoteMETAFILEPICT, hMF, 4)
2346     TEST_FIELD_OFFSET(remoteMETAFILEPICT, hMF, 12)
2347 }
2348 
2349 static void test_pack_userBITMAP(void)
2350 {
2351     /* userBITMAP */
2352     TEST_TYPE_SIZE   (userBITMAP, 28)
2353     TEST_TYPE_ALIGN  (userBITMAP, 4)
2354     TEST_FIELD_SIZE  (userBITMAP, bmType, 4)
2355     TEST_FIELD_ALIGN (userBITMAP, bmType, 4)
2356     TEST_FIELD_OFFSET(userBITMAP, bmType, 0)
2357     TEST_FIELD_SIZE  (userBITMAP, bmWidth, 4)
2358     TEST_FIELD_ALIGN (userBITMAP, bmWidth, 4)
2359     TEST_FIELD_OFFSET(userBITMAP, bmWidth, 4)
2360     TEST_FIELD_SIZE  (userBITMAP, bmHeight, 4)
2361     TEST_FIELD_ALIGN (userBITMAP, bmHeight, 4)
2362     TEST_FIELD_OFFSET(userBITMAP, bmHeight, 8)
2363     TEST_FIELD_SIZE  (userBITMAP, bmWidthBytes, 4)
2364     TEST_FIELD_ALIGN (userBITMAP, bmWidthBytes, 4)
2365     TEST_FIELD_OFFSET(userBITMAP, bmWidthBytes, 12)
2366     TEST_FIELD_SIZE  (userBITMAP, bmPlanes, 2)
2367     TEST_FIELD_ALIGN (userBITMAP, bmPlanes, 2)
2368     TEST_FIELD_OFFSET(userBITMAP, bmPlanes, 16)
2369     TEST_FIELD_SIZE  (userBITMAP, bmBitsPixel, 2)
2370     TEST_FIELD_ALIGN (userBITMAP, bmBitsPixel, 2)
2371     TEST_FIELD_OFFSET(userBITMAP, bmBitsPixel, 18)
2372     TEST_FIELD_SIZE  (userBITMAP, cbSize, 4)
2373     TEST_FIELD_ALIGN (userBITMAP, cbSize, 4)
2374     TEST_FIELD_OFFSET(userBITMAP, cbSize, 20)
2375     TEST_FIELD_SIZE  (userBITMAP, pBuffer, 1)
2376     TEST_FIELD_ALIGN (userBITMAP, pBuffer, 1)
2377     TEST_FIELD_OFFSET(userBITMAP, pBuffer, 24)
2378 }
2379 
2380 static void test_pack_userCLIPFORMAT(void)
2381 {
2382     /* userCLIPFORMAT */
2383     TEST_FIELD_SIZE  (userCLIPFORMAT, fContext, 4)
2384     TEST_FIELD_ALIGN (userCLIPFORMAT, fContext, 4)
2385     TEST_FIELD_OFFSET(userCLIPFORMAT, fContext, 0)
2386 }
2387 
2388 static void test_pack_userHBITMAP(void)
2389 {
2390     /* userHBITMAP */
2391     TEST_FIELD_SIZE  (userHBITMAP, fContext, 4)
2392     TEST_FIELD_ALIGN (userHBITMAP, fContext, 4)
2393     TEST_FIELD_OFFSET(userHBITMAP, fContext, 0)
2394 }
2395 
2396 static void test_pack_userHENHMETAFILE(void)
2397 {
2398     /* userHENHMETAFILE */
2399     TEST_FIELD_SIZE  (userHENHMETAFILE, fContext, 4)
2400     TEST_FIELD_ALIGN (userHENHMETAFILE, fContext, 4)
2401     TEST_FIELD_OFFSET(userHENHMETAFILE, fContext, 0)
2402 }
2403 
2404 static void test_pack_userHGLOBAL(void)
2405 {
2406     /* userHGLOBAL */
2407     TEST_FIELD_SIZE  (userHGLOBAL, fContext, 4)
2408     TEST_FIELD_ALIGN (userHGLOBAL, fContext, 4)
2409     TEST_FIELD_OFFSET(userHGLOBAL, fContext, 0)
2410 }
2411 
2412 static void test_pack_userHMETAFILE(void)
2413 {
2414     /* userHMETAFILE */
2415     TEST_FIELD_SIZE  (userHMETAFILE, fContext, 4)
2416     TEST_FIELD_ALIGN (userHMETAFILE, fContext, 4)
2417     TEST_FIELD_OFFSET(userHMETAFILE, fContext, 0)
2418 }
2419 
2420 static void test_pack_userHMETAFILEPICT(void)
2421 {
2422     /* userHMETAFILEPICT */
2423     TEST_FIELD_SIZE  (userHMETAFILEPICT, fContext, 4)
2424     TEST_FIELD_ALIGN (userHMETAFILEPICT, fContext, 4)
2425     TEST_FIELD_OFFSET(userHMETAFILEPICT, fContext, 0)
2426 }
2427 
2428 static void test_pack_userHPALETTE(void)
2429 {
2430     /* userHPALETTE */
2431     TEST_FIELD_SIZE  (userHPALETTE, fContext, 4)
2432     TEST_FIELD_ALIGN (userHPALETTE, fContext, 4)
2433     TEST_FIELD_OFFSET(userHPALETTE, fContext, 0)
2434 }
2435 
2436 static void test_pack_wireBSTR(void)
2437 {
2438     /* wireBSTR */
2439     TEST_TYPE_SIZE   (wireBSTR, 4)
2440     TEST_TYPE_ALIGN  (wireBSTR, 4)
2441     TEST_TARGET_SIZE (wireBSTR, 12)
2442     TEST_TARGET_ALIGN(wireBSTR, 4)
2443 }
2444 
2445 static void test_pack_wireCLIPFORMAT(void)
2446 {
2447     /* wireCLIPFORMAT */
2448     TEST_TYPE_SIZE   (wireCLIPFORMAT, 4)
2449     TEST_TYPE_ALIGN  (wireCLIPFORMAT, 4)
2450 }
2451 
2452 static void test_pack_wireHBITMAP(void)
2453 {
2454     /* wireHBITMAP */
2455     TEST_TYPE_SIZE   (wireHBITMAP, 4)
2456     TEST_TYPE_ALIGN  (wireHBITMAP, 4)
2457 }
2458 
2459 static void test_pack_wireHENHMETAFILE(void)
2460 {
2461     /* wireHENHMETAFILE */
2462     TEST_TYPE_SIZE   (wireHENHMETAFILE, 4)
2463     TEST_TYPE_ALIGN  (wireHENHMETAFILE, 4)
2464 }
2465 
2466 static void test_pack_wireHGLOBAL(void)
2467 {
2468     /* wireHGLOBAL */
2469     TEST_TYPE_SIZE   (wireHGLOBAL, 4)
2470     TEST_TYPE_ALIGN  (wireHGLOBAL, 4)
2471 }
2472 
2473 static void test_pack_wireHMETAFILE(void)
2474 {
2475     /* wireHMETAFILE */
2476     TEST_TYPE_SIZE   (wireHMETAFILE, 4)
2477     TEST_TYPE_ALIGN  (wireHMETAFILE, 4)
2478 }
2479 
2480 static void test_pack_wireHMETAFILEPICT(void)
2481 {
2482     /* wireHMETAFILEPICT */
2483     TEST_TYPE_SIZE   (wireHMETAFILEPICT, 4)
2484     TEST_TYPE_ALIGN  (wireHMETAFILEPICT, 4)
2485 }
2486 
2487 static void test_pack_wireHPALETTE(void)
2488 {
2489     /* wireHPALETTE */
2490     TEST_TYPE_SIZE   (wireHPALETTE, 4)
2491     TEST_TYPE_ALIGN  (wireHPALETTE, 4)
2492 }
2493 
2494 static void test_pack_CLSID(void)
2495 {
2496     /* CLSID */
2497     TEST_TYPE_SIZE   (CLSID, 16)
2498     TEST_TYPE_ALIGN  (CLSID, 4)
2499 }
2500 
2501 static void test_pack_FMTID(void)
2502 {
2503     /* FMTID */
2504     TEST_TYPE_SIZE   (FMTID, 16)
2505     TEST_TYPE_ALIGN  (FMTID, 4)
2506 }
2507 
2508 static void test_pack_IID(void)
2509 {
2510     /* IID */
2511     TEST_TYPE_SIZE   (IID, 16)
2512     TEST_TYPE_ALIGN  (IID, 4)
2513 }
2514 
2515 static void test_pack_APPBARDATA(void)
2516 {
2517     /* APPBARDATA (pack 1) */
2518     TEST_TYPE_SIZE   (APPBARDATA, 36)
2519     TEST_TYPE_ALIGN  (APPBARDATA, 1)
2520     TEST_FIELD_SIZE  (APPBARDATA, cbSize, 4)
2521     TEST_FIELD_ALIGN (APPBARDATA, cbSize, 1)
2522     TEST_FIELD_OFFSET(APPBARDATA, cbSize, 0)
2523     TEST_FIELD_SIZE  (APPBARDATA, hWnd, 4)
2524     TEST_FIELD_ALIGN (APPBARDATA, hWnd, 1)
2525     TEST_FIELD_OFFSET(APPBARDATA, hWnd, 4)
2526     TEST_FIELD_SIZE  (APPBARDATA, uCallbackMessage, 4)
2527     TEST_FIELD_ALIGN (APPBARDATA, uCallbackMessage, 1)
2528     TEST_FIELD_OFFSET(APPBARDATA, uCallbackMessage, 8)
2529     TEST_FIELD_SIZE  (APPBARDATA, uEdge, 4)
2530     TEST_FIELD_ALIGN (APPBARDATA, uEdge, 1)
2531     TEST_FIELD_OFFSET(APPBARDATA, uEdge, 12)
2532     TEST_FIELD_SIZE  (APPBARDATA, rc, 16)
2533     TEST_FIELD_ALIGN (APPBARDATA, rc, 1)
2534     TEST_FIELD_OFFSET(APPBARDATA, rc, 16)
2535     TEST_FIELD_SIZE  (APPBARDATA, lParam, 4)
2536     TEST_FIELD_ALIGN (APPBARDATA, lParam, 1)
2537     TEST_FIELD_OFFSET(APPBARDATA, lParam, 32)
2538 }
2539 
2540 static void test_pack_DRAGINFOA(void)
2541 {
2542     /* DRAGINFOA (pack 1) */
2543     TEST_TYPE_SIZE   (DRAGINFOA, 24)
2544     TEST_TYPE_ALIGN  (DRAGINFOA, 1)
2545     TEST_FIELD_SIZE  (DRAGINFOA, uSize, 4)
2546     TEST_FIELD_ALIGN (DRAGINFOA, uSize, 1)
2547     TEST_FIELD_OFFSET(DRAGINFOA, uSize, 0)
2548     TEST_FIELD_SIZE  (DRAGINFOA, pt, 8)
2549     TEST_FIELD_ALIGN (DRAGINFOA, pt, 1)
2550     TEST_FIELD_OFFSET(DRAGINFOA, pt, 4)
2551     TEST_FIELD_SIZE  (DRAGINFOA, fNC, 4)
2552     TEST_FIELD_ALIGN (DRAGINFOA, fNC, 1)
2553     TEST_FIELD_OFFSET(DRAGINFOA, fNC, 12)
2554     TEST_FIELD_SIZE  (DRAGINFOA, lpFileList, 4)
2555     TEST_FIELD_ALIGN (DRAGINFOA, lpFileList, 1)
2556     TEST_FIELD_OFFSET(DRAGINFOA, lpFileList, 16)
2557     TEST_FIELD_SIZE  (DRAGINFOA, grfKeyState, 4)
2558     TEST_FIELD_ALIGN (DRAGINFOA, grfKeyState, 1)
2559     TEST_FIELD_OFFSET(DRAGINFOA, grfKeyState, 20)
2560 }
2561 
2562 static void test_pack_DRAGINFOW(void)
2563 {
2564     /* DRAGINFOW (pack 1) */
2565     TEST_TYPE_SIZE   (DRAGINFOW, 24)
2566     TEST_TYPE_ALIGN  (DRAGINFOW, 1)
2567     TEST_FIELD_SIZE  (DRAGINFOW, uSize, 4)
2568     TEST_FIELD_ALIGN (DRAGINFOW, uSize, 1)
2569     TEST_FIELD_OFFSET(DRAGINFOW, uSize, 0)
2570     TEST_FIELD_SIZE  (DRAGINFOW, pt, 8)
2571     TEST_FIELD_ALIGN (DRAGINFOW, pt, 1)
2572     TEST_FIELD_OFFSET(DRAGINFOW, pt, 4)
2573     TEST_FIELD_SIZE  (DRAGINFOW, fNC, 4)
2574     TEST_FIELD_ALIGN (DRAGINFOW, fNC, 1)
2575     TEST_FIELD_OFFSET(DRAGINFOW, fNC, 12)
2576     TEST_FIELD_SIZE  (DRAGINFOW, lpFileList, 4)
2577     TEST_FIELD_ALIGN (DRAGINFOW, lpFileList, 1)
2578     TEST_FIELD_OFFSET(DRAGINFOW, lpFileList, 16)
2579     TEST_FIELD_SIZE  (DRAGINFOW, grfKeyState, 4)
2580     TEST_FIELD_ALIGN (DRAGINFOW, grfKeyState, 1)
2581     TEST_FIELD_OFFSET(DRAGINFOW, grfKeyState, 20)
2582 }
2583 
2584 static void test_pack_FILEOP_FLAGS(void)
2585 {
2586     /* FILEOP_FLAGS */
2587     TEST_TYPE_SIZE   (FILEOP_FLAGS, 2)
2588     TEST_TYPE_ALIGN  (FILEOP_FLAGS, 2)
2589     TEST_TYPE_UNSIGNED(FILEOP_FLAGS)
2590 }
2591 
2592 static void test_pack_LPDRAGINFOA(void)
2593 {
2594     /* LPDRAGINFOA */
2595     TEST_TYPE_SIZE   (LPDRAGINFOA, 4)
2596     TEST_TYPE_ALIGN  (LPDRAGINFOA, 4)
2597     TEST_TARGET_SIZE (LPDRAGINFOA, 24)
2598     TEST_TARGET_ALIGN(LPDRAGINFOA, 1)
2599 }
2600 
2601 static void test_pack_LPDRAGINFOW(void)
2602 {
2603     /* LPDRAGINFOW */
2604     TEST_TYPE_SIZE   (LPDRAGINFOW, 4)
2605     TEST_TYPE_ALIGN  (LPDRAGINFOW, 4)
2606     TEST_TARGET_SIZE (LPDRAGINFOW, 24)
2607     TEST_TARGET_ALIGN(LPDRAGINFOW, 1)
2608 }
2609 
2610 static void test_pack_LPSHELLEXECUTEINFOA(void)
2611 {
2612     /* LPSHELLEXECUTEINFOA */
2613     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOA, 4)
2614     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOA, 4)
2615 }
2616 
2617 static void test_pack_LPSHELLEXECUTEINFOW(void)
2618 {
2619     /* LPSHELLEXECUTEINFOW */
2620     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOW, 4)
2621     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOW, 4)
2622 }
2623 
2624 static void test_pack_LPSHFILEOPSTRUCTA(void)
2625 {
2626     /* LPSHFILEOPSTRUCTA */
2627     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTA, 4)
2628     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTA, 4)
2629     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTA, 30)
2630     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTA, 1)
2631 }
2632 
2633 static void test_pack_LPSHFILEOPSTRUCTW(void)
2634 {
2635     /* LPSHFILEOPSTRUCTW */
2636     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTW, 4)
2637     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTW, 4)
2638     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTW, 30)
2639     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTW, 1)
2640 }
2641 
2642 static void test_pack_LPSHNAMEMAPPINGA(void)
2643 {
2644     /* LPSHNAMEMAPPINGA */
2645     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGA, 4)
2646     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGA, 4)
2647     TEST_TARGET_SIZE (LPSHNAMEMAPPINGA, 16)
2648     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGA, 1)
2649 }
2650 
2651 static void test_pack_LPSHNAMEMAPPINGW(void)
2652 {
2653     /* LPSHNAMEMAPPINGW */
2654     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGW, 4)
2655     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGW, 4)
2656     TEST_TARGET_SIZE (LPSHNAMEMAPPINGW, 16)
2657     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGW, 1)
2658 }
2659 
2660 static void test_pack_NOTIFYICONDATAA(void)
2661 {
2662     /* NOTIFYICONDATAA (pack 1) */
2663     TEST_FIELD_SIZE  (NOTIFYICONDATAA, cbSize, 4)
2664     TEST_FIELD_ALIGN (NOTIFYICONDATAA, cbSize, 1)
2665     TEST_FIELD_OFFSET(NOTIFYICONDATAA, cbSize, 0)
2666     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hWnd, 4)
2667     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hWnd, 1)
2668     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hWnd, 4)
2669     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uID, 4)
2670     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uID, 1)
2671     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uID, 8)
2672     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uFlags, 4)
2673     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uFlags, 1)
2674     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uFlags, 12)
2675     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uCallbackMessage, 4)
2676     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uCallbackMessage, 1)
2677     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uCallbackMessage, 16)
2678     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hIcon, 4)
2679     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hIcon, 1)
2680     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hIcon, 20)
2681     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szTip, 128)
2682     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szTip, 1)
2683     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szTip, 24)
2684     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwState, 4)
2685     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwState, 1)
2686     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwState, 152)
2687     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwStateMask, 4)
2688     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwStateMask, 1)
2689     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwStateMask, 156)
2690     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szInfo, 256)
2691     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szInfo, 1)
2692     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szInfo, 160)
2693 }
2694 
2695 static void test_pack_NOTIFYICONDATAW(void)
2696 {
2697     /* NOTIFYICONDATAW (pack 1) */
2698     TEST_FIELD_SIZE  (NOTIFYICONDATAW, cbSize, 4)
2699     TEST_FIELD_ALIGN (NOTIFYICONDATAW, cbSize, 1)
2700     TEST_FIELD_OFFSET(NOTIFYICONDATAW, cbSize, 0)
2701     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hWnd, 4)
2702     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hWnd, 1)
2703     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hWnd, 4)
2704     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uID, 4)
2705     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uID, 1)
2706     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uID, 8)
2707     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uFlags, 4)
2708     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uFlags, 1)
2709     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uFlags, 12)
2710     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uCallbackMessage, 4)
2711     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uCallbackMessage, 1)
2712     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uCallbackMessage, 16)
2713     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hIcon, 4)
2714     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hIcon, 1)
2715     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hIcon, 20)
2716     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szTip, 256)
2717     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szTip, 1)
2718     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szTip, 24)
2719     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwState, 4)
2720     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwState, 1)
2721     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwState, 280)
2722     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwStateMask, 4)
2723     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwStateMask, 1)
2724     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwStateMask, 284)
2725     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szInfo, 512)
2726     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szInfo, 1)
2727     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szInfo, 288)
2728 }
2729 
2730 static void test_pack_PAPPBARDATA(void)
2731 {
2732     /* PAPPBARDATA */
2733     TEST_TYPE_SIZE   (PAPPBARDATA, 4)
2734     TEST_TYPE_ALIGN  (PAPPBARDATA, 4)
2735     TEST_TARGET_SIZE (PAPPBARDATA, 36)
2736     TEST_TARGET_ALIGN(PAPPBARDATA, 1)
2737 }
2738 
2739 static void test_pack_PNOTIFYICONDATAA(void)
2740 {
2741     /* PNOTIFYICONDATAA */
2742     TEST_TYPE_SIZE   (PNOTIFYICONDATAA, 4)
2743     TEST_TYPE_ALIGN  (PNOTIFYICONDATAA, 4)
2744 }
2745 
2746 static void test_pack_PNOTIFYICONDATAW(void)
2747 {
2748     /* PNOTIFYICONDATAW */
2749     TEST_TYPE_SIZE   (PNOTIFYICONDATAW, 4)
2750     TEST_TYPE_ALIGN  (PNOTIFYICONDATAW, 4)
2751 }
2752 
2753 static void test_pack_PRINTEROP_FLAGS(void)
2754 {
2755     /* PRINTEROP_FLAGS */
2756     TEST_TYPE_SIZE   (PRINTEROP_FLAGS, 2)
2757     TEST_TYPE_ALIGN  (PRINTEROP_FLAGS, 2)
2758     TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS)
2759 }
2760 
2761 static void test_pack_SHELLEXECUTEINFOA(void)
2762 {
2763     /* SHELLEXECUTEINFOA (pack 1) */
2764     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, cbSize, 4)
2765     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, cbSize, 1)
2766     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, cbSize, 0)
2767     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, fMask, 4)
2768     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, fMask, 1)
2769     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, fMask, 4)
2770     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hwnd, 4)
2771     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hwnd, 1)
2772     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hwnd, 8)
2773     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpVerb, 4)
2774     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpVerb, 1)
2775     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpVerb, 12)
2776     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpFile, 4)
2777     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpFile, 1)
2778     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpFile, 16)
2779     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpParameters, 4)
2780     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpParameters, 1)
2781     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpParameters, 20)
2782     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpDirectory, 4)
2783     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpDirectory, 1)
2784     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpDirectory, 24)
2785     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, nShow, 4)
2786     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, nShow, 1)
2787     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, nShow, 28)
2788     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hInstApp, 4)
2789     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hInstApp, 1)
2790     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hInstApp, 32)
2791     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpIDList, 4)
2792     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpIDList, 1)
2793     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpIDList, 36)
2794     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpClass, 4)
2795     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpClass, 1)
2796     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpClass, 40)
2797     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hkeyClass, 4)
2798     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hkeyClass, 1)
2799     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hkeyClass, 44)
2800     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, dwHotKey, 4)
2801     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, dwHotKey, 1)
2802     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, dwHotKey, 48)
2803 }
2804 
2805 static void test_pack_SHELLEXECUTEINFOW(void)
2806 {
2807     /* SHELLEXECUTEINFOW (pack 1) */
2808     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, cbSize, 4)
2809     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, cbSize, 1)
2810     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, cbSize, 0)
2811     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, fMask, 4)
2812     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, fMask, 1)
2813     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, fMask, 4)
2814     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hwnd, 4)
2815     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hwnd, 1)
2816     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hwnd, 8)
2817     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpVerb, 4)
2818     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpVerb, 1)
2819     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpVerb, 12)
2820     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpFile, 4)
2821     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpFile, 1)
2822     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpFile, 16)
2823     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpParameters, 4)
2824     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpParameters, 1)
2825     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpParameters, 20)
2826     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpDirectory, 4)
2827     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpDirectory, 1)
2828     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpDirectory, 24)
2829     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, nShow, 4)
2830     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, nShow, 1)
2831     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, nShow, 28)
2832     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hInstApp, 4)
2833     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hInstApp, 1)
2834     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hInstApp, 32)
2835     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpIDList, 4)
2836     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpIDList, 1)
2837     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpIDList, 36)
2838     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpClass, 4)
2839     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpClass, 1)
2840     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpClass, 40)
2841     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hkeyClass, 4)
2842     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hkeyClass, 1)
2843     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hkeyClass, 44)
2844     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, dwHotKey, 4)
2845     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, dwHotKey, 1)
2846     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, dwHotKey, 48)
2847 }
2848 
2849 static void test_pack_SHFILEINFOA(void)
2850 {
2851     /* SHFILEINFOA (pack 1) */
2852     TEST_TYPE_SIZE   (SHFILEINFOA, 352)
2853     TEST_TYPE_ALIGN  (SHFILEINFOA, 1)
2854     TEST_FIELD_SIZE  (SHFILEINFOA, hIcon, 4)
2855     TEST_FIELD_ALIGN (SHFILEINFOA, hIcon, 1)
2856     TEST_FIELD_OFFSET(SHFILEINFOA, hIcon, 0)
2857     TEST_FIELD_SIZE  (SHFILEINFOA, iIcon, 4)
2858     TEST_FIELD_ALIGN (SHFILEINFOA, iIcon, 1)
2859     TEST_FIELD_OFFSET(SHFILEINFOA, iIcon, 4)
2860     TEST_FIELD_SIZE  (SHFILEINFOA, dwAttributes, 4)
2861     TEST_FIELD_ALIGN (SHFILEINFOA, dwAttributes, 1)
2862     TEST_FIELD_OFFSET(SHFILEINFOA, dwAttributes, 8)
2863     TEST_FIELD_SIZE  (SHFILEINFOA, szDisplayName, 260)
2864     TEST_FIELD_ALIGN (SHFILEINFOA, szDisplayName, 1)
2865     TEST_FIELD_OFFSET(SHFILEINFOA, szDisplayName, 12)
2866     TEST_FIELD_SIZE  (SHFILEINFOA, szTypeName, 80)
2867     TEST_FIELD_ALIGN (SHFILEINFOA, szTypeName, 1)
2868     TEST_FIELD_OFFSET(SHFILEINFOA, szTypeName, 272)
2869 }
2870 
2871 static void test_pack_SHFILEINFOW(void)
2872 {
2873     /* SHFILEINFOW (pack 1) */
2874     TEST_TYPE_SIZE   (SHFILEINFOW, 692)
2875     TEST_TYPE_ALIGN  (SHFILEINFOW, 1)
2876     TEST_FIELD_SIZE  (SHFILEINFOW, hIcon, 4)
2877     TEST_FIELD_ALIGN (SHFILEINFOW, hIcon, 1)
2878     TEST_FIELD_OFFSET(SHFILEINFOW, hIcon, 0)
2879     TEST_FIELD_SIZE  (SHFILEINFOW, iIcon, 4)
2880     TEST_FIELD_ALIGN (SHFILEINFOW, iIcon, 1)
2881     TEST_FIELD_OFFSET(SHFILEINFOW, iIcon, 4)
2882     TEST_FIELD_SIZE  (SHFILEINFOW, dwAttributes, 4)
2883     TEST_FIELD_ALIGN (SHFILEINFOW, dwAttributes, 1)
2884     TEST_FIELD_OFFSET(SHFILEINFOW, dwAttributes, 8)
2885     TEST_FIELD_SIZE  (SHFILEINFOW, szDisplayName, 520)
2886     TEST_FIELD_ALIGN (SHFILEINFOW, szDisplayName, 1)
2887     TEST_FIELD_OFFSET(SHFILEINFOW, szDisplayName, 12)
2888     TEST_FIELD_SIZE  (SHFILEINFOW, szTypeName, 160)
2889     TEST_FIELD_ALIGN (SHFILEINFOW, szTypeName, 1)
2890     TEST_FIELD_OFFSET(SHFILEINFOW, szTypeName, 532)
2891 }
2892 
2893 static void test_pack_SHFILEOPSTRUCTA(void)
2894 {
2895     /* SHFILEOPSTRUCTA (pack 1) */
2896     TEST_TYPE_SIZE   (SHFILEOPSTRUCTA, 30)
2897     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTA, 1)
2898     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hwnd, 4)
2899     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hwnd, 1)
2900     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hwnd, 0)
2901     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, wFunc, 4)
2902     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, wFunc, 1)
2903     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, wFunc, 4)
2904     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pFrom, 4)
2905     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pFrom, 1)
2906     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pFrom, 8)
2907     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pTo, 4)
2908     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pTo, 1)
2909     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pTo, 12)
2910     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fFlags, 2)
2911     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fFlags, 1)
2912     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fFlags, 16)
2913     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
2914     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fAnyOperationsAborted, 1)
2915     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fAnyOperationsAborted, 18)
2916     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hNameMappings, 4)
2917     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hNameMappings, 1)
2918     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hNameMappings, 22)
2919     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, lpszProgressTitle, 4)
2920     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, lpszProgressTitle, 1)
2921     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, lpszProgressTitle, 26)
2922 }
2923 
2924 static void test_pack_SHFILEOPSTRUCTW(void)
2925 {
2926     /* SHFILEOPSTRUCTW (pack 1) */
2927     TEST_TYPE_SIZE   (SHFILEOPSTRUCTW, 30)
2928     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTW, 1)
2929     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hwnd, 4)
2930     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hwnd, 1)
2931     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hwnd, 0)
2932     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, wFunc, 4)
2933     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, wFunc, 1)
2934     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, wFunc, 4)
2935     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pFrom, 4)
2936     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pFrom, 1)
2937     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pFrom, 8)
2938     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pTo, 4)
2939     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pTo, 1)
2940     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pTo, 12)
2941     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fFlags, 2)
2942     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fFlags, 1)
2943     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fFlags, 16)
2944     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
2945     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fAnyOperationsAborted, 1)
2946     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fAnyOperationsAborted, 18)
2947     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hNameMappings, 4)
2948     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hNameMappings, 1)
2949     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hNameMappings, 22)
2950     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, lpszProgressTitle, 4)
2951     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, lpszProgressTitle, 1)
2952     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, lpszProgressTitle, 26)
2953 }
2954 
2955 static void test_pack_SHNAMEMAPPINGA(void)
2956 {
2957     /* SHNAMEMAPPINGA (pack 1) */
2958     TEST_TYPE_SIZE   (SHNAMEMAPPINGA, 16)
2959     TEST_TYPE_ALIGN  (SHNAMEMAPPINGA, 1)
2960     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszOldPath, 4)
2961     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszOldPath, 1)
2962     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszOldPath, 0)
2963     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszNewPath, 4)
2964     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszNewPath, 1)
2965     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszNewPath, 4)
2966     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchOldPath, 4)
2967     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchOldPath, 1)
2968     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchOldPath, 8)
2969     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchNewPath, 4)
2970     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchNewPath, 1)
2971     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchNewPath, 12)
2972 }
2973 
2974 static void test_pack_SHNAMEMAPPINGW(void)
2975 {
2976     /* SHNAMEMAPPINGW (pack 1) */
2977     TEST_TYPE_SIZE   (SHNAMEMAPPINGW, 16)
2978     TEST_TYPE_ALIGN  (SHNAMEMAPPINGW, 1)
2979     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszOldPath, 4)
2980     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszOldPath, 1)
2981     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszOldPath, 0)
2982     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszNewPath, 4)
2983     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszNewPath, 1)
2984     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszNewPath, 4)
2985     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchOldPath, 4)
2986     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchOldPath, 1)
2987     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchOldPath, 8)
2988     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchNewPath, 4)
2989     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchNewPath, 1)
2990     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchNewPath, 12)
2991 }
2992 
2993 static void test_pack_ITEMIDLIST(void)
2994 {
2995     /* ITEMIDLIST (pack 1) */
2996     TEST_TYPE_SIZE   (ITEMIDLIST, 3)
2997     TEST_TYPE_ALIGN  (ITEMIDLIST, 1)
2998     TEST_FIELD_SIZE  (ITEMIDLIST, mkid, 3)
2999     TEST_FIELD_ALIGN (ITEMIDLIST, mkid, 1)
3000     TEST_FIELD_OFFSET(ITEMIDLIST, mkid, 0)
3001 }
3002 
3003 static void test_pack_LPCITEMIDLIST(void)
3004 {
3005     /* LPCITEMIDLIST */
3006     TEST_TYPE_SIZE   (LPCITEMIDLIST, 4)
3007     TEST_TYPE_ALIGN  (LPCITEMIDLIST, 4)
3008     TEST_TARGET_SIZE (LPCITEMIDLIST, 3)
3009     TEST_TARGET_ALIGN(LPCITEMIDLIST, 1)
3010 }
3011 
3012 static void test_pack_LPCSHITEMID(void)
3013 {
3014     /* LPCSHITEMID */
3015     TEST_TYPE_SIZE   (LPCSHITEMID, 4)
3016     TEST_TYPE_ALIGN  (LPCSHITEMID, 4)
3017     TEST_TARGET_SIZE (LPCSHITEMID, 3)
3018     TEST_TARGET_ALIGN(LPCSHITEMID, 1)
3019 }
3020 
3021 static void test_pack_LPITEMIDLIST(void)
3022 {
3023     /* LPITEMIDLIST */
3024     TEST_TYPE_SIZE   (LPITEMIDLIST, 4)
3025     TEST_TYPE_ALIGN  (LPITEMIDLIST, 4)
3026 }
3027 
3028 static void test_pack_LPSHELLDETAILS(void)
3029 {
3030     /* LPSHELLDETAILS */
3031     TEST_TYPE_SIZE   (LPSHELLDETAILS, 4)
3032     TEST_TYPE_ALIGN  (LPSHELLDETAILS, 4)
3033 }
3034 
3035 static void test_pack_LPSHITEMID(void)
3036 {
3037     /* LPSHITEMID */
3038     TEST_TYPE_SIZE   (LPSHITEMID, 4)
3039     TEST_TYPE_ALIGN  (LPSHITEMID, 4)
3040 }
3041 
3042 static void test_pack_LPSTRRET(void)
3043 {
3044     /* LPSTRRET */
3045     TEST_TYPE_SIZE   (LPSTRRET, 4)
3046     TEST_TYPE_ALIGN  (LPSTRRET, 4)
3047 }
3048 
3049 static void test_pack_SHELLDETAILS(void)
3050 {
3051     /* SHELLDETAILS (pack 1) */
3052     TEST_FIELD_SIZE  (SHELLDETAILS, fmt, 4)
3053     TEST_FIELD_ALIGN (SHELLDETAILS, fmt, 1)
3054     TEST_FIELD_OFFSET(SHELLDETAILS, fmt, 0)
3055     TEST_FIELD_SIZE  (SHELLDETAILS, cxChar, 4)
3056     TEST_FIELD_ALIGN (SHELLDETAILS, cxChar, 1)
3057     TEST_FIELD_OFFSET(SHELLDETAILS, cxChar, 4)
3058 }
3059 
3060 static void test_pack_SHITEMID(void)
3061 {
3062     /* SHITEMID (pack 1) */
3063     TEST_TYPE_SIZE   (SHITEMID, 3)
3064     TEST_TYPE_ALIGN  (SHITEMID, 1)
3065     TEST_FIELD_SIZE  (SHITEMID, cb, 2)
3066     TEST_FIELD_ALIGN (SHITEMID, cb, 1)
3067     TEST_FIELD_OFFSET(SHITEMID, cb, 0)
3068     TEST_FIELD_SIZE  (SHITEMID, abID, 1)
3069     TEST_FIELD_ALIGN (SHITEMID, abID, 1)
3070     TEST_FIELD_OFFSET(SHITEMID, abID, 2)
3071 }
3072 
3073 static void test_pack_STRRET(void)
3074 {
3075     /* STRRET (pack 8) */
3076     TEST_FIELD_SIZE  (STRRET, uType, 4)
3077     TEST_FIELD_ALIGN (STRRET, uType, 4)
3078     TEST_FIELD_OFFSET(STRRET, uType, 0)
3079 }
3080 
3081 static void test_pack_AUTO_SCROLL_DATA(void)
3082 {
3083     /* AUTO_SCROLL_DATA (pack 1) */
3084     TEST_TYPE_SIZE   (AUTO_SCROLL_DATA, 48)
3085     TEST_TYPE_ALIGN  (AUTO_SCROLL_DATA, 1)
3086     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, iNextSample, 4)
3087     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, iNextSample, 1)
3088     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, iNextSample, 0)
3089     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwLastScroll, 4)
3090     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwLastScroll, 1)
3091     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwLastScroll, 4)
3092     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, bFull, 4)
3093     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, bFull, 1)
3094     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, bFull, 8)
3095     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, pts, 24)
3096     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, pts, 1)
3097     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, pts, 12)
3098     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwTimes, 12)
3099     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwTimes, 1)
3100     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwTimes, 36)
3101 }
3102 
3103 static void test_pack_BFFCALLBACK(void)
3104 {
3105     /* BFFCALLBACK */
3106     TEST_TYPE_SIZE   (BFFCALLBACK, 4)
3107     TEST_TYPE_ALIGN  (BFFCALLBACK, 4)
3108 }
3109 
3110 static void test_pack_BROWSEINFOA(void)
3111 {
3112     /* BROWSEINFOA (pack 8) */
3113     TEST_TYPE_SIZE   (BROWSEINFOA, 32)
3114     TEST_TYPE_ALIGN  (BROWSEINFOA, 4)
3115     TEST_FIELD_SIZE  (BROWSEINFOA, hwndOwner, 4)
3116     TEST_FIELD_ALIGN (BROWSEINFOA, hwndOwner, 4)
3117     TEST_FIELD_OFFSET(BROWSEINFOA, hwndOwner, 0)
3118     TEST_FIELD_SIZE  (BROWSEINFOA, pidlRoot, 4)
3119     TEST_FIELD_ALIGN (BROWSEINFOA, pidlRoot, 4)
3120     TEST_FIELD_OFFSET(BROWSEINFOA, pidlRoot, 4)
3121     TEST_FIELD_SIZE  (BROWSEINFOA, pszDisplayName, 4)
3122     TEST_FIELD_ALIGN (BROWSEINFOA, pszDisplayName, 4)
3123     TEST_FIELD_OFFSET(BROWSEINFOA, pszDisplayName, 8)
3124     TEST_FIELD_SIZE  (BROWSEINFOA, lpszTitle, 4)
3125     TEST_FIELD_ALIGN (BROWSEINFOA, lpszTitle, 4)
3126     TEST_FIELD_OFFSET(BROWSEINFOA, lpszTitle, 12)
3127     TEST_FIELD_SIZE  (BROWSEINFOA, ulFlags, 4)
3128     TEST_FIELD_ALIGN (BROWSEINFOA, ulFlags, 4)
3129     TEST_FIELD_OFFSET(BROWSEINFOA, ulFlags, 16)
3130     TEST_FIELD_SIZE  (BROWSEINFOA, lpfn, 4)
3131     TEST_FIELD_ALIGN (BROWSEINFOA, lpfn, 4)
3132     TEST_FIELD_OFFSET(BROWSEINFOA, lpfn, 20)
3133     TEST_FIELD_SIZE  (BROWSEINFOA, lParam, 4)
3134     TEST_FIELD_ALIGN (BROWSEINFOA, lParam, 4)
3135     TEST_FIELD_OFFSET(BROWSEINFOA, lParam, 24)
3136     TEST_FIELD_SIZE  (BROWSEINFOA, iImage, 4)
3137     TEST_FIELD_ALIGN (BROWSEINFOA, iImage, 4)
3138     TEST_FIELD_OFFSET(BROWSEINFOA, iImage, 28)
3139 }
3140 
3141 static void test_pack_BROWSEINFOW(void)
3142 {
3143     /* BROWSEINFOW (pack 8) */
3144     TEST_TYPE_SIZE   (BROWSEINFOW, 32)
3145     TEST_TYPE_ALIGN  (BROWSEINFOW, 4)
3146     TEST_FIELD_SIZE  (BROWSEINFOW, hwndOwner, 4)
3147     TEST_FIELD_ALIGN (BROWSEINFOW, hwndOwner, 4)
3148     TEST_FIELD_OFFSET(BROWSEINFOW, hwndOwner, 0)
3149     TEST_FIELD_SIZE  (BROWSEINFOW, pidlRoot, 4)
3150     TEST_FIELD_ALIGN (BROWSEINFOW, pidlRoot, 4)
3151     TEST_FIELD_OFFSET(BROWSEINFOW, pidlRoot, 4)
3152     TEST_FIELD_SIZE  (BROWSEINFOW, pszDisplayName, 4)
3153     TEST_FIELD_ALIGN (BROWSEINFOW, pszDisplayName, 4)
3154     TEST_FIELD_OFFSET(BROWSEINFOW, pszDisplayName, 8)
3155     TEST_FIELD_SIZE  (BROWSEINFOW, lpszTitle, 4)
3156     TEST_FIELD_ALIGN (BROWSEINFOW, lpszTitle, 4)
3157     TEST_FIELD_OFFSET(BROWSEINFOW, lpszTitle, 12)
3158     TEST_FIELD_SIZE  (BROWSEINFOW, ulFlags, 4)
3159     TEST_FIELD_ALIGN (BROWSEINFOW, ulFlags, 4)
3160     TEST_FIELD_OFFSET(BROWSEINFOW, ulFlags, 16)
3161     TEST_FIELD_SIZE  (BROWSEINFOW, lpfn, 4)
3162     TEST_FIELD_ALIGN (BROWSEINFOW, lpfn, 4)
3163     TEST_FIELD_OFFSET(BROWSEINFOW, lpfn, 20)
3164     TEST_FIELD_SIZE  (BROWSEINFOW, lParam, 4)
3165     TEST_FIELD_ALIGN (BROWSEINFOW, lParam, 4)
3166     TEST_FIELD_OFFSET(BROWSEINFOW, lParam, 24)
3167     TEST_FIELD_SIZE  (BROWSEINFOW, iImage, 4)
3168     TEST_FIELD_ALIGN (BROWSEINFOW, iImage, 4)
3169     TEST_FIELD_OFFSET(BROWSEINFOW, iImage, 28)
3170 }
3171 
3172 static void test_pack_CABINETSTATE(void)
3173 {
3174     /* CABINETSTATE (pack 1) */
3175     TEST_TYPE_SIZE   (CABINETSTATE, 12)
3176     TEST_TYPE_ALIGN  (CABINETSTATE, 1)
3177     TEST_FIELD_SIZE  (CABINETSTATE, cLength, 2)
3178     TEST_FIELD_ALIGN (CABINETSTATE, cLength, 1)
3179     TEST_FIELD_OFFSET(CABINETSTATE, cLength, 0)
3180     TEST_FIELD_SIZE  (CABINETSTATE, nVersion, 2)
3181     TEST_FIELD_ALIGN (CABINETSTATE, nVersion, 1)
3182     TEST_FIELD_OFFSET(CABINETSTATE, nVersion, 2)
3183     TEST_FIELD_SIZE  (CABINETSTATE, fMenuEnumFilter, 4)
3184     TEST_FIELD_ALIGN (CABINETSTATE, fMenuEnumFilter, 1)
3185     TEST_FIELD_OFFSET(CABINETSTATE, fMenuEnumFilter, 8)
3186 }
3187 
3188 static void test_pack_CIDA(void)
3189 {
3190     /* CIDA (pack 1) */
3191     TEST_TYPE_SIZE   (CIDA, 8)
3192     TEST_TYPE_ALIGN  (CIDA, 1)
3193     TEST_FIELD_SIZE  (CIDA, cidl, 4)
3194     TEST_FIELD_ALIGN (CIDA, cidl, 1)
3195     TEST_FIELD_OFFSET(CIDA, cidl, 0)
3196     TEST_FIELD_SIZE  (CIDA, aoffset, 4)
3197     TEST_FIELD_ALIGN (CIDA, aoffset, 1)
3198     TEST_FIELD_OFFSET(CIDA, aoffset, 4)
3199 }
3200 
3201 static void test_pack_CSFV(void)
3202 {
3203     /* CSFV (pack 8) */
3204     TEST_FIELD_SIZE  (CSFV, cbSize, 4)
3205     TEST_FIELD_ALIGN (CSFV, cbSize, 4)
3206     TEST_FIELD_OFFSET(CSFV, cbSize, 0)
3207     TEST_FIELD_SIZE  (CSFV, pshf, 4)
3208     TEST_FIELD_ALIGN (CSFV, pshf, 4)
3209     TEST_FIELD_OFFSET(CSFV, pshf, 4)
3210     TEST_FIELD_SIZE  (CSFV, psvOuter, 4)
3211     TEST_FIELD_ALIGN (CSFV, psvOuter, 4)
3212     TEST_FIELD_OFFSET(CSFV, psvOuter, 8)
3213     TEST_FIELD_SIZE  (CSFV, pidl, 4)
3214     TEST_FIELD_ALIGN (CSFV, pidl, 4)
3215     TEST_FIELD_OFFSET(CSFV, pidl, 12)
3216     TEST_FIELD_SIZE  (CSFV, lEvents, 4)
3217     TEST_FIELD_ALIGN (CSFV, lEvents, 4)
3218     TEST_FIELD_OFFSET(CSFV, lEvents, 16)
3219     TEST_FIELD_SIZE  (CSFV, pfnCallback, 4)
3220     TEST_FIELD_ALIGN (CSFV, pfnCallback, 4)
3221     TEST_FIELD_OFFSET(CSFV, pfnCallback, 20)
3222 }
3223 
3224 static void test_pack_DROPFILES(void)
3225 {
3226     /* DROPFILES (pack 1) */
3227     TEST_TYPE_SIZE   (DROPFILES, 20)
3228     TEST_TYPE_ALIGN  (DROPFILES, 1)
3229     TEST_FIELD_SIZE  (DROPFILES, pFiles, 4)
3230     TEST_FIELD_ALIGN (DROPFILES, pFiles, 1)
3231     TEST_FIELD_OFFSET(DROPFILES, pFiles, 0)
3232     TEST_FIELD_SIZE  (DROPFILES, pt, 8)
3233     TEST_FIELD_ALIGN (DROPFILES, pt, 1)
3234     TEST_FIELD_OFFSET(DROPFILES, pt, 4)
3235     TEST_FIELD_SIZE  (DROPFILES, fNC, 4)
3236     TEST_FIELD_ALIGN (DROPFILES, fNC, 1)
3237     TEST_FIELD_OFFSET(DROPFILES, fNC, 12)
3238     TEST_FIELD_SIZE  (DROPFILES, fWide, 4)
3239     TEST_FIELD_ALIGN (DROPFILES, fWide, 1)
3240     TEST_FIELD_OFFSET(DROPFILES, fWide, 16)
3241 }
3242 
3243 static void test_pack_FILEDESCRIPTORA(void)
3244 {
3245     /* FILEDESCRIPTORA (pack 1) */
3246     TEST_TYPE_SIZE   (FILEDESCRIPTORA, 332)
3247     TEST_TYPE_ALIGN  (FILEDESCRIPTORA, 1)
3248     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFlags, 4)
3249     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFlags, 1)
3250     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFlags, 0)
3251     TEST_FIELD_SIZE  (FILEDESCRIPTORA, clsid, 16)
3252     TEST_FIELD_ALIGN (FILEDESCRIPTORA, clsid, 1)
3253     TEST_FIELD_OFFSET(FILEDESCRIPTORA, clsid, 4)
3254     TEST_FIELD_SIZE  (FILEDESCRIPTORA, sizel, 8)
3255     TEST_FIELD_ALIGN (FILEDESCRIPTORA, sizel, 1)
3256     TEST_FIELD_OFFSET(FILEDESCRIPTORA, sizel, 20)
3257     TEST_FIELD_SIZE  (FILEDESCRIPTORA, pointl, 8)
3258     TEST_FIELD_ALIGN (FILEDESCRIPTORA, pointl, 1)
3259     TEST_FIELD_OFFSET(FILEDESCRIPTORA, pointl, 28)
3260     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFileAttributes, 4)
3261     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFileAttributes, 1)
3262     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFileAttributes, 36)
3263     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftCreationTime, 8)
3264     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftCreationTime, 1)
3265     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftCreationTime, 40)
3266     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastAccessTime, 8)
3267     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastAccessTime, 1)
3268     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastAccessTime, 48)
3269     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastWriteTime, 8)
3270     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastWriteTime, 1)
3271     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastWriteTime, 56)
3272     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeHigh, 4)
3273     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeHigh, 1)
3274     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeHigh, 64)
3275     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeLow, 4)
3276     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeLow, 1)
3277     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeLow, 68)
3278     TEST_FIELD_SIZE  (FILEDESCRIPTORA, cFileName, 260)
3279     TEST_FIELD_ALIGN (FILEDESCRIPTORA, cFileName, 1)
3280     TEST_FIELD_OFFSET(FILEDESCRIPTORA, cFileName, 72)
3281 }
3282 
3283 static void test_pack_FILEDESCRIPTORW(void)
3284 {
3285     /* FILEDESCRIPTORW (pack 1) */
3286     TEST_TYPE_SIZE   (FILEDESCRIPTORW, 592)
3287     TEST_TYPE_ALIGN  (FILEDESCRIPTORW, 1)
3288     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFlags, 4)
3289     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFlags, 1)
3290     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFlags, 0)
3291     TEST_FIELD_SIZE  (FILEDESCRIPTORW, clsid, 16)
3292     TEST_FIELD_ALIGN (FILEDESCRIPTORW, clsid, 1)
3293     TEST_FIELD_OFFSET(FILEDESCRIPTORW, clsid, 4)
3294     TEST_FIELD_SIZE  (FILEDESCRIPTORW, sizel, 8)
3295     TEST_FIELD_ALIGN (FILEDESCRIPTORW, sizel, 1)
3296     TEST_FIELD_OFFSET(FILEDESCRIPTORW, sizel, 20)
3297     TEST_FIELD_SIZE  (FILEDESCRIPTORW, pointl, 8)
3298     TEST_FIELD_ALIGN (FILEDESCRIPTORW, pointl, 1)
3299     TEST_FIELD_OFFSET(FILEDESCRIPTORW, pointl, 28)
3300     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFileAttributes, 4)
3301     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFileAttributes, 1)
3302     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFileAttributes, 36)
3303     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftCreationTime, 8)
3304     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftCreationTime, 1)
3305     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftCreationTime, 40)
3306     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastAccessTime, 8)
3307     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastAccessTime, 1)
3308     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastAccessTime, 48)
3309     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastWriteTime, 8)
3310     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastWriteTime, 1)
3311     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastWriteTime, 56)
3312     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeHigh, 4)
3313     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeHigh, 1)
3314     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeHigh, 64)
3315     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeLow, 4)
3316     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeLow, 1)
3317     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeLow, 68)
3318     TEST_FIELD_SIZE  (FILEDESCRIPTORW, cFileName, 520)
3319     TEST_FIELD_ALIGN (FILEDESCRIPTORW, cFileName, 1)
3320     TEST_FIELD_OFFSET(FILEDESCRIPTORW, cFileName, 72)
3321 }
3322 
3323 static void test_pack_FILEGROUPDESCRIPTORA(void)
3324 {
3325     /* FILEGROUPDESCRIPTORA (pack 1) */
3326     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORA, 336)
3327     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORA, 1)
3328     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, cItems, 4)
3329     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, cItems, 1)
3330     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, cItems, 0)
3331     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, fgd, 332)
3332     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, fgd, 1)
3333     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, fgd, 4)
3334 }
3335 
3336 static void test_pack_FILEGROUPDESCRIPTORW(void)
3337 {
3338     /* FILEGROUPDESCRIPTORW (pack 1) */
3339     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORW, 596)
3340     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORW, 1)
3341     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, cItems, 4)
3342     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, cItems, 1)
3343     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, cItems, 0)
3344     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, fgd, 592)
3345     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, fgd, 1)
3346     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, fgd, 4)
3347 }
3348 
3349 static void test_pack_ITEMSPACING(void)
3350 {
3351     /* ITEMSPACING (pack 8) */
3352     TEST_TYPE_SIZE   (ITEMSPACING, 16)
3353     TEST_TYPE_ALIGN  (ITEMSPACING, 4)
3354     TEST_FIELD_SIZE  (ITEMSPACING, cxSmall, 4)
3355     TEST_FIELD_ALIGN (ITEMSPACING, cxSmall, 4)
3356     TEST_FIELD_OFFSET(ITEMSPACING, cxSmall, 0)
3357     TEST_FIELD_SIZE  (ITEMSPACING, cySmall, 4)
3358     TEST_FIELD_ALIGN (ITEMSPACING, cySmall, 4)
3359     TEST_FIELD_OFFSET(ITEMSPACING, cySmall, 4)
3360     TEST_FIELD_SIZE  (ITEMSPACING, cxLarge, 4)
3361     TEST_FIELD_ALIGN (ITEMSPACING, cxLarge, 4)
3362     TEST_FIELD_OFFSET(ITEMSPACING, cxLarge, 8)
3363     TEST_FIELD_SIZE  (ITEMSPACING, cyLarge, 4)
3364     TEST_FIELD_ALIGN (ITEMSPACING, cyLarge, 4)
3365     TEST_FIELD_OFFSET(ITEMSPACING, cyLarge, 12)
3366 }
3367 
3368 static void test_pack_LPBROWSEINFOA(void)
3369 {
3370     /* LPBROWSEINFOA */
3371     TEST_TYPE_SIZE   (LPBROWSEINFOA, 4)
3372     TEST_TYPE_ALIGN  (LPBROWSEINFOA, 4)
3373     TEST_TARGET_SIZE (LPBROWSEINFOA, 32)
3374     TEST_TARGET_ALIGN(LPBROWSEINFOA, 4)
3375 }
3376 
3377 static void test_pack_LPBROWSEINFOW(void)
3378 {
3379     /* LPBROWSEINFOW */
3380     TEST_TYPE_SIZE   (LPBROWSEINFOW, 4)
3381     TEST_TYPE_ALIGN  (LPBROWSEINFOW, 4)
3382     TEST_TARGET_SIZE (LPBROWSEINFOW, 32)
3383     TEST_TARGET_ALIGN(LPBROWSEINFOW, 4)
3384 }
3385 
3386 static void test_pack_LPCABINETSTATE(void)
3387 {
3388     /* LPCABINETSTATE */
3389     TEST_TYPE_SIZE   (LPCABINETSTATE, 4)
3390     TEST_TYPE_ALIGN  (LPCABINETSTATE, 4)
3391     TEST_TARGET_SIZE (LPCABINETSTATE, 12)
3392     TEST_TARGET_ALIGN(LPCABINETSTATE, 1)
3393 }
3394 
3395 static void test_pack_LPCSFV(void)
3396 {
3397     /* LPCSFV */
3398     TEST_TYPE_SIZE   (LPCSFV, 4)
3399     TEST_TYPE_ALIGN  (LPCSFV, 4)
3400 }
3401 
3402 static void test_pack_LPDROPFILES(void)
3403 {
3404     /* LPDROPFILES */
3405     TEST_TYPE_SIZE   (LPDROPFILES, 4)
3406     TEST_TYPE_ALIGN  (LPDROPFILES, 4)
3407     TEST_TARGET_SIZE (LPDROPFILES, 20)
3408     TEST_TARGET_ALIGN(LPDROPFILES, 1)
3409 }
3410 
3411 static void test_pack_LPFILEDESCRIPTORA(void)
3412 {
3413     /* LPFILEDESCRIPTORA */
3414     TEST_TYPE_SIZE   (LPFILEDESCRIPTORA, 4)
3415     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORA, 4)
3416     TEST_TARGET_SIZE (LPFILEDESCRIPTORA, 332)
3417     TEST_TARGET_ALIGN(LPFILEDESCRIPTORA, 1)
3418 }
3419 
3420 static void test_pack_LPFILEDESCRIPTORW(void)
3421 {
3422     /* LPFILEDESCRIPTORW */
3423     TEST_TYPE_SIZE   (LPFILEDESCRIPTORW, 4)
3424     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORW, 4)
3425     TEST_TARGET_SIZE (LPFILEDESCRIPTORW, 592)
3426     TEST_TARGET_ALIGN(LPFILEDESCRIPTORW, 1)
3427 }
3428 
3429 static void test_pack_LPFILEGROUPDESCRIPTORA(void)
3430 {
3431     /* LPFILEGROUPDESCRIPTORA */
3432     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORA, 4)
3433     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORA, 4)
3434     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORA, 336)
3435     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORA, 1)
3436 }
3437 
3438 static void test_pack_LPFILEGROUPDESCRIPTORW(void)
3439 {
3440     /* LPFILEGROUPDESCRIPTORW */
3441     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORW, 4)
3442     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORW, 4)
3443     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORW, 596)
3444     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORW, 1)
3445 }
3446 
3447 static void test_pack_LPFNVIEWCALLBACK(void)
3448 {
3449     /* LPFNVIEWCALLBACK */
3450     TEST_TYPE_SIZE   (LPFNVIEWCALLBACK, 4)
3451     TEST_TYPE_ALIGN  (LPFNVIEWCALLBACK, 4)
3452 }
3453 
3454 static void test_pack_LPIDA(void)
3455 {
3456     /* LPIDA */
3457     TEST_TYPE_SIZE   (LPIDA, 4)
3458     TEST_TYPE_ALIGN  (LPIDA, 4)
3459     TEST_TARGET_SIZE (LPIDA, 8)
3460     TEST_TARGET_ALIGN(LPIDA, 1)
3461 }
3462 
3463 static void test_pack_LPQCMINFO(void)
3464 {
3465     /* LPQCMINFO */
3466     TEST_TYPE_SIZE   (LPQCMINFO, 4)
3467     TEST_TYPE_ALIGN  (LPQCMINFO, 4)
3468     TEST_TARGET_SIZE (LPQCMINFO, 20)
3469     TEST_TARGET_ALIGN(LPQCMINFO, 4)
3470 }
3471 
3472 static void test_pack_LPSHChangeDWORDAsIDList(void)
3473 {
3474     /* LPSHChangeDWORDAsIDList */
3475     TEST_TYPE_SIZE   (LPSHChangeDWORDAsIDList, 4)
3476     TEST_TYPE_ALIGN  (LPSHChangeDWORDAsIDList, 4)
3477     TEST_TARGET_SIZE (LPSHChangeDWORDAsIDList, 12)
3478     TEST_TARGET_ALIGN(LPSHChangeDWORDAsIDList, 1)
3479 }
3480 
3481 static void test_pack_LPSHChangeProductKeyAsIDList(void)
3482 {
3483     /* LPSHChangeProductKeyAsIDList */
3484     TEST_TYPE_SIZE   (LPSHChangeProductKeyAsIDList, 4)
3485     TEST_TYPE_ALIGN  (LPSHChangeProductKeyAsIDList, 4)
3486     TEST_TARGET_SIZE (LPSHChangeProductKeyAsIDList, 82)
3487     TEST_TARGET_ALIGN(LPSHChangeProductKeyAsIDList, 1)
3488 }
3489 
3490 static void test_pack_LPSHDESCRIPTIONID(void)
3491 {
3492     /* LPSHDESCRIPTIONID */
3493     TEST_TYPE_SIZE   (LPSHDESCRIPTIONID, 4)
3494     TEST_TYPE_ALIGN  (LPSHDESCRIPTIONID, 4)
3495     TEST_TARGET_SIZE (LPSHDESCRIPTIONID, 20)
3496     TEST_TARGET_ALIGN(LPSHDESCRIPTIONID, 4)
3497 }
3498 
3499 static void test_pack_LPSHELLFLAGSTATE(void)
3500 {
3501     /* LPSHELLFLAGSTATE */
3502     TEST_TYPE_SIZE   (LPSHELLFLAGSTATE, 4)
3503     TEST_TYPE_ALIGN  (LPSHELLFLAGSTATE, 4)
3504     TEST_TARGET_SIZE (LPSHELLFLAGSTATE, 4)
3505     TEST_TARGET_ALIGN(LPSHELLFLAGSTATE, 1)
3506 }
3507 
3508 static void test_pack_LPSHELLSTATE(void)
3509 {
3510     /* LPSHELLSTATE */
3511     TEST_TYPE_SIZE   (LPSHELLSTATE, 4)
3512     TEST_TYPE_ALIGN  (LPSHELLSTATE, 4)
3513     TEST_TARGET_SIZE (LPSHELLSTATE, 32)
3514     TEST_TARGET_ALIGN(LPSHELLSTATE, 1)
3515 }
3516 
3517 static void test_pack_LPTBINFO(void)
3518 {
3519     /* LPTBINFO */
3520     TEST_TYPE_SIZE   (LPTBINFO, 4)
3521     TEST_TYPE_ALIGN  (LPTBINFO, 4)
3522     TEST_TARGET_SIZE (LPTBINFO, 8)
3523     TEST_TARGET_ALIGN(LPTBINFO, 4)
3524 }
3525 
3526 static void test_pack_PBROWSEINFOA(void)
3527 {
3528     /* PBROWSEINFOA */
3529     TEST_TYPE_SIZE   (PBROWSEINFOA, 4)
3530     TEST_TYPE_ALIGN  (PBROWSEINFOA, 4)
3531     TEST_TARGET_SIZE (PBROWSEINFOA, 32)
3532     TEST_TARGET_ALIGN(PBROWSEINFOA, 4)
3533 }
3534 
3535 static void test_pack_PBROWSEINFOW(void)
3536 {
3537     /* PBROWSEINFOW */
3538     TEST_TYPE_SIZE   (PBROWSEINFOW, 4)
3539     TEST_TYPE_ALIGN  (PBROWSEINFOW, 4)
3540     TEST_TARGET_SIZE (PBROWSEINFOW, 32)
3541     TEST_TARGET_ALIGN(PBROWSEINFOW, 4)
3542 }
3543 
3544 static void test_pack_QCMINFO(void)
3545 {
3546     /* QCMINFO (pack 8) */
3547     TEST_TYPE_SIZE   (QCMINFO, 20)
3548     TEST_TYPE_ALIGN  (QCMINFO, 4)
3549     TEST_FIELD_SIZE  (QCMINFO, hmenu, 4)
3550     TEST_FIELD_ALIGN (QCMINFO, hmenu, 4)
3551     TEST_FIELD_OFFSET(QCMINFO, hmenu, 0)
3552     TEST_FIELD_SIZE  (QCMINFO, indexMenu, 4)
3553     TEST_FIELD_ALIGN (QCMINFO, indexMenu, 4)
3554     TEST_FIELD_OFFSET(QCMINFO, indexMenu, 4)
3555     TEST_FIELD_SIZE  (QCMINFO, idCmdFirst, 4)
3556     TEST_FIELD_ALIGN (QCMINFO, idCmdFirst, 4)
3557     TEST_FIELD_OFFSET(QCMINFO, idCmdFirst, 8)
3558     TEST_FIELD_SIZE  (QCMINFO, idCmdLast, 4)
3559     TEST_FIELD_ALIGN (QCMINFO, idCmdLast, 4)
3560     TEST_FIELD_OFFSET(QCMINFO, idCmdLast, 12)
3561     TEST_FIELD_SIZE  (QCMINFO, pIdMap, 4)
3562     TEST_FIELD_ALIGN (QCMINFO, pIdMap, 4)
3563     TEST_FIELD_OFFSET(QCMINFO, pIdMap, 16)
3564 }
3565 
3566 static void test_pack_QCMINFO_IDMAP(void)
3567 {
3568     /* QCMINFO_IDMAP (pack 8) */
3569     TEST_TYPE_SIZE   (QCMINFO_IDMAP, 12)
3570     TEST_TYPE_ALIGN  (QCMINFO_IDMAP, 4)
3571     TEST_FIELD_SIZE  (QCMINFO_IDMAP, nMaxIds, 4)
3572     TEST_FIELD_ALIGN (QCMINFO_IDMAP, nMaxIds, 4)
3573     TEST_FIELD_OFFSET(QCMINFO_IDMAP, nMaxIds, 0)
3574     TEST_FIELD_SIZE  (QCMINFO_IDMAP, pIdList, 8)
3575     TEST_FIELD_ALIGN (QCMINFO_IDMAP, pIdList, 4)
3576     TEST_FIELD_OFFSET(QCMINFO_IDMAP, pIdList, 4)
3577 }
3578 
3579 static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
3580 {
3581     /* QCMINFO_IDMAP_PLACEMENT (pack 8) */
3582     TEST_TYPE_SIZE   (QCMINFO_IDMAP_PLACEMENT, 8)
3583     TEST_TYPE_ALIGN  (QCMINFO_IDMAP_PLACEMENT, 4)
3584     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, id, 4)
3585     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, id, 4)
3586     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, id, 0)
3587     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3588     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3589     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3590 }
3591 
3592 static void test_pack_SFV_CREATE(void)
3593 {
3594     /* SFV_CREATE (pack 8) */
3595     TEST_TYPE_SIZE   (SFV_CREATE, 16)
3596     TEST_TYPE_ALIGN  (SFV_CREATE, 4)
3597     TEST_FIELD_SIZE  (SFV_CREATE, cbSize, 4)
3598     TEST_FIELD_ALIGN (SFV_CREATE, cbSize, 4)
3599     TEST_FIELD_OFFSET(SFV_CREATE, cbSize, 0)
3600     TEST_FIELD_SIZE  (SFV_CREATE, pshf, 4)
3601     TEST_FIELD_ALIGN (SFV_CREATE, pshf, 4)
3602     TEST_FIELD_OFFSET(SFV_CREATE, pshf, 4)
3603     TEST_FIELD_SIZE  (SFV_CREATE, psvOuter, 4)
3604     TEST_FIELD_ALIGN (SFV_CREATE, psvOuter, 4)
3605     TEST_FIELD_OFFSET(SFV_CREATE, psvOuter, 8)
3606     TEST_FIELD_SIZE  (SFV_CREATE, psfvcb, 4)
3607     TEST_FIELD_ALIGN (SFV_CREATE, psfvcb, 4)
3608     TEST_FIELD_OFFSET(SFV_CREATE, psfvcb, 12)
3609 }
3610 
3611 static void test_pack_SHChangeDWORDAsIDList(void)
3612 {
3613     /* SHChangeDWORDAsIDList (pack 1) */
3614     TEST_TYPE_SIZE   (SHChangeDWORDAsIDList, 12)
3615     TEST_TYPE_ALIGN  (SHChangeDWORDAsIDList, 1)
3616     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cb, 2)
3617     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cb, 1)
3618     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cb, 0)
3619     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem1, 4)
3620     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem1, 1)
3621     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem1, 2)
3622     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem2, 4)
3623     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem2, 1)
3624     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem2, 6)
3625     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cbZero, 2)
3626     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cbZero, 1)
3627     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cbZero, 10)
3628 }
3629 
3630 static void test_pack_SHChangeNotifyEntry(void)
3631 {
3632     /* SHChangeNotifyEntry (pack 1) */
3633     TEST_TYPE_SIZE   (SHChangeNotifyEntry, 8)
3634     TEST_TYPE_ALIGN  (SHChangeNotifyEntry, 1)
3635     TEST_FIELD_SIZE  (SHChangeNotifyEntry, pidl, 4)
3636     TEST_FIELD_ALIGN (SHChangeNotifyEntry, pidl, 1)
3637     TEST_FIELD_OFFSET(SHChangeNotifyEntry, pidl, 0)
3638     TEST_FIELD_SIZE  (SHChangeNotifyEntry, fRecursive, 4)
3639     TEST_FIELD_ALIGN (SHChangeNotifyEntry, fRecursive, 1)
3640     TEST_FIELD_OFFSET(SHChangeNotifyEntry, fRecursive, 4)
3641 }
3642 
3643 static void test_pack_SHChangeProductKeyAsIDList(void)
3644 {
3645     /* SHChangeProductKeyAsIDList (pack 1) */
3646     TEST_TYPE_SIZE   (SHChangeProductKeyAsIDList, 82)
3647     TEST_TYPE_ALIGN  (SHChangeProductKeyAsIDList, 1)
3648     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cb, 2)
3649     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cb, 1)
3650     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cb, 0)
3651     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, wszProductKey, 78)
3652     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, wszProductKey, 1)
3653     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, wszProductKey, 2)
3654     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cbZero, 2)
3655     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cbZero, 1)
3656     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cbZero, 80)
3657 }
3658 
3659 static void test_pack_SHDESCRIPTIONID(void)
3660 {
3661     /* SHDESCRIPTIONID (pack 8) */
3662     TEST_TYPE_SIZE   (SHDESCRIPTIONID, 20)
3663     TEST_TYPE_ALIGN  (SHDESCRIPTIONID, 4)
3664     TEST_FIELD_SIZE  (SHDESCRIPTIONID, dwDescriptionId, 4)
3665     TEST_FIELD_ALIGN (SHDESCRIPTIONID, dwDescriptionId, 4)
3666     TEST_FIELD_OFFSET(SHDESCRIPTIONID, dwDescriptionId, 0)
3667     TEST_FIELD_SIZE  (SHDESCRIPTIONID, clsid, 16)
3668     TEST_FIELD_ALIGN (SHDESCRIPTIONID, clsid, 4)
3669     TEST_FIELD_OFFSET(SHDESCRIPTIONID, clsid, 4)
3670 }
3671 
3672 static void test_pack_SHELLFLAGSTATE(void)
3673 {
3674     /* SHELLFLAGSTATE (pack 1) */
3675     TEST_TYPE_SIZE   (SHELLFLAGSTATE, 4)
3676     TEST_TYPE_ALIGN  (SHELLFLAGSTATE, 1)
3677 }
3678 
3679 static void test_pack_SHELLSTATE(void)
3680 {
3681     /* SHELLSTATE (pack 1) */
3682     TEST_TYPE_SIZE   (SHELLSTATE, 32)
3683     TEST_TYPE_ALIGN  (SHELLSTATE, 1)
3684     TEST_FIELD_SIZE  (SHELLSTATE, dwWin95Unused, 4)
3685     TEST_FIELD_ALIGN (SHELLSTATE, dwWin95Unused, 1)
3686     TEST_FIELD_OFFSET(SHELLSTATE, dwWin95Unused, 4)
3687     TEST_FIELD_SIZE  (SHELLSTATE, uWin95Unused, 4)
3688     TEST_FIELD_ALIGN (SHELLSTATE, uWin95Unused, 1)
3689     TEST_FIELD_OFFSET(SHELLSTATE, uWin95Unused, 8)
3690     TEST_FIELD_SIZE  (SHELLSTATE, lParamSort, 4)
3691     TEST_FIELD_ALIGN (SHELLSTATE, lParamSort, 1)
3692     TEST_FIELD_OFFSET(SHELLSTATE, lParamSort, 12)
3693     TEST_FIELD_SIZE  (SHELLSTATE, iSortDirection, 4)
3694     TEST_FIELD_ALIGN (SHELLSTATE, iSortDirection, 1)
3695     TEST_FIELD_OFFSET(SHELLSTATE, iSortDirection, 16)
3696     TEST_FIELD_SIZE  (SHELLSTATE, version, 4)
3697     TEST_FIELD_ALIGN (SHELLSTATE, version, 1)
3698     TEST_FIELD_OFFSET(SHELLSTATE, version, 20)
3699     TEST_FIELD_SIZE  (SHELLSTATE, uNotUsed, 4)
3700     TEST_FIELD_ALIGN (SHELLSTATE, uNotUsed, 1)
3701     TEST_FIELD_OFFSET(SHELLSTATE, uNotUsed, 24)
3702 }
3703 
3704 static void test_pack_TBINFO(void)
3705 {
3706     /* TBINFO (pack 8) */
3707     TEST_TYPE_SIZE   (TBINFO, 8)
3708     TEST_TYPE_ALIGN  (TBINFO, 4)
3709     TEST_FIELD_SIZE  (TBINFO, cbuttons, 4)
3710     TEST_FIELD_ALIGN (TBINFO, cbuttons, 4)
3711     TEST_FIELD_OFFSET(TBINFO, cbuttons, 0)
3712     TEST_FIELD_SIZE  (TBINFO, uFlags, 4)
3713     TEST_FIELD_ALIGN (TBINFO, uFlags, 4)
3714     TEST_FIELD_OFFSET(TBINFO, uFlags, 4)
3715 }
3716 
3717 #endif /* _WIN64 */
3718 
3719 static void test_pack(void)
3720 {
3721     test_pack_APPBARDATA();
3722     test_pack_AUTO_SCROLL_DATA();
3723     test_pack_BFFCALLBACK();
3724     test_pack_BLOB();
3725     test_pack_BROWSEINFOA();
3726     test_pack_BROWSEINFOW();
3727     test_pack_BSTR();
3728     test_pack_BSTRBLOB();
3729     test_pack_BYTE_BLOB();
3730     test_pack_BYTE_SIZEDARR();
3731     test_pack_CABINETSTATE();
3732     test_pack_CIDA();
3733     test_pack_CLIPDATA();
3734     test_pack_CLIPFORMAT();
3735     test_pack_CLSID();
3736     test_pack_COAUTHIDENTITY();
3737     test_pack_COAUTHINFO();
3738     test_pack_CSFV();
3739     test_pack_DATE();
3740     test_pack_DOUBLE();
3741     test_pack_DRAGINFOA();
3742     test_pack_DRAGINFOW();
3743     test_pack_DROPFILES();
3744     test_pack_DWORD_SIZEDARR();
3745     test_pack_FILEDESCRIPTORA();
3746     test_pack_FILEDESCRIPTORW();
3747     test_pack_FILEGROUPDESCRIPTORA();
3748     test_pack_FILEGROUPDESCRIPTORW();
3749     test_pack_FILEOP_FLAGS();
3750     test_pack_FLAGGED_BYTE_BLOB();
3751     test_pack_FLAGGED_WORD_BLOB();
3752     test_pack_FMTID();
3753     test_pack_HMETAFILEPICT();
3754     test_pack_HYPER_SIZEDARR();
3755     test_pack_IID();
3756     test_pack_ITEMIDLIST();
3757     test_pack_ITEMSPACING();
3758     test_pack_LPBLOB();
3759     test_pack_LPBROWSEINFOA();
3760     test_pack_LPBROWSEINFOW();
3761     test_pack_LPBSTR();
3762     test_pack_LPBSTRBLOB();
3763     test_pack_LPCABINETSTATE();
3764     test_pack_LPCITEMIDLIST();
3765     test_pack_LPCOLESTR();
3766     test_pack_LPCSFV();
3767     test_pack_LPCSHITEMID();
3768     test_pack_LPCY();
3769     test_pack_LPDECIMAL();
3770     test_pack_LPDRAGINFOA();
3771     test_pack_LPDRAGINFOW();
3772     test_pack_LPDROPFILES();
3773     test_pack_LPFILEDESCRIPTORA();
3774     test_pack_LPFILEDESCRIPTORW();
3775     test_pack_LPFILEGROUPDESCRIPTORA();
3776     test_pack_LPFILEGROUPDESCRIPTORW();
3777     test_pack_LPFNVIEWCALLBACK();
3778     test_pack_LPIDA();
3779     test_pack_LPITEMIDLIST();
3780     test_pack_LPOLESTR();
3781     test_pack_LPQCMINFO();
3782     test_pack_LPSHChangeDWORDAsIDList();
3783     test_pack_LPSHChangeProductKeyAsIDList();
3784     test_pack_LPSHDESCRIPTIONID();
3785     test_pack_LPSHELLDETAILS();
3786     test_pack_LPSHELLEXECUTEINFOA();
3787     test_pack_LPSHELLEXECUTEINFOW();
3788     test_pack_LPSHELLFLAGSTATE();
3789     test_pack_LPSHELLSTATE();
3790     test_pack_LPSHFILEOPSTRUCTA();
3791     test_pack_LPSHFILEOPSTRUCTW();
3792     test_pack_LPSHITEMID();
3793     test_pack_LPSHNAMEMAPPINGA();
3794     test_pack_LPSHNAMEMAPPINGW();
3795     test_pack_LPSTRRET();
3796     test_pack_LPTBINFO();
3797     test_pack_NOTIFYICONDATAA();
3798     test_pack_NOTIFYICONDATAW();
3799     test_pack_OLECHAR();
3800     test_pack_PAPPBARDATA();
3801     test_pack_PBROWSEINFOA();
3802     test_pack_PBROWSEINFOW();
3803     test_pack_PNOTIFYICONDATAA();
3804     test_pack_PNOTIFYICONDATAW();
3805     test_pack_PRINTEROP_FLAGS();
3806     test_pack_PROPID();
3807     test_pack_QCMINFO();
3808     test_pack_QCMINFO_IDMAP();
3809     test_pack_QCMINFO_IDMAP_PLACEMENT();
3810     test_pack_RemHBITMAP();
3811     test_pack_RemHENHMETAFILE();
3812     test_pack_RemHGLOBAL();
3813     test_pack_RemHMETAFILEPICT();
3814     test_pack_RemHPALETTE();
3815     test_pack_SCODE();
3816     test_pack_SFV_CREATE();
3817     test_pack_SHChangeDWORDAsIDList();
3818     test_pack_SHChangeNotifyEntry();
3819     test_pack_SHChangeProductKeyAsIDList();
3820     test_pack_SHDESCRIPTIONID();
3821     test_pack_SHELLDETAILS();
3822     test_pack_SHELLEXECUTEINFOA();
3823     test_pack_SHELLEXECUTEINFOW();
3824     test_pack_SHELLFLAGSTATE();
3825     test_pack_SHELLSTATE();
3826     test_pack_SHFILEINFOA();
3827     test_pack_SHFILEINFOW();
3828     test_pack_SHFILEOPSTRUCTA();
3829     test_pack_SHFILEOPSTRUCTW();
3830     test_pack_SHITEMID();
3831     test_pack_SHNAMEMAPPINGA();
3832     test_pack_SHNAMEMAPPINGW();
3833     test_pack_STRRET();
3834     test_pack_TBINFO();
3835     test_pack_UP_BYTE_BLOB();
3836     test_pack_UP_FLAGGED_BYTE_BLOB();
3837     test_pack_UP_FLAGGED_WORD_BLOB();
3838     test_pack_VARIANT_BOOL();
3839     test_pack_VARTYPE();
3840     test_pack_WORD_SIZEDARR();
3841     test_pack_remoteMETAFILEPICT();
3842     test_pack_userBITMAP();
3843     test_pack_userCLIPFORMAT();
3844     test_pack_userHBITMAP();
3845     test_pack_userHENHMETAFILE();
3846     test_pack_userHGLOBAL();
3847     test_pack_userHMETAFILE();
3848     test_pack_userHMETAFILEPICT();
3849     test_pack_userHPALETTE();
3850     test_pack_wireBSTR();
3851     test_pack_wireCLIPFORMAT();
3852     test_pack_wireHBITMAP();
3853     test_pack_wireHENHMETAFILE();
3854     test_pack_wireHGLOBAL();
3855     test_pack_wireHMETAFILE();
3856     test_pack_wireHMETAFILEPICT();
3857     test_pack_wireHPALETTE();
3858 }
3859 
3860 START_TEST(generated)
3861 {
3862     test_pack();
3863 }
3864