1 /* File generated automatically from tools/winapi/tests.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
5 * Unit tests for data structure packing
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
12 #define WINE_NOWINSOCK
23 #include "wine/test.h"
25 /***********************************************************************
26 * Compatibility macros
29 #define DWORD_PTR UINT_PTR
30 #define LONG_PTR INT_PTR
31 #define ULONG_PTR UINT_PTR
33 /***********************************************************************
34 * Windows API extension
37 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
38 # define _TYPE_ALIGNMENT(type) __alignof(type)
39 #elif defined(__GNUC__)
40 # define _TYPE_ALIGNMENT(type) __alignof__(type)
43 * FIXME: May not be possible without a compiler extension
44 * (if type is not just a name that is, otherwise the normal
45 * TYPE_ALIGNMENT can be used)
49 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
50 #pragma warning(disable:4116)
53 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
54 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
57 /***********************************************************************
63 # define TEST_TYPE_SIZE(type, size)
64 # define TEST_TYPE_ALIGN(type, align)
65 # define TEST_TARGET_ALIGN(type, align)
66 # define TEST_FIELD_ALIGN(type, field, align)
67 # define TEST_FIELD_OFFSET(type, field, offset)
71 # define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size);
73 # ifdef TYPE_ALIGNMENT
74 # define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align);
76 # define TEST_TYPE_ALIGN(type, align)
79 # ifdef _TYPE_ALIGNMENT
80 # define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
81 # define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
83 # define TEST_TARGET_ALIGN(type, align)
84 # define TEST_FIELD_ALIGN(type, field, align)
87 # define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
91 #define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size)
92 #define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size)
93 #define TEST_TYPE_SIGNED(type) C_ASSERT((type) -1 < 0);
94 #define TEST_TYPE_UNSIGNED(type) C_ASSERT((type) -1 > 0);
97 static void test_pack_BLOB(void)
100 TEST_TYPE_SIZE (BLOB, 8)
101 TEST_TYPE_ALIGN (BLOB, 4)
102 TEST_FIELD_SIZE (BLOB, cbSize, 4)
103 TEST_FIELD_ALIGN (BLOB, cbSize, 4)
104 TEST_FIELD_OFFSET(BLOB, cbSize, 0)
105 TEST_FIELD_SIZE (BLOB, pBlobData, 4)
106 TEST_FIELD_ALIGN (BLOB, pBlobData, 4)
107 TEST_FIELD_OFFSET(BLOB, pBlobData, 4)
110 static void test_pack_BSTR(void)
113 TEST_TYPE_SIZE (BSTR, 4)
114 TEST_TYPE_ALIGN (BSTR, 4)
115 TEST_TARGET_SIZE (BSTR, 2)
116 TEST_TARGET_ALIGN(BSTR, 2)
119 static void test_pack_BSTRBLOB(void)
121 /* BSTRBLOB (pack 4) */
122 TEST_TYPE_SIZE (BSTRBLOB, 8)
123 TEST_TYPE_ALIGN (BSTRBLOB, 4)
124 TEST_FIELD_SIZE (BSTRBLOB, cbSize, 4)
125 TEST_FIELD_ALIGN (BSTRBLOB, cbSize, 4)
126 TEST_FIELD_OFFSET(BSTRBLOB, cbSize, 0)
127 TEST_FIELD_SIZE (BSTRBLOB, pData, 4)
128 TEST_FIELD_ALIGN (BSTRBLOB, pData, 4)
129 TEST_FIELD_OFFSET(BSTRBLOB, pData, 4)
132 static void test_pack_BYTE_BLOB(void)
134 /* BYTE_BLOB (pack 4) */
135 TEST_TYPE_SIZE (BYTE_BLOB, 8)
136 TEST_TYPE_ALIGN (BYTE_BLOB, 4)
137 TEST_FIELD_SIZE (BYTE_BLOB, clSize, 4)
138 TEST_FIELD_ALIGN (BYTE_BLOB, clSize, 4)
139 TEST_FIELD_OFFSET(BYTE_BLOB, clSize, 0)
140 TEST_FIELD_SIZE (BYTE_BLOB, abData, 1)
141 TEST_FIELD_ALIGN (BYTE_BLOB, abData, 1)
142 TEST_FIELD_OFFSET(BYTE_BLOB, abData, 4)
145 static void test_pack_BYTE_SIZEDARR(void)
147 /* BYTE_SIZEDARR (pack 4) */
148 TEST_TYPE_SIZE (BYTE_SIZEDARR, 8)
149 TEST_TYPE_ALIGN (BYTE_SIZEDARR, 4)
150 TEST_FIELD_SIZE (BYTE_SIZEDARR, clSize, 4)
151 TEST_FIELD_ALIGN (BYTE_SIZEDARR, clSize, 4)
152 TEST_FIELD_OFFSET(BYTE_SIZEDARR, clSize, 0)
153 TEST_FIELD_SIZE (BYTE_SIZEDARR, pData, 4)
154 TEST_FIELD_ALIGN (BYTE_SIZEDARR, pData, 4)
155 TEST_FIELD_OFFSET(BYTE_SIZEDARR, pData, 4)
158 static void test_pack_CLIPDATA(void)
160 /* CLIPDATA (pack 4) */
161 TEST_TYPE_SIZE (CLIPDATA, 12)
162 TEST_TYPE_ALIGN (CLIPDATA, 4)
163 TEST_FIELD_SIZE (CLIPDATA, cbSize, 4)
164 TEST_FIELD_ALIGN (CLIPDATA, cbSize, 4)
165 TEST_FIELD_OFFSET(CLIPDATA, cbSize, 0)
166 TEST_FIELD_SIZE (CLIPDATA, ulClipFmt, 4)
167 TEST_FIELD_ALIGN (CLIPDATA, ulClipFmt, 4)
168 TEST_FIELD_OFFSET(CLIPDATA, ulClipFmt, 4)
169 TEST_FIELD_SIZE (CLIPDATA, pClipData, 4)
170 TEST_FIELD_ALIGN (CLIPDATA, pClipData, 4)
171 TEST_FIELD_OFFSET(CLIPDATA, pClipData, 8)
174 static void test_pack_CLIPFORMAT(void)
177 TEST_TYPE_SIZE (CLIPFORMAT, 2)
178 TEST_TYPE_ALIGN (CLIPFORMAT, 2)
179 TEST_TYPE_UNSIGNED(CLIPFORMAT)
182 static void test_pack_COAUTHIDENTITY(void)
184 /* COAUTHIDENTITY (pack 4) */
185 TEST_TYPE_SIZE (COAUTHIDENTITY, 28)
186 TEST_TYPE_ALIGN (COAUTHIDENTITY, 4)
187 TEST_FIELD_SIZE (COAUTHIDENTITY, User, 4)
188 TEST_FIELD_ALIGN (COAUTHIDENTITY, User, 4)
189 TEST_FIELD_OFFSET(COAUTHIDENTITY, User, 0)
190 TEST_FIELD_SIZE (COAUTHIDENTITY, UserLength, 4)
191 TEST_FIELD_ALIGN (COAUTHIDENTITY, UserLength, 4)
192 TEST_FIELD_OFFSET(COAUTHIDENTITY, UserLength, 4)
193 TEST_FIELD_SIZE (COAUTHIDENTITY, Domain, 4)
194 TEST_FIELD_ALIGN (COAUTHIDENTITY, Domain, 4)
195 TEST_FIELD_OFFSET(COAUTHIDENTITY, Domain, 8)
196 TEST_FIELD_SIZE (COAUTHIDENTITY, DomainLength, 4)
197 TEST_FIELD_ALIGN (COAUTHIDENTITY, DomainLength, 4)
198 TEST_FIELD_OFFSET(COAUTHIDENTITY, DomainLength, 12)
199 TEST_FIELD_SIZE (COAUTHIDENTITY, Password, 4)
200 TEST_FIELD_ALIGN (COAUTHIDENTITY, Password, 4)
201 TEST_FIELD_OFFSET(COAUTHIDENTITY, Password, 16)
202 TEST_FIELD_SIZE (COAUTHIDENTITY, PasswordLength, 4)
203 TEST_FIELD_ALIGN (COAUTHIDENTITY, PasswordLength, 4)
204 TEST_FIELD_OFFSET(COAUTHIDENTITY, PasswordLength, 20)
205 TEST_FIELD_SIZE (COAUTHIDENTITY, Flags, 4)
206 TEST_FIELD_ALIGN (COAUTHIDENTITY, Flags, 4)
207 TEST_FIELD_OFFSET(COAUTHIDENTITY, Flags, 24)
210 static void test_pack_COAUTHINFO(void)
212 /* COAUTHINFO (pack 4) */
213 TEST_TYPE_SIZE (COAUTHINFO, 28)
214 TEST_TYPE_ALIGN (COAUTHINFO, 4)
215 TEST_FIELD_SIZE (COAUTHINFO, dwAuthnSvc, 4)
216 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnSvc, 4)
217 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnSvc, 0)
218 TEST_FIELD_SIZE (COAUTHINFO, dwAuthzSvc, 4)
219 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthzSvc, 4)
220 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthzSvc, 4)
221 TEST_FIELD_SIZE (COAUTHINFO, pwszServerPrincName, 4)
222 TEST_FIELD_ALIGN (COAUTHINFO, pwszServerPrincName, 4)
223 TEST_FIELD_OFFSET(COAUTHINFO, pwszServerPrincName, 8)
224 TEST_FIELD_SIZE (COAUTHINFO, dwAuthnLevel, 4)
225 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnLevel, 4)
226 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnLevel, 12)
227 TEST_FIELD_SIZE (COAUTHINFO, dwImpersonationLevel, 4)
228 TEST_FIELD_ALIGN (COAUTHINFO, dwImpersonationLevel, 4)
229 TEST_FIELD_OFFSET(COAUTHINFO, dwImpersonationLevel, 16)
230 TEST_FIELD_SIZE (COAUTHINFO, pAuthIdentityData, 4)
231 TEST_FIELD_ALIGN (COAUTHINFO, pAuthIdentityData, 4)
232 TEST_FIELD_OFFSET(COAUTHINFO, pAuthIdentityData, 20)
233 TEST_FIELD_SIZE (COAUTHINFO, dwCapabilities, 4)
234 TEST_FIELD_ALIGN (COAUTHINFO, dwCapabilities, 4)
235 TEST_FIELD_OFFSET(COAUTHINFO, dwCapabilities, 24)
238 static void test_pack_DATE(void)
241 TEST_TYPE_SIZE (DATE, 8)
242 TEST_TYPE_ALIGN (DATE, 8)
245 static void test_pack_DOUBLE(void)
248 TEST_TYPE_SIZE (DOUBLE, 8)
249 TEST_TYPE_ALIGN (DOUBLE, 8)
252 static void test_pack_DWORD_SIZEDARR(void)
254 /* DWORD_SIZEDARR (pack 4) */
255 TEST_TYPE_SIZE (DWORD_SIZEDARR, 8)
256 TEST_TYPE_ALIGN (DWORD_SIZEDARR, 4)
257 TEST_FIELD_SIZE (DWORD_SIZEDARR, clSize, 4)
258 TEST_FIELD_ALIGN (DWORD_SIZEDARR, clSize, 4)
259 TEST_FIELD_OFFSET(DWORD_SIZEDARR, clSize, 0)
260 TEST_FIELD_SIZE (DWORD_SIZEDARR, pData, 4)
261 TEST_FIELD_ALIGN (DWORD_SIZEDARR, pData, 4)
262 TEST_FIELD_OFFSET(DWORD_SIZEDARR, pData, 4)
265 static void test_pack_FLAGGED_BYTE_BLOB(void)
267 /* FLAGGED_BYTE_BLOB (pack 4) */
268 TEST_TYPE_SIZE (FLAGGED_BYTE_BLOB, 12)
269 TEST_TYPE_ALIGN (FLAGGED_BYTE_BLOB, 4)
270 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, fFlags, 4)
271 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, fFlags, 4)
272 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, fFlags, 0)
273 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, clSize, 4)
274 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, clSize, 4)
275 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, clSize, 4)
276 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, abData, 1)
277 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, abData, 1)
278 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, abData, 8)
281 static void test_pack_FLAGGED_WORD_BLOB(void)
283 /* FLAGGED_WORD_BLOB (pack 4) */
284 TEST_TYPE_SIZE (FLAGGED_WORD_BLOB, 12)
285 TEST_TYPE_ALIGN (FLAGGED_WORD_BLOB, 4)
286 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, fFlags, 4)
287 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, fFlags, 4)
288 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, fFlags, 0)
289 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, clSize, 4)
290 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, clSize, 4)
291 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, clSize, 4)
292 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, asData, 2)
293 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, asData, 2)
294 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, asData, 8)
297 static void test_pack_HMETAFILEPICT(void)
300 TEST_TYPE_SIZE (HMETAFILEPICT, 4)
301 TEST_TYPE_ALIGN (HMETAFILEPICT, 4)
304 static void test_pack_HYPER_SIZEDARR(void)
306 /* HYPER_SIZEDARR (pack 4) */
307 TEST_TYPE_SIZE (HYPER_SIZEDARR, 8)
308 TEST_TYPE_ALIGN (HYPER_SIZEDARR, 4)
309 TEST_FIELD_SIZE (HYPER_SIZEDARR, clSize, 4)
310 TEST_FIELD_ALIGN (HYPER_SIZEDARR, clSize, 4)
311 TEST_FIELD_OFFSET(HYPER_SIZEDARR, clSize, 0)
312 TEST_FIELD_SIZE (HYPER_SIZEDARR, pData, 4)
313 TEST_FIELD_ALIGN (HYPER_SIZEDARR, pData, 4)
314 TEST_FIELD_OFFSET(HYPER_SIZEDARR, pData, 4)
317 static void test_pack_LPBLOB(void)
320 TEST_TYPE_SIZE (LPBLOB, 4)
321 TEST_TYPE_ALIGN (LPBLOB, 4)
324 static void test_pack_LPBSTR(void)
327 TEST_TYPE_SIZE (LPBSTR, 4)
328 TEST_TYPE_ALIGN (LPBSTR, 4)
329 TEST_TARGET_SIZE (LPBSTR, 4)
330 TEST_TARGET_ALIGN(LPBSTR, 4)
333 static void test_pack_LPBSTRBLOB(void)
336 TEST_TYPE_SIZE (LPBSTRBLOB, 4)
337 TEST_TYPE_ALIGN (LPBSTRBLOB, 4)
340 static void test_pack_LPCOLESTR(void)
343 TEST_TYPE_SIZE (LPCOLESTR, 4)
344 TEST_TYPE_ALIGN (LPCOLESTR, 4)
345 TEST_TARGET_SIZE (LPCOLESTR, 2)
346 TEST_TARGET_ALIGN(LPCOLESTR, 2)
349 static void test_pack_LPCY(void)
352 TEST_TYPE_SIZE (LPCY, 4)
353 TEST_TYPE_ALIGN (LPCY, 4)
356 static void test_pack_LPDECIMAL(void)
359 TEST_TYPE_SIZE (LPDECIMAL, 4)
360 TEST_TYPE_ALIGN (LPDECIMAL, 4)
363 static void test_pack_LPOLESTR(void)
366 TEST_TYPE_SIZE (LPOLESTR, 4)
367 TEST_TYPE_ALIGN (LPOLESTR, 4)
368 TEST_TARGET_SIZE (LPOLESTR, 2)
369 TEST_TARGET_ALIGN(LPOLESTR, 2)
372 static void test_pack_OLECHAR(void)
375 TEST_TYPE_SIZE (OLECHAR, 2)
376 TEST_TYPE_ALIGN (OLECHAR, 2)
379 static void test_pack_PROPID(void)
382 TEST_TYPE_SIZE (PROPID, 4)
383 TEST_TYPE_ALIGN (PROPID, 4)
386 static void test_pack_RemHBITMAP(void)
388 /* RemHBITMAP (pack 4) */
389 TEST_TYPE_SIZE (RemHBITMAP, 8)
390 TEST_TYPE_ALIGN (RemHBITMAP, 4)
391 TEST_FIELD_SIZE (RemHBITMAP, cbData, 4)
392 TEST_FIELD_ALIGN (RemHBITMAP, cbData, 4)
393 TEST_FIELD_OFFSET(RemHBITMAP, cbData, 0)
394 TEST_FIELD_SIZE (RemHBITMAP, data, 1)
395 TEST_FIELD_ALIGN (RemHBITMAP, data, 1)
396 TEST_FIELD_OFFSET(RemHBITMAP, data, 4)
399 static void test_pack_RemHENHMETAFILE(void)
401 /* RemHENHMETAFILE (pack 4) */
402 TEST_TYPE_SIZE (RemHENHMETAFILE, 8)
403 TEST_TYPE_ALIGN (RemHENHMETAFILE, 4)
404 TEST_FIELD_SIZE (RemHENHMETAFILE, cbData, 4)
405 TEST_FIELD_ALIGN (RemHENHMETAFILE, cbData, 4)
406 TEST_FIELD_OFFSET(RemHENHMETAFILE, cbData, 0)
407 TEST_FIELD_SIZE (RemHENHMETAFILE, data, 1)
408 TEST_FIELD_ALIGN (RemHENHMETAFILE, data, 1)
409 TEST_FIELD_OFFSET(RemHENHMETAFILE, data, 4)
412 static void test_pack_RemHGLOBAL(void)
414 /* RemHGLOBAL (pack 4) */
415 TEST_TYPE_SIZE (RemHGLOBAL, 12)
416 TEST_TYPE_ALIGN (RemHGLOBAL, 4)
417 TEST_FIELD_SIZE (RemHGLOBAL, fNullHGlobal, 4)
418 TEST_FIELD_ALIGN (RemHGLOBAL, fNullHGlobal, 4)
419 TEST_FIELD_OFFSET(RemHGLOBAL, fNullHGlobal, 0)
420 TEST_FIELD_SIZE (RemHGLOBAL, cbData, 4)
421 TEST_FIELD_ALIGN (RemHGLOBAL, cbData, 4)
422 TEST_FIELD_OFFSET(RemHGLOBAL, cbData, 4)
423 TEST_FIELD_SIZE (RemHGLOBAL, data, 1)
424 TEST_FIELD_ALIGN (RemHGLOBAL, data, 1)
425 TEST_FIELD_OFFSET(RemHGLOBAL, data, 8)
428 static void test_pack_RemHMETAFILEPICT(void)
430 /* RemHMETAFILEPICT (pack 4) */
431 TEST_TYPE_SIZE (RemHMETAFILEPICT, 20)
432 TEST_TYPE_ALIGN (RemHMETAFILEPICT, 4)
433 TEST_FIELD_SIZE (RemHMETAFILEPICT, mm, 4)
434 TEST_FIELD_ALIGN (RemHMETAFILEPICT, mm, 4)
435 TEST_FIELD_OFFSET(RemHMETAFILEPICT, mm, 0)
436 TEST_FIELD_SIZE (RemHMETAFILEPICT, xExt, 4)
437 TEST_FIELD_ALIGN (RemHMETAFILEPICT, xExt, 4)
438 TEST_FIELD_OFFSET(RemHMETAFILEPICT, xExt, 4)
439 TEST_FIELD_SIZE (RemHMETAFILEPICT, yExt, 4)
440 TEST_FIELD_ALIGN (RemHMETAFILEPICT, yExt, 4)
441 TEST_FIELD_OFFSET(RemHMETAFILEPICT, yExt, 8)
442 TEST_FIELD_SIZE (RemHMETAFILEPICT, cbData, 4)
443 TEST_FIELD_ALIGN (RemHMETAFILEPICT, cbData, 4)
444 TEST_FIELD_OFFSET(RemHMETAFILEPICT, cbData, 12)
445 TEST_FIELD_SIZE (RemHMETAFILEPICT, data, 1)
446 TEST_FIELD_ALIGN (RemHMETAFILEPICT, data, 1)
447 TEST_FIELD_OFFSET(RemHMETAFILEPICT, data, 16)
450 static void test_pack_RemHPALETTE(void)
452 /* RemHPALETTE (pack 4) */
453 TEST_TYPE_SIZE (RemHPALETTE, 8)
454 TEST_TYPE_ALIGN (RemHPALETTE, 4)
455 TEST_FIELD_SIZE (RemHPALETTE, cbData, 4)
456 TEST_FIELD_ALIGN (RemHPALETTE, cbData, 4)
457 TEST_FIELD_OFFSET(RemHPALETTE, cbData, 0)
458 TEST_FIELD_SIZE (RemHPALETTE, data, 1)
459 TEST_FIELD_ALIGN (RemHPALETTE, data, 1)
460 TEST_FIELD_OFFSET(RemHPALETTE, data, 4)
463 static void test_pack_SCODE(void)
466 TEST_TYPE_SIZE (SCODE, 4)
467 TEST_TYPE_ALIGN (SCODE, 4)
470 static void test_pack_UP_BYTE_BLOB(void)
473 TEST_TYPE_SIZE (UP_BYTE_BLOB, 4)
474 TEST_TYPE_ALIGN (UP_BYTE_BLOB, 4)
475 TEST_TARGET_SIZE (UP_BYTE_BLOB, 8)
476 TEST_TARGET_ALIGN(UP_BYTE_BLOB, 4)
479 static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
481 /* UP_FLAGGED_BYTE_BLOB */
482 TEST_TYPE_SIZE (UP_FLAGGED_BYTE_BLOB, 4)
483 TEST_TYPE_ALIGN (UP_FLAGGED_BYTE_BLOB, 4)
484 TEST_TARGET_SIZE (UP_FLAGGED_BYTE_BLOB, 12)
485 TEST_TARGET_ALIGN(UP_FLAGGED_BYTE_BLOB, 4)
488 static void test_pack_UP_FLAGGED_WORD_BLOB(void)
490 /* UP_FLAGGED_WORD_BLOB */
491 TEST_TYPE_SIZE (UP_FLAGGED_WORD_BLOB, 4)
492 TEST_TYPE_ALIGN (UP_FLAGGED_WORD_BLOB, 4)
493 TEST_TARGET_SIZE (UP_FLAGGED_WORD_BLOB, 12)
494 TEST_TARGET_ALIGN(UP_FLAGGED_WORD_BLOB, 4)
497 static void test_pack_VARIANT_BOOL(void)
500 TEST_TYPE_SIZE (VARIANT_BOOL, 2)
501 TEST_TYPE_ALIGN (VARIANT_BOOL, 2)
502 TEST_TYPE_SIGNED(VARIANT_BOOL)
505 static void test_pack_VARTYPE(void)
508 TEST_TYPE_SIZE (VARTYPE, 2)
509 TEST_TYPE_ALIGN (VARTYPE, 2)
510 TEST_TYPE_UNSIGNED(VARTYPE)
513 static void test_pack_WORD_SIZEDARR(void)
515 /* WORD_SIZEDARR (pack 4) */
516 TEST_TYPE_SIZE (WORD_SIZEDARR, 8)
517 TEST_TYPE_ALIGN (WORD_SIZEDARR, 4)
518 TEST_FIELD_SIZE (WORD_SIZEDARR, clSize, 4)
519 TEST_FIELD_ALIGN (WORD_SIZEDARR, clSize, 4)
520 TEST_FIELD_OFFSET(WORD_SIZEDARR, clSize, 0)
521 TEST_FIELD_SIZE (WORD_SIZEDARR, pData, 4)
522 TEST_FIELD_ALIGN (WORD_SIZEDARR, pData, 4)
523 TEST_FIELD_OFFSET(WORD_SIZEDARR, pData, 4)
526 static void test_pack_remoteMETAFILEPICT(void)
528 /* remoteMETAFILEPICT (pack 4) */
529 TEST_TYPE_SIZE (remoteMETAFILEPICT, 16)
530 TEST_TYPE_ALIGN (remoteMETAFILEPICT, 4)
531 TEST_FIELD_SIZE (remoteMETAFILEPICT, mm, 4)
532 TEST_FIELD_ALIGN (remoteMETAFILEPICT, mm, 4)
533 TEST_FIELD_OFFSET(remoteMETAFILEPICT, mm, 0)
534 TEST_FIELD_SIZE (remoteMETAFILEPICT, xExt, 4)
535 TEST_FIELD_ALIGN (remoteMETAFILEPICT, xExt, 4)
536 TEST_FIELD_OFFSET(remoteMETAFILEPICT, xExt, 4)
537 TEST_FIELD_SIZE (remoteMETAFILEPICT, yExt, 4)
538 TEST_FIELD_ALIGN (remoteMETAFILEPICT, yExt, 4)
539 TEST_FIELD_OFFSET(remoteMETAFILEPICT, yExt, 8)
540 TEST_FIELD_SIZE (remoteMETAFILEPICT, hMF, 4)
541 TEST_FIELD_ALIGN (remoteMETAFILEPICT, hMF, 4)
542 TEST_FIELD_OFFSET(remoteMETAFILEPICT, hMF, 12)
545 static void test_pack_userBITMAP(void)
547 /* userBITMAP (pack 4) */
548 TEST_TYPE_SIZE (userBITMAP, 28)
549 TEST_TYPE_ALIGN (userBITMAP, 4)
550 TEST_FIELD_SIZE (userBITMAP, bmType, 4)
551 TEST_FIELD_ALIGN (userBITMAP, bmType, 4)
552 TEST_FIELD_OFFSET(userBITMAP, bmType, 0)
553 TEST_FIELD_SIZE (userBITMAP, bmWidth, 4)
554 TEST_FIELD_ALIGN (userBITMAP, bmWidth, 4)
555 TEST_FIELD_OFFSET(userBITMAP, bmWidth, 4)
556 TEST_FIELD_SIZE (userBITMAP, bmHeight, 4)
557 TEST_FIELD_ALIGN (userBITMAP, bmHeight, 4)
558 TEST_FIELD_OFFSET(userBITMAP, bmHeight, 8)
559 TEST_FIELD_SIZE (userBITMAP, bmWidthBytes, 4)
560 TEST_FIELD_ALIGN (userBITMAP, bmWidthBytes, 4)
561 TEST_FIELD_OFFSET(userBITMAP, bmWidthBytes, 12)
562 TEST_FIELD_SIZE (userBITMAP, bmPlanes, 2)
563 TEST_FIELD_ALIGN (userBITMAP, bmPlanes, 2)
564 TEST_FIELD_OFFSET(userBITMAP, bmPlanes, 16)
565 TEST_FIELD_SIZE (userBITMAP, bmBitsPixel, 2)
566 TEST_FIELD_ALIGN (userBITMAP, bmBitsPixel, 2)
567 TEST_FIELD_OFFSET(userBITMAP, bmBitsPixel, 18)
568 TEST_FIELD_SIZE (userBITMAP, cbSize, 4)
569 TEST_FIELD_ALIGN (userBITMAP, cbSize, 4)
570 TEST_FIELD_OFFSET(userBITMAP, cbSize, 20)
571 TEST_FIELD_SIZE (userBITMAP, pBuffer, 1)
572 TEST_FIELD_ALIGN (userBITMAP, pBuffer, 1)
573 TEST_FIELD_OFFSET(userBITMAP, pBuffer, 24)
576 static void test_pack_userCLIPFORMAT(void)
578 /* userCLIPFORMAT (pack 4) */
579 TEST_FIELD_SIZE (userCLIPFORMAT, fContext, 4)
580 TEST_FIELD_ALIGN (userCLIPFORMAT, fContext, 4)
581 TEST_FIELD_OFFSET(userCLIPFORMAT, fContext, 0)
584 static void test_pack_userHBITMAP(void)
586 /* userHBITMAP (pack 4) */
587 TEST_FIELD_SIZE (userHBITMAP, fContext, 4)
588 TEST_FIELD_ALIGN (userHBITMAP, fContext, 4)
589 TEST_FIELD_OFFSET(userHBITMAP, fContext, 0)
592 static void test_pack_userHENHMETAFILE(void)
594 /* userHENHMETAFILE (pack 4) */
595 TEST_FIELD_SIZE (userHENHMETAFILE, fContext, 4)
596 TEST_FIELD_ALIGN (userHENHMETAFILE, fContext, 4)
597 TEST_FIELD_OFFSET(userHENHMETAFILE, fContext, 0)
600 static void test_pack_userHGLOBAL(void)
602 /* userHGLOBAL (pack 4) */
603 TEST_FIELD_SIZE (userHGLOBAL, fContext, 4)
604 TEST_FIELD_ALIGN (userHGLOBAL, fContext, 4)
605 TEST_FIELD_OFFSET(userHGLOBAL, fContext, 0)
608 static void test_pack_userHMETAFILE(void)
610 /* userHMETAFILE (pack 4) */
611 TEST_FIELD_SIZE (userHMETAFILE, fContext, 4)
612 TEST_FIELD_ALIGN (userHMETAFILE, fContext, 4)
613 TEST_FIELD_OFFSET(userHMETAFILE, fContext, 0)
616 static void test_pack_userHMETAFILEPICT(void)
618 /* userHMETAFILEPICT (pack 4) */
619 TEST_FIELD_SIZE (userHMETAFILEPICT, fContext, 4)
620 TEST_FIELD_ALIGN (userHMETAFILEPICT, fContext, 4)
621 TEST_FIELD_OFFSET(userHMETAFILEPICT, fContext, 0)
624 static void test_pack_userHPALETTE(void)
626 /* userHPALETTE (pack 4) */
627 TEST_FIELD_SIZE (userHPALETTE, fContext, 4)
628 TEST_FIELD_ALIGN (userHPALETTE, fContext, 4)
629 TEST_FIELD_OFFSET(userHPALETTE, fContext, 0)
632 static void test_pack_wireBSTR(void)
635 TEST_TYPE_SIZE (wireBSTR, 4)
636 TEST_TYPE_ALIGN (wireBSTR, 4)
637 TEST_TARGET_SIZE (wireBSTR, 12)
638 TEST_TARGET_ALIGN(wireBSTR, 4)
641 static void test_pack_wireCLIPFORMAT(void)
644 TEST_TYPE_SIZE (wireCLIPFORMAT, 4)
645 TEST_TYPE_ALIGN (wireCLIPFORMAT, 4)
648 static void test_pack_wireHBITMAP(void)
651 TEST_TYPE_SIZE (wireHBITMAP, 4)
652 TEST_TYPE_ALIGN (wireHBITMAP, 4)
655 static void test_pack_wireHENHMETAFILE(void)
657 /* wireHENHMETAFILE */
658 TEST_TYPE_SIZE (wireHENHMETAFILE, 4)
659 TEST_TYPE_ALIGN (wireHENHMETAFILE, 4)
662 static void test_pack_wireHGLOBAL(void)
665 TEST_TYPE_SIZE (wireHGLOBAL, 4)
666 TEST_TYPE_ALIGN (wireHGLOBAL, 4)
669 static void test_pack_wireHMETAFILE(void)
672 TEST_TYPE_SIZE (wireHMETAFILE, 4)
673 TEST_TYPE_ALIGN (wireHMETAFILE, 4)
676 static void test_pack_wireHMETAFILEPICT(void)
678 /* wireHMETAFILEPICT */
679 TEST_TYPE_SIZE (wireHMETAFILEPICT, 4)
680 TEST_TYPE_ALIGN (wireHMETAFILEPICT, 4)
683 static void test_pack_wireHPALETTE(void)
686 TEST_TYPE_SIZE (wireHPALETTE, 4)
687 TEST_TYPE_ALIGN (wireHPALETTE, 4)
690 static void test_pack_CLSID(void)
693 TEST_TYPE_SIZE (CLSID, 16)
694 TEST_TYPE_ALIGN (CLSID, 4)
697 static void test_pack_FMTID(void)
700 TEST_TYPE_SIZE (FMTID, 16)
701 TEST_TYPE_ALIGN (FMTID, 4)
704 static void test_pack_IID(void)
707 TEST_TYPE_SIZE (IID, 16)
708 TEST_TYPE_ALIGN (IID, 4)
711 static void test_pack_APPBARDATA(void)
713 /* APPBARDATA (pack 1) */
714 TEST_TYPE_SIZE (APPBARDATA, 36)
715 TEST_TYPE_ALIGN (APPBARDATA, 1)
716 TEST_FIELD_SIZE (APPBARDATA, cbSize, 4)
717 TEST_FIELD_ALIGN (APPBARDATA, cbSize, 1)
718 TEST_FIELD_OFFSET(APPBARDATA, cbSize, 0)
719 TEST_FIELD_SIZE (APPBARDATA, hWnd, 4)
720 TEST_FIELD_ALIGN (APPBARDATA, hWnd, 1)
721 TEST_FIELD_OFFSET(APPBARDATA, hWnd, 4)
722 TEST_FIELD_SIZE (APPBARDATA, uCallbackMessage, 4)
723 TEST_FIELD_ALIGN (APPBARDATA, uCallbackMessage, 1)
724 TEST_FIELD_OFFSET(APPBARDATA, uCallbackMessage, 8)
725 TEST_FIELD_SIZE (APPBARDATA, uEdge, 4)
726 TEST_FIELD_ALIGN (APPBARDATA, uEdge, 1)
727 TEST_FIELD_OFFSET(APPBARDATA, uEdge, 12)
728 TEST_FIELD_SIZE (APPBARDATA, rc, 16)
729 TEST_FIELD_ALIGN (APPBARDATA, rc, 1)
730 TEST_FIELD_OFFSET(APPBARDATA, rc, 16)
731 TEST_FIELD_SIZE (APPBARDATA, lParam, 4)
732 TEST_FIELD_ALIGN (APPBARDATA, lParam, 1)
733 TEST_FIELD_OFFSET(APPBARDATA, lParam, 32)
736 static void test_pack_DRAGINFOA(void)
738 /* DRAGINFOA (pack 1) */
739 TEST_TYPE_SIZE (DRAGINFOA, 24)
740 TEST_TYPE_ALIGN (DRAGINFOA, 1)
741 TEST_FIELD_SIZE (DRAGINFOA, uSize, 4)
742 TEST_FIELD_ALIGN (DRAGINFOA, uSize, 1)
743 TEST_FIELD_OFFSET(DRAGINFOA, uSize, 0)
744 TEST_FIELD_SIZE (DRAGINFOA, pt, 8)
745 TEST_FIELD_ALIGN (DRAGINFOA, pt, 1)
746 TEST_FIELD_OFFSET(DRAGINFOA, pt, 4)
747 TEST_FIELD_SIZE (DRAGINFOA, fNC, 4)
748 TEST_FIELD_ALIGN (DRAGINFOA, fNC, 1)
749 TEST_FIELD_OFFSET(DRAGINFOA, fNC, 12)
750 TEST_FIELD_SIZE (DRAGINFOA, lpFileList, 4)
751 TEST_FIELD_ALIGN (DRAGINFOA, lpFileList, 1)
752 TEST_FIELD_OFFSET(DRAGINFOA, lpFileList, 16)
753 TEST_FIELD_SIZE (DRAGINFOA, grfKeyState, 4)
754 TEST_FIELD_ALIGN (DRAGINFOA, grfKeyState, 1)
755 TEST_FIELD_OFFSET(DRAGINFOA, grfKeyState, 20)
758 static void test_pack_DRAGINFOW(void)
760 /* DRAGINFOW (pack 1) */
761 TEST_TYPE_SIZE (DRAGINFOW, 24)
762 TEST_TYPE_ALIGN (DRAGINFOW, 1)
763 TEST_FIELD_SIZE (DRAGINFOW, uSize, 4)
764 TEST_FIELD_ALIGN (DRAGINFOW, uSize, 1)
765 TEST_FIELD_OFFSET(DRAGINFOW, uSize, 0)
766 TEST_FIELD_SIZE (DRAGINFOW, pt, 8)
767 TEST_FIELD_ALIGN (DRAGINFOW, pt, 1)
768 TEST_FIELD_OFFSET(DRAGINFOW, pt, 4)
769 TEST_FIELD_SIZE (DRAGINFOW, fNC, 4)
770 TEST_FIELD_ALIGN (DRAGINFOW, fNC, 1)
771 TEST_FIELD_OFFSET(DRAGINFOW, fNC, 12)
772 TEST_FIELD_SIZE (DRAGINFOW, lpFileList, 4)
773 TEST_FIELD_ALIGN (DRAGINFOW, lpFileList, 1)
774 TEST_FIELD_OFFSET(DRAGINFOW, lpFileList, 16)
775 TEST_FIELD_SIZE (DRAGINFOW, grfKeyState, 4)
776 TEST_FIELD_ALIGN (DRAGINFOW, grfKeyState, 1)
777 TEST_FIELD_OFFSET(DRAGINFOW, grfKeyState, 20)
780 static void test_pack_FILEOP_FLAGS(void)
783 TEST_TYPE_SIZE (FILEOP_FLAGS, 2)
784 TEST_TYPE_ALIGN (FILEOP_FLAGS, 2)
785 TEST_TYPE_UNSIGNED(FILEOP_FLAGS)
788 static void test_pack_LPDRAGINFOA(void)
791 TEST_TYPE_SIZE (LPDRAGINFOA, 4)
792 TEST_TYPE_ALIGN (LPDRAGINFOA, 4)
793 TEST_TARGET_SIZE (LPDRAGINFOA, 24)
794 TEST_TARGET_ALIGN(LPDRAGINFOA, 1)
797 static void test_pack_LPDRAGINFOW(void)
800 TEST_TYPE_SIZE (LPDRAGINFOW, 4)
801 TEST_TYPE_ALIGN (LPDRAGINFOW, 4)
802 TEST_TARGET_SIZE (LPDRAGINFOW, 24)
803 TEST_TARGET_ALIGN(LPDRAGINFOW, 1)
806 static void test_pack_LPSHELLEXECUTEINFOA(void)
808 /* LPSHELLEXECUTEINFOA */
809 TEST_TYPE_SIZE (LPSHELLEXECUTEINFOA, 4)
810 TEST_TYPE_ALIGN (LPSHELLEXECUTEINFOA, 4)
813 static void test_pack_LPSHELLEXECUTEINFOW(void)
815 /* LPSHELLEXECUTEINFOW */
816 TEST_TYPE_SIZE (LPSHELLEXECUTEINFOW, 4)
817 TEST_TYPE_ALIGN (LPSHELLEXECUTEINFOW, 4)
820 static void test_pack_LPSHFILEOPSTRUCTA(void)
822 /* LPSHFILEOPSTRUCTA */
823 TEST_TYPE_SIZE (LPSHFILEOPSTRUCTA, 4)
824 TEST_TYPE_ALIGN (LPSHFILEOPSTRUCTA, 4)
825 TEST_TARGET_SIZE (LPSHFILEOPSTRUCTA, 30)
826 TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTA, 1)
829 static void test_pack_LPSHFILEOPSTRUCTW(void)
831 /* LPSHFILEOPSTRUCTW */
832 TEST_TYPE_SIZE (LPSHFILEOPSTRUCTW, 4)
833 TEST_TYPE_ALIGN (LPSHFILEOPSTRUCTW, 4)
834 TEST_TARGET_SIZE (LPSHFILEOPSTRUCTW, 30)
835 TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTW, 1)
838 static void test_pack_LPSHNAMEMAPPINGA(void)
840 /* LPSHNAMEMAPPINGA */
841 TEST_TYPE_SIZE (LPSHNAMEMAPPINGA, 4)
842 TEST_TYPE_ALIGN (LPSHNAMEMAPPINGA, 4)
843 TEST_TARGET_SIZE (LPSHNAMEMAPPINGA, 16)
844 TEST_TARGET_ALIGN(LPSHNAMEMAPPINGA, 1)
847 static void test_pack_LPSHNAMEMAPPINGW(void)
849 /* LPSHNAMEMAPPINGW */
850 TEST_TYPE_SIZE (LPSHNAMEMAPPINGW, 4)
851 TEST_TYPE_ALIGN (LPSHNAMEMAPPINGW, 4)
852 TEST_TARGET_SIZE (LPSHNAMEMAPPINGW, 16)
853 TEST_TARGET_ALIGN(LPSHNAMEMAPPINGW, 1)
856 static void test_pack_NOTIFYICONDATAA(void)
858 /* NOTIFYICONDATAA (pack 1) */
859 TEST_FIELD_SIZE (NOTIFYICONDATAA, cbSize, 4)
860 TEST_FIELD_ALIGN (NOTIFYICONDATAA, cbSize, 1)
861 TEST_FIELD_OFFSET(NOTIFYICONDATAA, cbSize, 0)
862 TEST_FIELD_SIZE (NOTIFYICONDATAA, hWnd, 4)
863 TEST_FIELD_ALIGN (NOTIFYICONDATAA, hWnd, 1)
864 TEST_FIELD_OFFSET(NOTIFYICONDATAA, hWnd, 4)
865 TEST_FIELD_SIZE (NOTIFYICONDATAA, uID, 4)
866 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uID, 1)
867 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uID, 8)
868 TEST_FIELD_SIZE (NOTIFYICONDATAA, uFlags, 4)
869 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uFlags, 1)
870 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uFlags, 12)
871 TEST_FIELD_SIZE (NOTIFYICONDATAA, uCallbackMessage, 4)
872 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uCallbackMessage, 1)
873 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uCallbackMessage, 16)
874 TEST_FIELD_SIZE (NOTIFYICONDATAA, hIcon, 4)
875 TEST_FIELD_ALIGN (NOTIFYICONDATAA, hIcon, 1)
876 TEST_FIELD_OFFSET(NOTIFYICONDATAA, hIcon, 20)
877 TEST_FIELD_SIZE (NOTIFYICONDATAA, szTip, 128)
878 TEST_FIELD_ALIGN (NOTIFYICONDATAA, szTip, 1)
879 TEST_FIELD_OFFSET(NOTIFYICONDATAA, szTip, 24)
880 TEST_FIELD_SIZE (NOTIFYICONDATAA, dwState, 4)
881 TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwState, 1)
882 TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwState, 152)
883 TEST_FIELD_SIZE (NOTIFYICONDATAA, dwStateMask, 4)
884 TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwStateMask, 1)
885 TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwStateMask, 156)
886 TEST_FIELD_SIZE (NOTIFYICONDATAA, szInfo, 256)
887 TEST_FIELD_ALIGN (NOTIFYICONDATAA, szInfo, 1)
888 TEST_FIELD_OFFSET(NOTIFYICONDATAA, szInfo, 160)
891 static void test_pack_NOTIFYICONDATAW(void)
893 /* NOTIFYICONDATAW (pack 1) */
894 TEST_FIELD_SIZE (NOTIFYICONDATAW, cbSize, 4)
895 TEST_FIELD_ALIGN (NOTIFYICONDATAW, cbSize, 1)
896 TEST_FIELD_OFFSET(NOTIFYICONDATAW, cbSize, 0)
897 TEST_FIELD_SIZE (NOTIFYICONDATAW, hWnd, 4)
898 TEST_FIELD_ALIGN (NOTIFYICONDATAW, hWnd, 1)
899 TEST_FIELD_OFFSET(NOTIFYICONDATAW, hWnd, 4)
900 TEST_FIELD_SIZE (NOTIFYICONDATAW, uID, 4)
901 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uID, 1)
902 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uID, 8)
903 TEST_FIELD_SIZE (NOTIFYICONDATAW, uFlags, 4)
904 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uFlags, 1)
905 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uFlags, 12)
906 TEST_FIELD_SIZE (NOTIFYICONDATAW, uCallbackMessage, 4)
907 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uCallbackMessage, 1)
908 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uCallbackMessage, 16)
909 TEST_FIELD_SIZE (NOTIFYICONDATAW, hIcon, 4)
910 TEST_FIELD_ALIGN (NOTIFYICONDATAW, hIcon, 1)
911 TEST_FIELD_OFFSET(NOTIFYICONDATAW, hIcon, 20)
912 TEST_FIELD_SIZE (NOTIFYICONDATAW, szTip, 256)
913 TEST_FIELD_ALIGN (NOTIFYICONDATAW, szTip, 1)
914 TEST_FIELD_OFFSET(NOTIFYICONDATAW, szTip, 24)
915 TEST_FIELD_SIZE (NOTIFYICONDATAW, dwState, 4)
916 TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwState, 1)
917 TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwState, 280)
918 TEST_FIELD_SIZE (NOTIFYICONDATAW, dwStateMask, 4)
919 TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwStateMask, 1)
920 TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwStateMask, 284)
921 TEST_FIELD_SIZE (NOTIFYICONDATAW, szInfo, 512)
922 TEST_FIELD_ALIGN (NOTIFYICONDATAW, szInfo, 1)
923 TEST_FIELD_OFFSET(NOTIFYICONDATAW, szInfo, 288)
926 static void test_pack_PAPPBARDATA(void)
929 TEST_TYPE_SIZE (PAPPBARDATA, 4)
930 TEST_TYPE_ALIGN (PAPPBARDATA, 4)
931 TEST_TARGET_SIZE (PAPPBARDATA, 36)
932 TEST_TARGET_ALIGN(PAPPBARDATA, 1)
935 static void test_pack_PNOTIFYICONDATAA(void)
937 /* PNOTIFYICONDATAA */
938 TEST_TYPE_SIZE (PNOTIFYICONDATAA, 4)
939 TEST_TYPE_ALIGN (PNOTIFYICONDATAA, 4)
942 static void test_pack_PNOTIFYICONDATAW(void)
944 /* PNOTIFYICONDATAW */
945 TEST_TYPE_SIZE (PNOTIFYICONDATAW, 4)
946 TEST_TYPE_ALIGN (PNOTIFYICONDATAW, 4)
949 static void test_pack_PRINTEROP_FLAGS(void)
951 /* PRINTEROP_FLAGS */
952 TEST_TYPE_SIZE (PRINTEROP_FLAGS, 2)
953 TEST_TYPE_ALIGN (PRINTEROP_FLAGS, 2)
954 TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS)
957 static void test_pack_SHELLEXECUTEINFOA(void)
959 /* SHELLEXECUTEINFOA (pack 1) */
960 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, cbSize, 4)
961 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, cbSize, 1)
962 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, cbSize, 0)
963 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, fMask, 4)
964 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, fMask, 1)
965 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, fMask, 4)
966 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, hwnd, 4)
967 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hwnd, 1)
968 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hwnd, 8)
969 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpVerb, 4)
970 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpVerb, 1)
971 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpVerb, 12)
972 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpFile, 4)
973 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpFile, 1)
974 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpFile, 16)
975 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpParameters, 4)
976 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpParameters, 1)
977 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpParameters, 20)
978 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpDirectory, 4)
979 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpDirectory, 1)
980 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpDirectory, 24)
981 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, nShow, 4)
982 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, nShow, 1)
983 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, nShow, 28)
984 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, hInstApp, 4)
985 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hInstApp, 1)
986 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hInstApp, 32)
987 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpIDList, 4)
988 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpIDList, 1)
989 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpIDList, 36)
990 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpClass, 4)
991 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpClass, 1)
992 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpClass, 40)
993 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, hkeyClass, 4)
994 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hkeyClass, 1)
995 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hkeyClass, 44)
996 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, dwHotKey, 4)
997 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, dwHotKey, 1)
998 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, dwHotKey, 48)
1001 static void test_pack_SHELLEXECUTEINFOW(void)
1003 /* SHELLEXECUTEINFOW (pack 1) */
1004 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, cbSize, 4)
1005 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, cbSize, 1)
1006 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, cbSize, 0)
1007 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, fMask, 4)
1008 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, fMask, 1)
1009 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, fMask, 4)
1010 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, hwnd, 4)
1011 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hwnd, 1)
1012 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hwnd, 8)
1013 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpVerb, 4)
1014 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpVerb, 1)
1015 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpVerb, 12)
1016 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpFile, 4)
1017 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpFile, 1)
1018 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpFile, 16)
1019 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpParameters, 4)
1020 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpParameters, 1)
1021 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpParameters, 20)
1022 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpDirectory, 4)
1023 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpDirectory, 1)
1024 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpDirectory, 24)
1025 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, nShow, 4)
1026 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, nShow, 1)
1027 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, nShow, 28)
1028 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, hInstApp, 4)
1029 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hInstApp, 1)
1030 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hInstApp, 32)
1031 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpIDList, 4)
1032 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpIDList, 1)
1033 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpIDList, 36)
1034 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpClass, 4)
1035 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpClass, 1)
1036 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpClass, 40)
1037 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, hkeyClass, 4)
1038 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hkeyClass, 1)
1039 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hkeyClass, 44)
1040 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, dwHotKey, 4)
1041 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, dwHotKey, 1)
1042 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, dwHotKey, 48)
1045 static void test_pack_SHFILEINFOA(void)
1047 /* SHFILEINFOA (pack 1) */
1048 TEST_TYPE_SIZE (SHFILEINFOA, 352)
1049 TEST_TYPE_ALIGN (SHFILEINFOA, 1)
1050 TEST_FIELD_SIZE (SHFILEINFOA, hIcon, 4)
1051 TEST_FIELD_ALIGN (SHFILEINFOA, hIcon, 1)
1052 TEST_FIELD_OFFSET(SHFILEINFOA, hIcon, 0)
1053 TEST_FIELD_SIZE (SHFILEINFOA, iIcon, 4)
1054 TEST_FIELD_ALIGN (SHFILEINFOA, iIcon, 1)
1055 TEST_FIELD_OFFSET(SHFILEINFOA, iIcon, 4)
1056 TEST_FIELD_SIZE (SHFILEINFOA, dwAttributes, 4)
1057 TEST_FIELD_ALIGN (SHFILEINFOA, dwAttributes, 1)
1058 TEST_FIELD_OFFSET(SHFILEINFOA, dwAttributes, 8)
1059 TEST_FIELD_SIZE (SHFILEINFOA, szDisplayName, 260)
1060 TEST_FIELD_ALIGN (SHFILEINFOA, szDisplayName, 1)
1061 TEST_FIELD_OFFSET(SHFILEINFOA, szDisplayName, 12)
1062 TEST_FIELD_SIZE (SHFILEINFOA, szTypeName, 80)
1063 TEST_FIELD_ALIGN (SHFILEINFOA, szTypeName, 1)
1064 TEST_FIELD_OFFSET(SHFILEINFOA, szTypeName, 272)
1067 static void test_pack_SHFILEINFOW(void)
1069 /* SHFILEINFOW (pack 1) */
1070 TEST_TYPE_SIZE (SHFILEINFOW, 692)
1071 TEST_TYPE_ALIGN (SHFILEINFOW, 1)
1072 TEST_FIELD_SIZE (SHFILEINFOW, hIcon, 4)
1073 TEST_FIELD_ALIGN (SHFILEINFOW, hIcon, 1)
1074 TEST_FIELD_OFFSET(SHFILEINFOW, hIcon, 0)
1075 TEST_FIELD_SIZE (SHFILEINFOW, iIcon, 4)
1076 TEST_FIELD_ALIGN (SHFILEINFOW, iIcon, 1)
1077 TEST_FIELD_OFFSET(SHFILEINFOW, iIcon, 4)
1078 TEST_FIELD_SIZE (SHFILEINFOW, dwAttributes, 4)
1079 TEST_FIELD_ALIGN (SHFILEINFOW, dwAttributes, 1)
1080 TEST_FIELD_OFFSET(SHFILEINFOW, dwAttributes, 8)
1081 TEST_FIELD_SIZE (SHFILEINFOW, szDisplayName, 520)
1082 TEST_FIELD_ALIGN (SHFILEINFOW, szDisplayName, 1)
1083 TEST_FIELD_OFFSET(SHFILEINFOW, szDisplayName, 12)
1084 TEST_FIELD_SIZE (SHFILEINFOW, szTypeName, 160)
1085 TEST_FIELD_ALIGN (SHFILEINFOW, szTypeName, 1)
1086 TEST_FIELD_OFFSET(SHFILEINFOW, szTypeName, 532)
1089 static void test_pack_SHFILEOPSTRUCTA(void)
1091 /* SHFILEOPSTRUCTA (pack 1) */
1092 TEST_TYPE_SIZE (SHFILEOPSTRUCTA, 30)
1093 TEST_TYPE_ALIGN (SHFILEOPSTRUCTA, 1)
1094 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, hwnd, 4)
1095 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hwnd, 1)
1096 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hwnd, 0)
1097 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, wFunc, 4)
1098 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, wFunc, 1)
1099 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, wFunc, 4)
1100 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, pFrom, 4)
1101 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pFrom, 1)
1102 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pFrom, 8)
1103 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, pTo, 4)
1104 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pTo, 1)
1105 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pTo, 12)
1106 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, fFlags, 2)
1107 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fFlags, 1)
1108 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fFlags, 16)
1109 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
1110 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fAnyOperationsAborted, 1)
1111 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fAnyOperationsAborted, 18)
1112 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, hNameMappings, 4)
1113 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hNameMappings, 1)
1114 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hNameMappings, 22)
1115 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, lpszProgressTitle, 4)
1116 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, lpszProgressTitle, 1)
1117 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, lpszProgressTitle, 26)
1120 static void test_pack_SHFILEOPSTRUCTW(void)
1122 /* SHFILEOPSTRUCTW (pack 1) */
1123 TEST_TYPE_SIZE (SHFILEOPSTRUCTW, 30)
1124 TEST_TYPE_ALIGN (SHFILEOPSTRUCTW, 1)
1125 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, hwnd, 4)
1126 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hwnd, 1)
1127 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hwnd, 0)
1128 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, wFunc, 4)
1129 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, wFunc, 1)
1130 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, wFunc, 4)
1131 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, pFrom, 4)
1132 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pFrom, 1)
1133 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pFrom, 8)
1134 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, pTo, 4)
1135 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pTo, 1)
1136 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pTo, 12)
1137 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, fFlags, 2)
1138 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fFlags, 1)
1139 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fFlags, 16)
1140 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
1141 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fAnyOperationsAborted, 1)
1142 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fAnyOperationsAborted, 18)
1143 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, hNameMappings, 4)
1144 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hNameMappings, 1)
1145 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hNameMappings, 22)
1146 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, lpszProgressTitle, 4)
1147 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, lpszProgressTitle, 1)
1148 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, lpszProgressTitle, 26)
1151 static void test_pack_SHNAMEMAPPINGA(void)
1153 /* SHNAMEMAPPINGA (pack 1) */
1154 TEST_TYPE_SIZE (SHNAMEMAPPINGA, 16)
1155 TEST_TYPE_ALIGN (SHNAMEMAPPINGA, 1)
1156 TEST_FIELD_SIZE (SHNAMEMAPPINGA, pszOldPath, 4)
1157 TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszOldPath, 1)
1158 TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszOldPath, 0)
1159 TEST_FIELD_SIZE (SHNAMEMAPPINGA, pszNewPath, 4)
1160 TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszNewPath, 1)
1161 TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszNewPath, 4)
1162 TEST_FIELD_SIZE (SHNAMEMAPPINGA, cchOldPath, 4)
1163 TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchOldPath, 1)
1164 TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchOldPath, 8)
1165 TEST_FIELD_SIZE (SHNAMEMAPPINGA, cchNewPath, 4)
1166 TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchNewPath, 1)
1167 TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchNewPath, 12)
1170 static void test_pack_SHNAMEMAPPINGW(void)
1172 /* SHNAMEMAPPINGW (pack 1) */
1173 TEST_TYPE_SIZE (SHNAMEMAPPINGW, 16)
1174 TEST_TYPE_ALIGN (SHNAMEMAPPINGW, 1)
1175 TEST_FIELD_SIZE (SHNAMEMAPPINGW, pszOldPath, 4)
1176 TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszOldPath, 1)
1177 TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszOldPath, 0)
1178 TEST_FIELD_SIZE (SHNAMEMAPPINGW, pszNewPath, 4)
1179 TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszNewPath, 1)
1180 TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszNewPath, 4)
1181 TEST_FIELD_SIZE (SHNAMEMAPPINGW, cchOldPath, 4)
1182 TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchOldPath, 1)
1183 TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchOldPath, 8)
1184 TEST_FIELD_SIZE (SHNAMEMAPPINGW, cchNewPath, 4)
1185 TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchNewPath, 1)
1186 TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchNewPath, 12)
1189 static void test_pack_ITEMIDLIST(void)
1191 /* ITEMIDLIST (pack 1) */
1192 TEST_TYPE_SIZE (ITEMIDLIST, 3)
1193 TEST_TYPE_ALIGN (ITEMIDLIST, 1)
1194 TEST_FIELD_SIZE (ITEMIDLIST, mkid, 3)
1195 TEST_FIELD_ALIGN (ITEMIDLIST, mkid, 1)
1196 TEST_FIELD_OFFSET(ITEMIDLIST, mkid, 0)
1199 static void test_pack_LPCITEMIDLIST(void)
1202 TEST_TYPE_SIZE (LPCITEMIDLIST, 4)
1203 TEST_TYPE_ALIGN (LPCITEMIDLIST, 4)
1204 TEST_TARGET_SIZE (LPCITEMIDLIST, 3)
1205 TEST_TARGET_ALIGN(LPCITEMIDLIST, 1)
1208 static void test_pack_LPCSHITEMID(void)
1211 TEST_TYPE_SIZE (LPCSHITEMID, 4)
1212 TEST_TYPE_ALIGN (LPCSHITEMID, 4)
1213 TEST_TARGET_SIZE (LPCSHITEMID, 3)
1214 TEST_TARGET_ALIGN(LPCSHITEMID, 1)
1217 static void test_pack_LPITEMIDLIST(void)
1220 TEST_TYPE_SIZE (LPITEMIDLIST, 4)
1221 TEST_TYPE_ALIGN (LPITEMIDLIST, 4)
1224 static void test_pack_LPSHELLDETAILS(void)
1226 /* LPSHELLDETAILS */
1227 TEST_TYPE_SIZE (LPSHELLDETAILS, 4)
1228 TEST_TYPE_ALIGN (LPSHELLDETAILS, 4)
1231 static void test_pack_LPSHITEMID(void)
1234 TEST_TYPE_SIZE (LPSHITEMID, 4)
1235 TEST_TYPE_ALIGN (LPSHITEMID, 4)
1238 static void test_pack_LPSTRRET(void)
1241 TEST_TYPE_SIZE (LPSTRRET, 4)
1242 TEST_TYPE_ALIGN (LPSTRRET, 4)
1245 static void test_pack_SHELLDETAILS(void)
1247 /* SHELLDETAILS (pack 1) */
1248 TEST_FIELD_SIZE (SHELLDETAILS, fmt, 4)
1249 TEST_FIELD_ALIGN (SHELLDETAILS, fmt, 1)
1250 TEST_FIELD_OFFSET(SHELLDETAILS, fmt, 0)
1251 TEST_FIELD_SIZE (SHELLDETAILS, cxChar, 4)
1252 TEST_FIELD_ALIGN (SHELLDETAILS, cxChar, 1)
1253 TEST_FIELD_OFFSET(SHELLDETAILS, cxChar, 4)
1256 static void test_pack_SHITEMID(void)
1258 /* SHITEMID (pack 1) */
1259 TEST_TYPE_SIZE (SHITEMID, 3)
1260 TEST_TYPE_ALIGN (SHITEMID, 1)
1261 TEST_FIELD_SIZE (SHITEMID, cb, 2)
1262 TEST_FIELD_ALIGN (SHITEMID, cb, 1)
1263 TEST_FIELD_OFFSET(SHITEMID, cb, 0)
1264 TEST_FIELD_SIZE (SHITEMID, abID, 1)
1265 TEST_FIELD_ALIGN (SHITEMID, abID, 1)
1266 TEST_FIELD_OFFSET(SHITEMID, abID, 2)
1269 static void test_pack_STRRET(void)
1271 /* STRRET (pack 4) */
1272 TEST_FIELD_SIZE (STRRET, uType, 4)
1273 TEST_FIELD_ALIGN (STRRET, uType, 4)
1274 TEST_FIELD_OFFSET(STRRET, uType, 0)
1277 static void test_pack_AUTO_SCROLL_DATA(void)
1279 /* AUTO_SCROLL_DATA (pack 1) */
1280 TEST_TYPE_SIZE (AUTO_SCROLL_DATA, 48)
1281 TEST_TYPE_ALIGN (AUTO_SCROLL_DATA, 1)
1282 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, iNextSample, 4)
1283 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, iNextSample, 1)
1284 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, iNextSample, 0)
1285 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, dwLastScroll, 4)
1286 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwLastScroll, 1)
1287 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwLastScroll, 4)
1288 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, bFull, 4)
1289 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, bFull, 1)
1290 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, bFull, 8)
1291 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, pts, 24)
1292 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, pts, 1)
1293 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, pts, 12)
1294 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, dwTimes, 12)
1295 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwTimes, 1)
1296 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwTimes, 36)
1299 static void test_pack_BFFCALLBACK(void)
1302 TEST_TYPE_SIZE (BFFCALLBACK, 4)
1303 TEST_TYPE_ALIGN (BFFCALLBACK, 4)
1306 static void test_pack_BROWSEINFOA(void)
1308 /* BROWSEINFOA (pack 8) */
1309 TEST_TYPE_SIZE (BROWSEINFOA, 32)
1310 TEST_TYPE_ALIGN (BROWSEINFOA, 4)
1311 TEST_FIELD_SIZE (BROWSEINFOA, hwndOwner, 4)
1312 TEST_FIELD_ALIGN (BROWSEINFOA, hwndOwner, 4)
1313 TEST_FIELD_OFFSET(BROWSEINFOA, hwndOwner, 0)
1314 TEST_FIELD_SIZE (BROWSEINFOA, pidlRoot, 4)
1315 TEST_FIELD_ALIGN (BROWSEINFOA, pidlRoot, 4)
1316 TEST_FIELD_OFFSET(BROWSEINFOA, pidlRoot, 4)
1317 TEST_FIELD_SIZE (BROWSEINFOA, pszDisplayName, 4)
1318 TEST_FIELD_ALIGN (BROWSEINFOA, pszDisplayName, 4)
1319 TEST_FIELD_OFFSET(BROWSEINFOA, pszDisplayName, 8)
1320 TEST_FIELD_SIZE (BROWSEINFOA, lpszTitle, 4)
1321 TEST_FIELD_ALIGN (BROWSEINFOA, lpszTitle, 4)
1322 TEST_FIELD_OFFSET(BROWSEINFOA, lpszTitle, 12)
1323 TEST_FIELD_SIZE (BROWSEINFOA, ulFlags, 4)
1324 TEST_FIELD_ALIGN (BROWSEINFOA, ulFlags, 4)
1325 TEST_FIELD_OFFSET(BROWSEINFOA, ulFlags, 16)
1326 TEST_FIELD_SIZE (BROWSEINFOA, lpfn, 4)
1327 TEST_FIELD_ALIGN (BROWSEINFOA, lpfn, 4)
1328 TEST_FIELD_OFFSET(BROWSEINFOA, lpfn, 20)
1329 TEST_FIELD_SIZE (BROWSEINFOA, lParam, 4)
1330 TEST_FIELD_ALIGN (BROWSEINFOA, lParam, 4)
1331 TEST_FIELD_OFFSET(BROWSEINFOA, lParam, 24)
1332 TEST_FIELD_SIZE (BROWSEINFOA, iImage, 4)
1333 TEST_FIELD_ALIGN (BROWSEINFOA, iImage, 4)
1334 TEST_FIELD_OFFSET(BROWSEINFOA, iImage, 28)
1337 static void test_pack_BROWSEINFOW(void)
1339 /* BROWSEINFOW (pack 8) */
1340 TEST_TYPE_SIZE (BROWSEINFOW, 32)
1341 TEST_TYPE_ALIGN (BROWSEINFOW, 4)
1342 TEST_FIELD_SIZE (BROWSEINFOW, hwndOwner, 4)
1343 TEST_FIELD_ALIGN (BROWSEINFOW, hwndOwner, 4)
1344 TEST_FIELD_OFFSET(BROWSEINFOW, hwndOwner, 0)
1345 TEST_FIELD_SIZE (BROWSEINFOW, pidlRoot, 4)
1346 TEST_FIELD_ALIGN (BROWSEINFOW, pidlRoot, 4)
1347 TEST_FIELD_OFFSET(BROWSEINFOW, pidlRoot, 4)
1348 TEST_FIELD_SIZE (BROWSEINFOW, pszDisplayName, 4)
1349 TEST_FIELD_ALIGN (BROWSEINFOW, pszDisplayName, 4)
1350 TEST_FIELD_OFFSET(BROWSEINFOW, pszDisplayName, 8)
1351 TEST_FIELD_SIZE (BROWSEINFOW, lpszTitle, 4)
1352 TEST_FIELD_ALIGN (BROWSEINFOW, lpszTitle, 4)
1353 TEST_FIELD_OFFSET(BROWSEINFOW, lpszTitle, 12)
1354 TEST_FIELD_SIZE (BROWSEINFOW, ulFlags, 4)
1355 TEST_FIELD_ALIGN (BROWSEINFOW, ulFlags, 4)
1356 TEST_FIELD_OFFSET(BROWSEINFOW, ulFlags, 16)
1357 TEST_FIELD_SIZE (BROWSEINFOW, lpfn, 4)
1358 TEST_FIELD_ALIGN (BROWSEINFOW, lpfn, 4)
1359 TEST_FIELD_OFFSET(BROWSEINFOW, lpfn, 20)
1360 TEST_FIELD_SIZE (BROWSEINFOW, lParam, 4)
1361 TEST_FIELD_ALIGN (BROWSEINFOW, lParam, 4)
1362 TEST_FIELD_OFFSET(BROWSEINFOW, lParam, 24)
1363 TEST_FIELD_SIZE (BROWSEINFOW, iImage, 4)
1364 TEST_FIELD_ALIGN (BROWSEINFOW, iImage, 4)
1365 TEST_FIELD_OFFSET(BROWSEINFOW, iImage, 28)
1368 static void test_pack_CABINETSTATE(void)
1370 /* CABINETSTATE (pack 1) */
1371 TEST_TYPE_SIZE (CABINETSTATE, 12)
1372 TEST_TYPE_ALIGN (CABINETSTATE, 1)
1373 TEST_FIELD_SIZE (CABINETSTATE, cLength, 2)
1374 TEST_FIELD_ALIGN (CABINETSTATE, cLength, 1)
1375 TEST_FIELD_OFFSET(CABINETSTATE, cLength, 0)
1376 TEST_FIELD_SIZE (CABINETSTATE, nVersion, 2)
1377 TEST_FIELD_ALIGN (CABINETSTATE, nVersion, 1)
1378 TEST_FIELD_OFFSET(CABINETSTATE, nVersion, 2)
1379 TEST_FIELD_SIZE (CABINETSTATE, fMenuEnumFilter, 4)
1380 TEST_FIELD_ALIGN (CABINETSTATE, fMenuEnumFilter, 1)
1381 TEST_FIELD_OFFSET(CABINETSTATE, fMenuEnumFilter, 8)
1384 static void test_pack_CIDA(void)
1387 TEST_TYPE_SIZE (CIDA, 8)
1388 TEST_TYPE_ALIGN (CIDA, 1)
1389 TEST_FIELD_SIZE (CIDA, cidl, 4)
1390 TEST_FIELD_ALIGN (CIDA, cidl, 1)
1391 TEST_FIELD_OFFSET(CIDA, cidl, 0)
1392 TEST_FIELD_SIZE (CIDA, aoffset, 4)
1393 TEST_FIELD_ALIGN (CIDA, aoffset, 1)
1394 TEST_FIELD_OFFSET(CIDA, aoffset, 4)
1397 static void test_pack_CSFV(void)
1400 TEST_FIELD_SIZE (CSFV, cbSize, 4)
1401 TEST_FIELD_ALIGN (CSFV, cbSize, 1)
1402 TEST_FIELD_OFFSET(CSFV, cbSize, 0)
1403 TEST_FIELD_SIZE (CSFV, pshf, 4)
1404 TEST_FIELD_ALIGN (CSFV, pshf, 1)
1405 TEST_FIELD_OFFSET(CSFV, pshf, 4)
1406 TEST_FIELD_SIZE (CSFV, psvOuter, 4)
1407 TEST_FIELD_ALIGN (CSFV, psvOuter, 1)
1408 TEST_FIELD_OFFSET(CSFV, psvOuter, 8)
1409 TEST_FIELD_SIZE (CSFV, pidl, 4)
1410 TEST_FIELD_ALIGN (CSFV, pidl, 1)
1411 TEST_FIELD_OFFSET(CSFV, pidl, 12)
1412 TEST_FIELD_SIZE (CSFV, lEvents, 4)
1413 TEST_FIELD_ALIGN (CSFV, lEvents, 1)
1414 TEST_FIELD_OFFSET(CSFV, lEvents, 16)
1415 TEST_FIELD_SIZE (CSFV, pfnCallback, 4)
1416 TEST_FIELD_ALIGN (CSFV, pfnCallback, 1)
1417 TEST_FIELD_OFFSET(CSFV, pfnCallback, 20)
1420 static void test_pack_DROPFILES(void)
1422 /* DROPFILES (pack 1) */
1423 TEST_TYPE_SIZE (DROPFILES, 20)
1424 TEST_TYPE_ALIGN (DROPFILES, 1)
1425 TEST_FIELD_SIZE (DROPFILES, pFiles, 4)
1426 TEST_FIELD_ALIGN (DROPFILES, pFiles, 1)
1427 TEST_FIELD_OFFSET(DROPFILES, pFiles, 0)
1428 TEST_FIELD_SIZE (DROPFILES, pt, 8)
1429 TEST_FIELD_ALIGN (DROPFILES, pt, 1)
1430 TEST_FIELD_OFFSET(DROPFILES, pt, 4)
1431 TEST_FIELD_SIZE (DROPFILES, fNC, 4)
1432 TEST_FIELD_ALIGN (DROPFILES, fNC, 1)
1433 TEST_FIELD_OFFSET(DROPFILES, fNC, 12)
1434 TEST_FIELD_SIZE (DROPFILES, fWide, 4)
1435 TEST_FIELD_ALIGN (DROPFILES, fWide, 1)
1436 TEST_FIELD_OFFSET(DROPFILES, fWide, 16)
1439 static void test_pack_FILEDESCRIPTORA(void)
1441 /* FILEDESCRIPTORA (pack 1) */
1442 TEST_TYPE_SIZE (FILEDESCRIPTORA, 332)
1443 TEST_TYPE_ALIGN (FILEDESCRIPTORA, 1)
1444 TEST_FIELD_SIZE (FILEDESCRIPTORA, dwFlags, 4)
1445 TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFlags, 1)
1446 TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFlags, 0)
1447 TEST_FIELD_SIZE (FILEDESCRIPTORA, clsid, 16)
1448 TEST_FIELD_ALIGN (FILEDESCRIPTORA, clsid, 1)
1449 TEST_FIELD_OFFSET(FILEDESCRIPTORA, clsid, 4)
1450 TEST_FIELD_SIZE (FILEDESCRIPTORA, sizel, 8)
1451 TEST_FIELD_ALIGN (FILEDESCRIPTORA, sizel, 1)
1452 TEST_FIELD_OFFSET(FILEDESCRIPTORA, sizel, 20)
1453 TEST_FIELD_SIZE (FILEDESCRIPTORA, pointl, 8)
1454 TEST_FIELD_ALIGN (FILEDESCRIPTORA, pointl, 1)
1455 TEST_FIELD_OFFSET(FILEDESCRIPTORA, pointl, 28)
1456 TEST_FIELD_SIZE (FILEDESCRIPTORA, dwFileAttributes, 4)
1457 TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFileAttributes, 1)
1458 TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFileAttributes, 36)
1459 TEST_FIELD_SIZE (FILEDESCRIPTORA, ftCreationTime, 8)
1460 TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftCreationTime, 1)
1461 TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftCreationTime, 40)
1462 TEST_FIELD_SIZE (FILEDESCRIPTORA, ftLastAccessTime, 8)
1463 TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastAccessTime, 1)
1464 TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastAccessTime, 48)
1465 TEST_FIELD_SIZE (FILEDESCRIPTORA, ftLastWriteTime, 8)
1466 TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastWriteTime, 1)
1467 TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastWriteTime, 56)
1468 TEST_FIELD_SIZE (FILEDESCRIPTORA, nFileSizeHigh, 4)
1469 TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeHigh, 1)
1470 TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeHigh, 64)
1471 TEST_FIELD_SIZE (FILEDESCRIPTORA, nFileSizeLow, 4)
1472 TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeLow, 1)
1473 TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeLow, 68)
1474 TEST_FIELD_SIZE (FILEDESCRIPTORA, cFileName, 260)
1475 TEST_FIELD_ALIGN (FILEDESCRIPTORA, cFileName, 1)
1476 TEST_FIELD_OFFSET(FILEDESCRIPTORA, cFileName, 72)
1479 static void test_pack_FILEDESCRIPTORW(void)
1481 /* FILEDESCRIPTORW (pack 1) */
1482 TEST_TYPE_SIZE (FILEDESCRIPTORW, 592)
1483 TEST_TYPE_ALIGN (FILEDESCRIPTORW, 1)
1484 TEST_FIELD_SIZE (FILEDESCRIPTORW, dwFlags, 4)
1485 TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFlags, 1)
1486 TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFlags, 0)
1487 TEST_FIELD_SIZE (FILEDESCRIPTORW, clsid, 16)
1488 TEST_FIELD_ALIGN (FILEDESCRIPTORW, clsid, 1)
1489 TEST_FIELD_OFFSET(FILEDESCRIPTORW, clsid, 4)
1490 TEST_FIELD_SIZE (FILEDESCRIPTORW, sizel, 8)
1491 TEST_FIELD_ALIGN (FILEDESCRIPTORW, sizel, 1)
1492 TEST_FIELD_OFFSET(FILEDESCRIPTORW, sizel, 20)
1493 TEST_FIELD_SIZE (FILEDESCRIPTORW, pointl, 8)
1494 TEST_FIELD_ALIGN (FILEDESCRIPTORW, pointl, 1)
1495 TEST_FIELD_OFFSET(FILEDESCRIPTORW, pointl, 28)
1496 TEST_FIELD_SIZE (FILEDESCRIPTORW, dwFileAttributes, 4)
1497 TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFileAttributes, 1)
1498 TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFileAttributes, 36)
1499 TEST_FIELD_SIZE (FILEDESCRIPTORW, ftCreationTime, 8)
1500 TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftCreationTime, 1)
1501 TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftCreationTime, 40)
1502 TEST_FIELD_SIZE (FILEDESCRIPTORW, ftLastAccessTime, 8)
1503 TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastAccessTime, 1)
1504 TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastAccessTime, 48)
1505 TEST_FIELD_SIZE (FILEDESCRIPTORW, ftLastWriteTime, 8)
1506 TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastWriteTime, 1)
1507 TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastWriteTime, 56)
1508 TEST_FIELD_SIZE (FILEDESCRIPTORW, nFileSizeHigh, 4)
1509 TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeHigh, 1)
1510 TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeHigh, 64)
1511 TEST_FIELD_SIZE (FILEDESCRIPTORW, nFileSizeLow, 4)
1512 TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeLow, 1)
1513 TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeLow, 68)
1514 TEST_FIELD_SIZE (FILEDESCRIPTORW, cFileName, 520)
1515 TEST_FIELD_ALIGN (FILEDESCRIPTORW, cFileName, 1)
1516 TEST_FIELD_OFFSET(FILEDESCRIPTORW, cFileName, 72)
1519 static void test_pack_FILEGROUPDESCRIPTORA(void)
1521 /* FILEGROUPDESCRIPTORA (pack 1) */
1522 TEST_TYPE_SIZE (FILEGROUPDESCRIPTORA, 336)
1523 TEST_TYPE_ALIGN (FILEGROUPDESCRIPTORA, 1)
1524 TEST_FIELD_SIZE (FILEGROUPDESCRIPTORA, cItems, 4)
1525 TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, cItems, 1)
1526 TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, cItems, 0)
1527 TEST_FIELD_SIZE (FILEGROUPDESCRIPTORA, fgd, 332)
1528 TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, fgd, 1)
1529 TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, fgd, 4)
1532 static void test_pack_FILEGROUPDESCRIPTORW(void)
1534 /* FILEGROUPDESCRIPTORW (pack 1) */
1535 TEST_TYPE_SIZE (FILEGROUPDESCRIPTORW, 596)
1536 TEST_TYPE_ALIGN (FILEGROUPDESCRIPTORW, 1)
1537 TEST_FIELD_SIZE (FILEGROUPDESCRIPTORW, cItems, 4)
1538 TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, cItems, 1)
1539 TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, cItems, 0)
1540 TEST_FIELD_SIZE (FILEGROUPDESCRIPTORW, fgd, 592)
1541 TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, fgd, 1)
1542 TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, fgd, 4)
1545 static void test_pack_LPBROWSEINFOA(void)
1548 TEST_TYPE_SIZE (LPBROWSEINFOA, 4)
1549 TEST_TYPE_ALIGN (LPBROWSEINFOA, 4)
1550 TEST_TARGET_SIZE (LPBROWSEINFOA, 32)
1551 TEST_TARGET_ALIGN(LPBROWSEINFOA, 4)
1554 static void test_pack_LPBROWSEINFOW(void)
1557 TEST_TYPE_SIZE (LPBROWSEINFOW, 4)
1558 TEST_TYPE_ALIGN (LPBROWSEINFOW, 4)
1559 TEST_TARGET_SIZE (LPBROWSEINFOW, 32)
1560 TEST_TARGET_ALIGN(LPBROWSEINFOW, 4)
1563 static void test_pack_LPCABINETSTATE(void)
1565 /* LPCABINETSTATE */
1566 TEST_TYPE_SIZE (LPCABINETSTATE, 4)
1567 TEST_TYPE_ALIGN (LPCABINETSTATE, 4)
1568 TEST_TARGET_SIZE (LPCABINETSTATE, 12)
1569 TEST_TARGET_ALIGN(LPCABINETSTATE, 1)
1572 static void test_pack_LPCSFV(void)
1575 TEST_TYPE_SIZE (LPCSFV, 4)
1576 TEST_TYPE_ALIGN (LPCSFV, 4)
1579 static void test_pack_LPDROPFILES(void)
1582 TEST_TYPE_SIZE (LPDROPFILES, 4)
1583 TEST_TYPE_ALIGN (LPDROPFILES, 4)
1584 TEST_TARGET_SIZE (LPDROPFILES, 20)
1585 TEST_TARGET_ALIGN(LPDROPFILES, 1)
1588 static void test_pack_LPFILEDESCRIPTORA(void)
1590 /* LPFILEDESCRIPTORA */
1591 TEST_TYPE_SIZE (LPFILEDESCRIPTORA, 4)
1592 TEST_TYPE_ALIGN (LPFILEDESCRIPTORA, 4)
1593 TEST_TARGET_SIZE (LPFILEDESCRIPTORA, 332)
1594 TEST_TARGET_ALIGN(LPFILEDESCRIPTORA, 1)
1597 static void test_pack_LPFILEDESCRIPTORW(void)
1599 /* LPFILEDESCRIPTORW */
1600 TEST_TYPE_SIZE (LPFILEDESCRIPTORW, 4)
1601 TEST_TYPE_ALIGN (LPFILEDESCRIPTORW, 4)
1602 TEST_TARGET_SIZE (LPFILEDESCRIPTORW, 592)
1603 TEST_TARGET_ALIGN(LPFILEDESCRIPTORW, 1)
1606 static void test_pack_LPFILEGROUPDESCRIPTORA(void)
1608 /* LPFILEGROUPDESCRIPTORA */
1609 TEST_TYPE_SIZE (LPFILEGROUPDESCRIPTORA, 4)
1610 TEST_TYPE_ALIGN (LPFILEGROUPDESCRIPTORA, 4)
1611 TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORA, 336)
1612 TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORA, 1)
1615 static void test_pack_LPFILEGROUPDESCRIPTORW(void)
1617 /* LPFILEGROUPDESCRIPTORW */
1618 TEST_TYPE_SIZE (LPFILEGROUPDESCRIPTORW, 4)
1619 TEST_TYPE_ALIGN (LPFILEGROUPDESCRIPTORW, 4)
1620 TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORW, 596)
1621 TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORW, 1)
1624 static void test_pack_LPFNVIEWCALLBACK(void)
1626 /* LPFNVIEWCALLBACK */
1627 TEST_TYPE_SIZE (LPFNVIEWCALLBACK, 4)
1628 TEST_TYPE_ALIGN (LPFNVIEWCALLBACK, 4)
1631 static void test_pack_LPIDA(void)
1634 TEST_TYPE_SIZE (LPIDA, 4)
1635 TEST_TYPE_ALIGN (LPIDA, 4)
1636 TEST_TARGET_SIZE (LPIDA, 8)
1637 TEST_TARGET_ALIGN(LPIDA, 1)
1640 static void test_pack_LPQCMINFO(void)
1643 TEST_TYPE_SIZE (LPQCMINFO, 4)
1644 TEST_TYPE_ALIGN (LPQCMINFO, 4)
1645 TEST_TARGET_SIZE (LPQCMINFO, 20)
1646 TEST_TARGET_ALIGN(LPQCMINFO, 4)
1649 static void test_pack_LPSHChangeDWORDAsIDList(void)
1651 /* LPSHChangeDWORDAsIDList */
1652 TEST_TYPE_SIZE (LPSHChangeDWORDAsIDList, 4)
1653 TEST_TYPE_ALIGN (LPSHChangeDWORDAsIDList, 4)
1654 TEST_TARGET_SIZE (LPSHChangeDWORDAsIDList, 12)
1655 TEST_TARGET_ALIGN(LPSHChangeDWORDAsIDList, 1)
1658 static void test_pack_LPSHChangeProductKeyAsIDList(void)
1660 /* LPSHChangeProductKeyAsIDList */
1661 TEST_TYPE_SIZE (LPSHChangeProductKeyAsIDList, 4)
1662 TEST_TYPE_ALIGN (LPSHChangeProductKeyAsIDList, 4)
1663 TEST_TARGET_SIZE (LPSHChangeProductKeyAsIDList, 82)
1664 TEST_TARGET_ALIGN(LPSHChangeProductKeyAsIDList, 1)
1667 static void test_pack_LPSHDESCRIPTIONID(void)
1669 /* LPSHDESCRIPTIONID */
1670 TEST_TYPE_SIZE (LPSHDESCRIPTIONID, 4)
1671 TEST_TYPE_ALIGN (LPSHDESCRIPTIONID, 4)
1672 TEST_TARGET_SIZE (LPSHDESCRIPTIONID, 20)
1673 TEST_TARGET_ALIGN(LPSHDESCRIPTIONID, 4)
1676 static void test_pack_LPSHELLFLAGSTATE(void)
1678 /* LPSHELLFLAGSTATE */
1679 TEST_TYPE_SIZE (LPSHELLFLAGSTATE, 4)
1680 TEST_TYPE_ALIGN (LPSHELLFLAGSTATE, 4)
1681 TEST_TARGET_SIZE (LPSHELLFLAGSTATE, 4)
1682 TEST_TARGET_ALIGN(LPSHELLFLAGSTATE, 1)
1685 static void test_pack_LPSHELLSTATE(void)
1688 TEST_TYPE_SIZE (LPSHELLSTATE, 4)
1689 TEST_TYPE_ALIGN (LPSHELLSTATE, 4)
1690 TEST_TARGET_SIZE (LPSHELLSTATE, 32)
1691 TEST_TARGET_ALIGN(LPSHELLSTATE, 1)
1694 static void test_pack_LPTBINFO(void)
1697 TEST_TYPE_SIZE (LPTBINFO, 4)
1698 TEST_TYPE_ALIGN (LPTBINFO, 4)
1699 TEST_TARGET_SIZE (LPTBINFO, 8)
1700 TEST_TARGET_ALIGN(LPTBINFO, 4)
1703 static void test_pack_PBROWSEINFOA(void)
1706 TEST_TYPE_SIZE (PBROWSEINFOA, 4)
1707 TEST_TYPE_ALIGN (PBROWSEINFOA, 4)
1708 TEST_TARGET_SIZE (PBROWSEINFOA, 32)
1709 TEST_TARGET_ALIGN(PBROWSEINFOA, 4)
1712 static void test_pack_PBROWSEINFOW(void)
1715 TEST_TYPE_SIZE (PBROWSEINFOW, 4)
1716 TEST_TYPE_ALIGN (PBROWSEINFOW, 4)
1717 TEST_TARGET_SIZE (PBROWSEINFOW, 32)
1718 TEST_TARGET_ALIGN(PBROWSEINFOW, 4)
1721 static void test_pack_QCMINFO(void)
1723 /* QCMINFO (pack 8) */
1724 TEST_TYPE_SIZE (QCMINFO, 20)
1725 TEST_TYPE_ALIGN (QCMINFO, 4)
1726 TEST_FIELD_SIZE (QCMINFO, hmenu, 4)
1727 TEST_FIELD_ALIGN (QCMINFO, hmenu, 4)
1728 TEST_FIELD_OFFSET(QCMINFO, hmenu, 0)
1729 TEST_FIELD_SIZE (QCMINFO, indexMenu, 4)
1730 TEST_FIELD_ALIGN (QCMINFO, indexMenu, 4)
1731 TEST_FIELD_OFFSET(QCMINFO, indexMenu, 4)
1732 TEST_FIELD_SIZE (QCMINFO, idCmdFirst, 4)
1733 TEST_FIELD_ALIGN (QCMINFO, idCmdFirst, 4)
1734 TEST_FIELD_OFFSET(QCMINFO, idCmdFirst, 8)
1735 TEST_FIELD_SIZE (QCMINFO, idCmdLast, 4)
1736 TEST_FIELD_ALIGN (QCMINFO, idCmdLast, 4)
1737 TEST_FIELD_OFFSET(QCMINFO, idCmdLast, 12)
1738 TEST_FIELD_SIZE (QCMINFO, pIdMap, 4)
1739 TEST_FIELD_ALIGN (QCMINFO, pIdMap, 4)
1740 TEST_FIELD_OFFSET(QCMINFO, pIdMap, 16)
1743 static void test_pack_QCMINFO_IDMAP(void)
1745 /* QCMINFO_IDMAP (pack 8) */
1746 TEST_TYPE_SIZE (QCMINFO_IDMAP, 12)
1747 TEST_TYPE_ALIGN (QCMINFO_IDMAP, 4)
1748 TEST_FIELD_SIZE (QCMINFO_IDMAP, nMaxIds, 4)
1749 TEST_FIELD_ALIGN (QCMINFO_IDMAP, nMaxIds, 4)
1750 TEST_FIELD_OFFSET(QCMINFO_IDMAP, nMaxIds, 0)
1751 TEST_FIELD_SIZE (QCMINFO_IDMAP, pIdList, 8)
1752 TEST_FIELD_ALIGN (QCMINFO_IDMAP, pIdList, 4)
1753 TEST_FIELD_OFFSET(QCMINFO_IDMAP, pIdList, 4)
1756 static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
1758 /* QCMINFO_IDMAP_PLACEMENT (pack 8) */
1759 TEST_TYPE_SIZE (QCMINFO_IDMAP_PLACEMENT, 8)
1760 TEST_TYPE_ALIGN (QCMINFO_IDMAP_PLACEMENT, 4)
1761 TEST_FIELD_SIZE (QCMINFO_IDMAP_PLACEMENT, id, 4)
1762 TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, id, 4)
1763 TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, id, 0)
1764 TEST_FIELD_SIZE (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1765 TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1766 TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1769 static void test_pack_SHChangeDWORDAsIDList(void)
1771 /* SHChangeDWORDAsIDList (pack 1) */
1772 TEST_TYPE_SIZE (SHChangeDWORDAsIDList, 12)
1773 TEST_TYPE_ALIGN (SHChangeDWORDAsIDList, 1)
1774 TEST_FIELD_SIZE (SHChangeDWORDAsIDList, cb, 2)
1775 TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cb, 1)
1776 TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cb, 0)
1777 TEST_FIELD_SIZE (SHChangeDWORDAsIDList, dwItem1, 4)
1778 TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem1, 1)
1779 TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem1, 2)
1780 TEST_FIELD_SIZE (SHChangeDWORDAsIDList, dwItem2, 4)
1781 TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem2, 1)
1782 TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem2, 6)
1783 TEST_FIELD_SIZE (SHChangeDWORDAsIDList, cbZero, 2)
1784 TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cbZero, 1)
1785 TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cbZero, 10)
1788 static void test_pack_SHChangeNotifyEntry(void)
1790 /* SHChangeNotifyEntry (pack 1) */
1791 TEST_TYPE_SIZE (SHChangeNotifyEntry, 8)
1792 TEST_TYPE_ALIGN (SHChangeNotifyEntry, 1)
1793 TEST_FIELD_SIZE (SHChangeNotifyEntry, pidl, 4)
1794 TEST_FIELD_ALIGN (SHChangeNotifyEntry, pidl, 1)
1795 TEST_FIELD_OFFSET(SHChangeNotifyEntry, pidl, 0)
1796 TEST_FIELD_SIZE (SHChangeNotifyEntry, fRecursive, 4)
1797 TEST_FIELD_ALIGN (SHChangeNotifyEntry, fRecursive, 1)
1798 TEST_FIELD_OFFSET(SHChangeNotifyEntry, fRecursive, 4)
1801 static void test_pack_SHChangeProductKeyAsIDList(void)
1803 /* SHChangeProductKeyAsIDList (pack 1) */
1804 TEST_TYPE_SIZE (SHChangeProductKeyAsIDList, 82)
1805 TEST_TYPE_ALIGN (SHChangeProductKeyAsIDList, 1)
1806 TEST_FIELD_SIZE (SHChangeProductKeyAsIDList, cb, 2)
1807 TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cb, 1)
1808 TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cb, 0)
1809 TEST_FIELD_SIZE (SHChangeProductKeyAsIDList, wszProductKey, 78)
1810 TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, wszProductKey, 1)
1811 TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, wszProductKey, 2)
1812 TEST_FIELD_SIZE (SHChangeProductKeyAsIDList, cbZero, 2)
1813 TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cbZero, 1)
1814 TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cbZero, 80)
1817 static void test_pack_SHDESCRIPTIONID(void)
1819 /* SHDESCRIPTIONID (pack 8) */
1820 TEST_TYPE_SIZE (SHDESCRIPTIONID, 20)
1821 TEST_TYPE_ALIGN (SHDESCRIPTIONID, 4)
1822 TEST_FIELD_SIZE (SHDESCRIPTIONID, dwDescriptionId, 4)
1823 TEST_FIELD_ALIGN (SHDESCRIPTIONID, dwDescriptionId, 4)
1824 TEST_FIELD_OFFSET(SHDESCRIPTIONID, dwDescriptionId, 0)
1825 TEST_FIELD_SIZE (SHDESCRIPTIONID, clsid, 16)
1826 TEST_FIELD_ALIGN (SHDESCRIPTIONID, clsid, 4)
1827 TEST_FIELD_OFFSET(SHDESCRIPTIONID, clsid, 4)
1830 static void test_pack_SHELLFLAGSTATE(void)
1832 /* SHELLFLAGSTATE (pack 1) */
1833 TEST_TYPE_SIZE (SHELLFLAGSTATE, 4)
1834 TEST_TYPE_ALIGN (SHELLFLAGSTATE, 1)
1837 static void test_pack_SHELLSTATE(void)
1839 /* SHELLSTATE (pack 1) */
1840 TEST_TYPE_SIZE (SHELLSTATE, 32)
1841 TEST_TYPE_ALIGN (SHELLSTATE, 1)
1842 TEST_FIELD_SIZE (SHELLSTATE, dwWin95Unused, 4)
1843 TEST_FIELD_ALIGN (SHELLSTATE, dwWin95Unused, 1)
1844 TEST_FIELD_OFFSET(SHELLSTATE, dwWin95Unused, 4)
1845 TEST_FIELD_SIZE (SHELLSTATE, uWin95Unused, 4)
1846 TEST_FIELD_ALIGN (SHELLSTATE, uWin95Unused, 1)
1847 TEST_FIELD_OFFSET(SHELLSTATE, uWin95Unused, 8)
1848 TEST_FIELD_SIZE (SHELLSTATE, lParamSort, 4)
1849 TEST_FIELD_ALIGN (SHELLSTATE, lParamSort, 1)
1850 TEST_FIELD_OFFSET(SHELLSTATE, lParamSort, 12)
1851 TEST_FIELD_SIZE (SHELLSTATE, iSortDirection, 4)
1852 TEST_FIELD_ALIGN (SHELLSTATE, iSortDirection, 1)
1853 TEST_FIELD_OFFSET(SHELLSTATE, iSortDirection, 16)
1854 TEST_FIELD_SIZE (SHELLSTATE, version, 4)
1855 TEST_FIELD_ALIGN (SHELLSTATE, version, 1)
1856 TEST_FIELD_OFFSET(SHELLSTATE, version, 20)
1857 TEST_FIELD_SIZE (SHELLSTATE, uNotUsed, 4)
1858 TEST_FIELD_ALIGN (SHELLSTATE, uNotUsed, 1)
1859 TEST_FIELD_OFFSET(SHELLSTATE, uNotUsed, 24)
1862 static void test_pack_TBINFO(void)
1864 /* TBINFO (pack 8) */
1865 TEST_TYPE_SIZE (TBINFO, 8)
1866 TEST_TYPE_ALIGN (TBINFO, 4)
1867 TEST_FIELD_SIZE (TBINFO, cbuttons, 4)
1868 TEST_FIELD_ALIGN (TBINFO, cbuttons, 4)
1869 TEST_FIELD_OFFSET(TBINFO, cbuttons, 0)
1870 TEST_FIELD_SIZE (TBINFO, uFlags, 4)
1871 TEST_FIELD_ALIGN (TBINFO, uFlags, 4)
1872 TEST_FIELD_OFFSET(TBINFO, uFlags, 4)
1875 static void test_pack(void)
1877 test_pack_APPBARDATA();
1878 test_pack_AUTO_SCROLL_DATA();
1879 test_pack_BFFCALLBACK();
1881 test_pack_BROWSEINFOA();
1882 test_pack_BROWSEINFOW();
1884 test_pack_BSTRBLOB();
1885 test_pack_BYTE_BLOB();
1886 test_pack_BYTE_SIZEDARR();
1887 test_pack_CABINETSTATE();
1889 test_pack_CLIPDATA();
1890 test_pack_CLIPFORMAT();
1892 test_pack_COAUTHIDENTITY();
1893 test_pack_COAUTHINFO();
1897 test_pack_DRAGINFOA();
1898 test_pack_DRAGINFOW();
1899 test_pack_DROPFILES();
1900 test_pack_DWORD_SIZEDARR();
1901 test_pack_FILEDESCRIPTORA();
1902 test_pack_FILEDESCRIPTORW();
1903 test_pack_FILEGROUPDESCRIPTORA();
1904 test_pack_FILEGROUPDESCRIPTORW();
1905 test_pack_FILEOP_FLAGS();
1906 test_pack_FLAGGED_BYTE_BLOB();
1907 test_pack_FLAGGED_WORD_BLOB();
1909 test_pack_HMETAFILEPICT();
1910 test_pack_HYPER_SIZEDARR();
1912 test_pack_ITEMIDLIST();
1914 test_pack_LPBROWSEINFOA();
1915 test_pack_LPBROWSEINFOW();
1917 test_pack_LPBSTRBLOB();
1918 test_pack_LPCABINETSTATE();
1919 test_pack_LPCITEMIDLIST();
1920 test_pack_LPCOLESTR();
1922 test_pack_LPCSHITEMID();
1924 test_pack_LPDECIMAL();
1925 test_pack_LPDRAGINFOA();
1926 test_pack_LPDRAGINFOW();
1927 test_pack_LPDROPFILES();
1928 test_pack_LPFILEDESCRIPTORA();
1929 test_pack_LPFILEDESCRIPTORW();
1930 test_pack_LPFILEGROUPDESCRIPTORA();
1931 test_pack_LPFILEGROUPDESCRIPTORW();
1932 test_pack_LPFNVIEWCALLBACK();
1934 test_pack_LPITEMIDLIST();
1935 test_pack_LPOLESTR();
1936 test_pack_LPQCMINFO();
1937 test_pack_LPSHChangeDWORDAsIDList();
1938 test_pack_LPSHChangeProductKeyAsIDList();
1939 test_pack_LPSHDESCRIPTIONID();
1940 test_pack_LPSHELLDETAILS();
1941 test_pack_LPSHELLEXECUTEINFOA();
1942 test_pack_LPSHELLEXECUTEINFOW();
1943 test_pack_LPSHELLFLAGSTATE();
1944 test_pack_LPSHELLSTATE();
1945 test_pack_LPSHFILEOPSTRUCTA();
1946 test_pack_LPSHFILEOPSTRUCTW();
1947 test_pack_LPSHITEMID();
1948 test_pack_LPSHNAMEMAPPINGA();
1949 test_pack_LPSHNAMEMAPPINGW();
1950 test_pack_LPSTRRET();
1951 test_pack_LPTBINFO();
1952 test_pack_NOTIFYICONDATAA();
1953 test_pack_NOTIFYICONDATAW();
1954 test_pack_OLECHAR();
1955 test_pack_PAPPBARDATA();
1956 test_pack_PBROWSEINFOA();
1957 test_pack_PBROWSEINFOW();
1958 test_pack_PNOTIFYICONDATAA();
1959 test_pack_PNOTIFYICONDATAW();
1960 test_pack_PRINTEROP_FLAGS();
1962 test_pack_QCMINFO();
1963 test_pack_QCMINFO_IDMAP();
1964 test_pack_QCMINFO_IDMAP_PLACEMENT();
1965 test_pack_RemHBITMAP();
1966 test_pack_RemHENHMETAFILE();
1967 test_pack_RemHGLOBAL();
1968 test_pack_RemHMETAFILEPICT();
1969 test_pack_RemHPALETTE();
1971 test_pack_SHChangeDWORDAsIDList();
1972 test_pack_SHChangeNotifyEntry();
1973 test_pack_SHChangeProductKeyAsIDList();
1974 test_pack_SHDESCRIPTIONID();
1975 test_pack_SHELLDETAILS();
1976 test_pack_SHELLEXECUTEINFOA();
1977 test_pack_SHELLEXECUTEINFOW();
1978 test_pack_SHELLFLAGSTATE();
1979 test_pack_SHELLSTATE();
1980 test_pack_SHFILEINFOA();
1981 test_pack_SHFILEINFOW();
1982 test_pack_SHFILEOPSTRUCTA();
1983 test_pack_SHFILEOPSTRUCTW();
1984 test_pack_SHITEMID();
1985 test_pack_SHNAMEMAPPINGA();
1986 test_pack_SHNAMEMAPPINGW();
1989 test_pack_UP_BYTE_BLOB();
1990 test_pack_UP_FLAGGED_BYTE_BLOB();
1991 test_pack_UP_FLAGGED_WORD_BLOB();
1992 test_pack_VARIANT_BOOL();
1993 test_pack_VARTYPE();
1994 test_pack_WORD_SIZEDARR();
1995 test_pack_remoteMETAFILEPICT();
1996 test_pack_userBITMAP();
1997 test_pack_userCLIPFORMAT();
1998 test_pack_userHBITMAP();
1999 test_pack_userHENHMETAFILE();
2000 test_pack_userHGLOBAL();
2001 test_pack_userHMETAFILE();
2002 test_pack_userHMETAFILEPICT();
2003 test_pack_userHPALETTE();
2004 test_pack_wireBSTR();
2005 test_pack_wireCLIPFORMAT();
2006 test_pack_wireHBITMAP();
2007 test_pack_wireHENHMETAFILE();
2008 test_pack_wireHGLOBAL();
2009 test_pack_wireHMETAFILE();
2010 test_pack_wireHMETAFILEPICT();
2011 test_pack_wireHPALETTE();
2014 START_TEST(generated)
2017 ok(0, "The type size / alignment tests don't support Win64 yet\n");