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