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