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 #ifdef __REACTOS__
9 #define _WINE
10 #endif
11 
12 #define WINE_NOWINSOCK
13 
14 #include "windef.h"
15 #include "mmsystem.h"
16 #include "digitalv.h"
17 
18 #include "wine/test.h"
19 
20 /***********************************************************************
21  * Compatibility macros
22  */
23 
24 #define DWORD_PTR UINT_PTR
25 #define LONG_PTR INT_PTR
26 #define ULONG_PTR UINT_PTR
27 
28 /***********************************************************************
29  * Windows API extension
30  */
31 
32 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
33 # define _TYPE_ALIGNMENT(type) __alignof(type)
34 #elif defined(__GNUC__)
35 # define _TYPE_ALIGNMENT(type) __alignof__(type)
36 #else
37 /*
38  * FIXME: May not be possible without a compiler extension
39  *        (if type is not just a name that is, otherwise the normal
40  *         TYPE_ALIGNMENT can be used)
41  */
42 #endif
43 
44 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
45 #pragma warning(disable:4116)
46 #endif
47 
48 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
49 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
50 #endif
51 
52 /***********************************************************************
53  * Test helper macros
54  */
55 
56 #define TEST_TYPE_SIZE(type, size)             C_ASSERT(sizeof(type) == size);
57 
58 #ifdef TYPE_ALIGNMENT
59 # define TEST_TYPE_ALIGN(type, align)          C_ASSERT(TYPE_ALIGNMENT(type) == align);
60 #else
61 # define TEST_TYPE_ALIGN(type, align)
62 #endif
63 
64 #ifdef _TYPE_ALIGNMENT
65 # define TEST_TARGET_ALIGN(type, align)        C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
66 # define TEST_FIELD_ALIGN(type, field, align)  C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
67 #else
68 # define TEST_TARGET_ALIGN(type, align)
69 # define TEST_FIELD_ALIGN(type, field, align)
70 #endif
71 
72 #define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
73 
74 #define TEST_TARGET_SIZE(type, size)            TEST_TYPE_SIZE(*(type)0, size)
75 #define TEST_FIELD_SIZE(type, field, size)      TEST_TYPE_SIZE((((type*)0)->field), size)
76 #define TEST_TYPE_SIGNED(type)                  C_ASSERT((type) -1 < 0);
77 #define TEST_TYPE_UNSIGNED(type)                C_ASSERT((type) -1 > 0);
78 
79 
80 #ifdef _WIN64
81 
82 static void test_pack_MMTIME(void)
83 {
84     /* MMTIME (pack 1) */
85     TEST_FIELD_SIZE  (MMTIME, wType, 4)
86     TEST_FIELD_ALIGN (MMTIME, wType, 1)
87     TEST_FIELD_OFFSET(MMTIME, wType, 0)
88 }
89 
90 static void test_pack_DRVCONFIGINFO(void)
91 {
92     /* DRVCONFIGINFO (pack 1) */
93     TEST_TYPE_SIZE   (DRVCONFIGINFO, 20)
94     TEST_TYPE_ALIGN  (DRVCONFIGINFO, 1)
95     TEST_FIELD_SIZE  (DRVCONFIGINFO, dwDCISize, 4)
96     TEST_FIELD_ALIGN (DRVCONFIGINFO, dwDCISize, 1)
97     TEST_FIELD_OFFSET(DRVCONFIGINFO, dwDCISize, 0)
98     TEST_FIELD_SIZE  (DRVCONFIGINFO, lpszDCISectionName, 8)
99     TEST_FIELD_ALIGN (DRVCONFIGINFO, lpszDCISectionName, 1)
100     TEST_FIELD_OFFSET(DRVCONFIGINFO, lpszDCISectionName, 4)
101     TEST_FIELD_SIZE  (DRVCONFIGINFO, lpszDCIAliasName, 8)
102     TEST_FIELD_ALIGN (DRVCONFIGINFO, lpszDCIAliasName, 1)
103     TEST_FIELD_OFFSET(DRVCONFIGINFO, lpszDCIAliasName, 12)
104 }
105 
106 static void test_pack_WAVEHDR(void)
107 {
108     /* WAVEHDR (pack 1) */
109     TEST_TYPE_SIZE   (WAVEHDR, 48)
110     TEST_TYPE_ALIGN  (WAVEHDR, 1)
111     TEST_FIELD_SIZE  (WAVEHDR, lpData, 8)
112     TEST_FIELD_ALIGN (WAVEHDR, lpData, 1)
113     TEST_FIELD_OFFSET(WAVEHDR, lpData, 0)
114     TEST_FIELD_SIZE  (WAVEHDR, dwBufferLength, 4)
115     TEST_FIELD_ALIGN (WAVEHDR, dwBufferLength, 1)
116     TEST_FIELD_OFFSET(WAVEHDR, dwBufferLength, 8)
117     TEST_FIELD_SIZE  (WAVEHDR, dwBytesRecorded, 4)
118     TEST_FIELD_ALIGN (WAVEHDR, dwBytesRecorded, 1)
119     TEST_FIELD_OFFSET(WAVEHDR, dwBytesRecorded, 12)
120     TEST_FIELD_SIZE  (WAVEHDR, dwUser, 8)
121     TEST_FIELD_ALIGN (WAVEHDR, dwUser, 1)
122     TEST_FIELD_OFFSET(WAVEHDR, dwUser, 16)
123     TEST_FIELD_SIZE  (WAVEHDR, dwFlags, 4)
124     TEST_FIELD_ALIGN (WAVEHDR, dwFlags, 1)
125     TEST_FIELD_OFFSET(WAVEHDR, dwFlags, 24)
126     TEST_FIELD_SIZE  (WAVEHDR, dwLoops, 4)
127     TEST_FIELD_ALIGN (WAVEHDR, dwLoops, 1)
128     TEST_FIELD_OFFSET(WAVEHDR, dwLoops, 28)
129     TEST_FIELD_SIZE  (WAVEHDR, lpNext, 8)
130     TEST_FIELD_ALIGN (WAVEHDR, lpNext, 1)
131     TEST_FIELD_OFFSET(WAVEHDR, lpNext, 32)
132     TEST_FIELD_SIZE  (WAVEHDR, reserved, 8)
133     TEST_FIELD_ALIGN (WAVEHDR, reserved, 1)
134     TEST_FIELD_OFFSET(WAVEHDR, reserved, 40)
135 }
136 
137 static void test_pack_WAVEOUTCAPSA(void)
138 {
139     /* WAVEOUTCAPSA (pack 1) */
140     TEST_FIELD_SIZE  (WAVEOUTCAPSA, wMid, 2)
141     TEST_FIELD_ALIGN (WAVEOUTCAPSA, wMid, 1)
142     TEST_FIELD_OFFSET(WAVEOUTCAPSA, wMid, 0)
143     TEST_FIELD_SIZE  (WAVEOUTCAPSA, wPid, 2)
144     TEST_FIELD_ALIGN (WAVEOUTCAPSA, wPid, 1)
145     TEST_FIELD_OFFSET(WAVEOUTCAPSA, wPid, 2)
146     TEST_FIELD_SIZE  (WAVEOUTCAPSA, vDriverVersion, 4)
147     TEST_FIELD_ALIGN (WAVEOUTCAPSA, vDriverVersion, 1)
148     TEST_FIELD_OFFSET(WAVEOUTCAPSA, vDriverVersion, 4)
149 }
150 
151 static void test_pack_WAVEOUTCAPSW(void)
152 {
153     /* WAVEOUTCAPSW (pack 1) */
154     TEST_FIELD_SIZE  (WAVEOUTCAPSW, wMid, 2)
155     TEST_FIELD_ALIGN (WAVEOUTCAPSW, wMid, 1)
156     TEST_FIELD_OFFSET(WAVEOUTCAPSW, wMid, 0)
157     TEST_FIELD_SIZE  (WAVEOUTCAPSW, wPid, 2)
158     TEST_FIELD_ALIGN (WAVEOUTCAPSW, wPid, 1)
159     TEST_FIELD_OFFSET(WAVEOUTCAPSW, wPid, 2)
160     TEST_FIELD_SIZE  (WAVEOUTCAPSW, vDriverVersion, 4)
161     TEST_FIELD_ALIGN (WAVEOUTCAPSW, vDriverVersion, 1)
162     TEST_FIELD_OFFSET(WAVEOUTCAPSW, vDriverVersion, 4)
163 }
164 
165 static void test_pack_WAVEOUTCAPS2A(void)
166 {
167     /* WAVEOUTCAPS2A (pack 1) */
168     TEST_FIELD_SIZE  (WAVEOUTCAPS2A, wMid, 2)
169     TEST_FIELD_ALIGN (WAVEOUTCAPS2A, wMid, 1)
170     TEST_FIELD_OFFSET(WAVEOUTCAPS2A, wMid, 0)
171     TEST_FIELD_SIZE  (WAVEOUTCAPS2A, wPid, 2)
172     TEST_FIELD_ALIGN (WAVEOUTCAPS2A, wPid, 1)
173     TEST_FIELD_OFFSET(WAVEOUTCAPS2A, wPid, 2)
174     TEST_FIELD_SIZE  (WAVEOUTCAPS2A, vDriverVersion, 4)
175     TEST_FIELD_ALIGN (WAVEOUTCAPS2A, vDriverVersion, 1)
176     TEST_FIELD_OFFSET(WAVEOUTCAPS2A, vDriverVersion, 4)
177 }
178 
179 static void test_pack_WAVEOUTCAPS2W(void)
180 {
181     /* WAVEOUTCAPS2W (pack 1) */
182     TEST_FIELD_SIZE  (WAVEOUTCAPS2W, wMid, 2)
183     TEST_FIELD_ALIGN (WAVEOUTCAPS2W, wMid, 1)
184     TEST_FIELD_OFFSET(WAVEOUTCAPS2W, wMid, 0)
185     TEST_FIELD_SIZE  (WAVEOUTCAPS2W, wPid, 2)
186     TEST_FIELD_ALIGN (WAVEOUTCAPS2W, wPid, 1)
187     TEST_FIELD_OFFSET(WAVEOUTCAPS2W, wPid, 2)
188     TEST_FIELD_SIZE  (WAVEOUTCAPS2W, vDriverVersion, 4)
189     TEST_FIELD_ALIGN (WAVEOUTCAPS2W, vDriverVersion, 1)
190     TEST_FIELD_OFFSET(WAVEOUTCAPS2W, vDriverVersion, 4)
191 }
192 
193 static void test_pack_WAVEINCAPSA(void)
194 {
195     /* WAVEINCAPSA (pack 1) */
196     TEST_FIELD_SIZE  (WAVEINCAPSA, wMid, 2)
197     TEST_FIELD_ALIGN (WAVEINCAPSA, wMid, 1)
198     TEST_FIELD_OFFSET(WAVEINCAPSA, wMid, 0)
199     TEST_FIELD_SIZE  (WAVEINCAPSA, wPid, 2)
200     TEST_FIELD_ALIGN (WAVEINCAPSA, wPid, 1)
201     TEST_FIELD_OFFSET(WAVEINCAPSA, wPid, 2)
202     TEST_FIELD_SIZE  (WAVEINCAPSA, vDriverVersion, 4)
203     TEST_FIELD_ALIGN (WAVEINCAPSA, vDriverVersion, 1)
204     TEST_FIELD_OFFSET(WAVEINCAPSA, vDriverVersion, 4)
205 }
206 
207 static void test_pack_WAVEINCAPSW(void)
208 {
209     /* WAVEINCAPSW (pack 1) */
210     TEST_FIELD_SIZE  (WAVEINCAPSW, wMid, 2)
211     TEST_FIELD_ALIGN (WAVEINCAPSW, wMid, 1)
212     TEST_FIELD_OFFSET(WAVEINCAPSW, wMid, 0)
213     TEST_FIELD_SIZE  (WAVEINCAPSW, wPid, 2)
214     TEST_FIELD_ALIGN (WAVEINCAPSW, wPid, 1)
215     TEST_FIELD_OFFSET(WAVEINCAPSW, wPid, 2)
216     TEST_FIELD_SIZE  (WAVEINCAPSW, vDriverVersion, 4)
217     TEST_FIELD_ALIGN (WAVEINCAPSW, vDriverVersion, 1)
218     TEST_FIELD_OFFSET(WAVEINCAPSW, vDriverVersion, 4)
219 }
220 
221 static void test_pack_WAVEINCAPS2A(void)
222 {
223     /* WAVEINCAPS2A (pack 1) */
224     TEST_FIELD_SIZE  (WAVEINCAPS2A, wMid, 2)
225     TEST_FIELD_ALIGN (WAVEINCAPS2A, wMid, 1)
226     TEST_FIELD_OFFSET(WAVEINCAPS2A, wMid, 0)
227     TEST_FIELD_SIZE  (WAVEINCAPS2A, wPid, 2)
228     TEST_FIELD_ALIGN (WAVEINCAPS2A, wPid, 1)
229     TEST_FIELD_OFFSET(WAVEINCAPS2A, wPid, 2)
230     TEST_FIELD_SIZE  (WAVEINCAPS2A, vDriverVersion, 4)
231     TEST_FIELD_ALIGN (WAVEINCAPS2A, vDriverVersion, 1)
232     TEST_FIELD_OFFSET(WAVEINCAPS2A, vDriverVersion, 4)
233 }
234 
235 static void test_pack_WAVEINCAPS2W(void)
236 {
237     /* WAVEINCAPS2W (pack 1) */
238     TEST_FIELD_SIZE  (WAVEINCAPS2W, wMid, 2)
239     TEST_FIELD_ALIGN (WAVEINCAPS2W, wMid, 1)
240     TEST_FIELD_OFFSET(WAVEINCAPS2W, wMid, 0)
241     TEST_FIELD_SIZE  (WAVEINCAPS2W, wPid, 2)
242     TEST_FIELD_ALIGN (WAVEINCAPS2W, wPid, 1)
243     TEST_FIELD_OFFSET(WAVEINCAPS2W, wPid, 2)
244     TEST_FIELD_SIZE  (WAVEINCAPS2W, vDriverVersion, 4)
245     TEST_FIELD_ALIGN (WAVEINCAPS2W, vDriverVersion, 1)
246     TEST_FIELD_OFFSET(WAVEINCAPS2W, vDriverVersion, 4)
247 }
248 
249 static void test_pack_WAVEFORMAT(void)
250 {
251     /* WAVEFORMAT (pack 1) */
252     TEST_TYPE_SIZE   (WAVEFORMAT, 14)
253     TEST_TYPE_ALIGN  (WAVEFORMAT, 1)
254     TEST_FIELD_SIZE  (WAVEFORMAT, wFormatTag, 2)
255     TEST_FIELD_ALIGN (WAVEFORMAT, wFormatTag, 1)
256     TEST_FIELD_OFFSET(WAVEFORMAT, wFormatTag, 0)
257     TEST_FIELD_SIZE  (WAVEFORMAT, nChannels, 2)
258     TEST_FIELD_ALIGN (WAVEFORMAT, nChannels, 1)
259     TEST_FIELD_OFFSET(WAVEFORMAT, nChannels, 2)
260     TEST_FIELD_SIZE  (WAVEFORMAT, nSamplesPerSec, 4)
261     TEST_FIELD_ALIGN (WAVEFORMAT, nSamplesPerSec, 1)
262     TEST_FIELD_OFFSET(WAVEFORMAT, nSamplesPerSec, 4)
263     TEST_FIELD_SIZE  (WAVEFORMAT, nAvgBytesPerSec, 4)
264     TEST_FIELD_ALIGN (WAVEFORMAT, nAvgBytesPerSec, 1)
265     TEST_FIELD_OFFSET(WAVEFORMAT, nAvgBytesPerSec, 8)
266     TEST_FIELD_SIZE  (WAVEFORMAT, nBlockAlign, 2)
267     TEST_FIELD_ALIGN (WAVEFORMAT, nBlockAlign, 1)
268     TEST_FIELD_OFFSET(WAVEFORMAT, nBlockAlign, 12)
269 }
270 
271 static void test_pack_PCMWAVEFORMAT(void)
272 {
273     /* PCMWAVEFORMAT (pack 1) */
274     TEST_TYPE_SIZE   (PCMWAVEFORMAT, 16)
275     TEST_TYPE_ALIGN  (PCMWAVEFORMAT, 1)
276     TEST_FIELD_SIZE  (PCMWAVEFORMAT, wf, 14)
277     TEST_FIELD_ALIGN (PCMWAVEFORMAT, wf, 1)
278     TEST_FIELD_OFFSET(PCMWAVEFORMAT, wf, 0)
279     TEST_FIELD_SIZE  (PCMWAVEFORMAT, wBitsPerSample, 2)
280     TEST_FIELD_ALIGN (PCMWAVEFORMAT, wBitsPerSample, 1)
281     TEST_FIELD_OFFSET(PCMWAVEFORMAT, wBitsPerSample, 14)
282 }
283 
284 static void test_pack_WAVEFORMATEX(void)
285 {
286     /* WAVEFORMATEX (pack 1) */
287     TEST_TYPE_SIZE   (WAVEFORMATEX, 18)
288     TEST_TYPE_ALIGN  (WAVEFORMATEX, 1)
289     TEST_FIELD_SIZE  (WAVEFORMATEX, wFormatTag, 2)
290     TEST_FIELD_ALIGN (WAVEFORMATEX, wFormatTag, 1)
291     TEST_FIELD_OFFSET(WAVEFORMATEX, wFormatTag, 0)
292     TEST_FIELD_SIZE  (WAVEFORMATEX, nChannels, 2)
293     TEST_FIELD_ALIGN (WAVEFORMATEX, nChannels, 1)
294     TEST_FIELD_OFFSET(WAVEFORMATEX, nChannels, 2)
295     TEST_FIELD_SIZE  (WAVEFORMATEX, nSamplesPerSec, 4)
296     TEST_FIELD_ALIGN (WAVEFORMATEX, nSamplesPerSec, 1)
297     TEST_FIELD_OFFSET(WAVEFORMATEX, nSamplesPerSec, 4)
298     TEST_FIELD_SIZE  (WAVEFORMATEX, nAvgBytesPerSec, 4)
299     TEST_FIELD_ALIGN (WAVEFORMATEX, nAvgBytesPerSec, 1)
300     TEST_FIELD_OFFSET(WAVEFORMATEX, nAvgBytesPerSec, 8)
301     TEST_FIELD_SIZE  (WAVEFORMATEX, nBlockAlign, 2)
302     TEST_FIELD_ALIGN (WAVEFORMATEX, nBlockAlign, 1)
303     TEST_FIELD_OFFSET(WAVEFORMATEX, nBlockAlign, 12)
304     TEST_FIELD_SIZE  (WAVEFORMATEX, wBitsPerSample, 2)
305     TEST_FIELD_ALIGN (WAVEFORMATEX, wBitsPerSample, 1)
306     TEST_FIELD_OFFSET(WAVEFORMATEX, wBitsPerSample, 14)
307     TEST_FIELD_SIZE  (WAVEFORMATEX, cbSize, 2)
308     TEST_FIELD_ALIGN (WAVEFORMATEX, cbSize, 1)
309     TEST_FIELD_OFFSET(WAVEFORMATEX, cbSize, 16)
310 }
311 
312 static void test_pack_MIDIOUTCAPSA(void)
313 {
314     /* MIDIOUTCAPSA (pack 1) */
315     TEST_FIELD_SIZE  (MIDIOUTCAPSA, wMid, 2)
316     TEST_FIELD_ALIGN (MIDIOUTCAPSA, wMid, 1)
317     TEST_FIELD_OFFSET(MIDIOUTCAPSA, wMid, 0)
318     TEST_FIELD_SIZE  (MIDIOUTCAPSA, wPid, 2)
319     TEST_FIELD_ALIGN (MIDIOUTCAPSA, wPid, 1)
320     TEST_FIELD_OFFSET(MIDIOUTCAPSA, wPid, 2)
321     TEST_FIELD_SIZE  (MIDIOUTCAPSA, vDriverVersion, 4)
322     TEST_FIELD_ALIGN (MIDIOUTCAPSA, vDriverVersion, 1)
323     TEST_FIELD_OFFSET(MIDIOUTCAPSA, vDriverVersion, 4)
324 }
325 
326 static void test_pack_MIDIOUTCAPSW(void)
327 {
328     /* MIDIOUTCAPSW (pack 1) */
329     TEST_FIELD_SIZE  (MIDIOUTCAPSW, wMid, 2)
330     TEST_FIELD_ALIGN (MIDIOUTCAPSW, wMid, 1)
331     TEST_FIELD_OFFSET(MIDIOUTCAPSW, wMid, 0)
332     TEST_FIELD_SIZE  (MIDIOUTCAPSW, wPid, 2)
333     TEST_FIELD_ALIGN (MIDIOUTCAPSW, wPid, 1)
334     TEST_FIELD_OFFSET(MIDIOUTCAPSW, wPid, 2)
335     TEST_FIELD_SIZE  (MIDIOUTCAPSW, vDriverVersion, 4)
336     TEST_FIELD_ALIGN (MIDIOUTCAPSW, vDriverVersion, 1)
337     TEST_FIELD_OFFSET(MIDIOUTCAPSW, vDriverVersion, 4)
338 }
339 
340 static void test_pack_MIDIOUTCAPS2A(void)
341 {
342     /* MIDIOUTCAPS2A (pack 1) */
343     TEST_FIELD_SIZE  (MIDIOUTCAPS2A, wMid, 2)
344     TEST_FIELD_ALIGN (MIDIOUTCAPS2A, wMid, 1)
345     TEST_FIELD_OFFSET(MIDIOUTCAPS2A, wMid, 0)
346     TEST_FIELD_SIZE  (MIDIOUTCAPS2A, wPid, 2)
347     TEST_FIELD_ALIGN (MIDIOUTCAPS2A, wPid, 1)
348     TEST_FIELD_OFFSET(MIDIOUTCAPS2A, wPid, 2)
349     TEST_FIELD_SIZE  (MIDIOUTCAPS2A, vDriverVersion, 4)
350     TEST_FIELD_ALIGN (MIDIOUTCAPS2A, vDriverVersion, 1)
351     TEST_FIELD_OFFSET(MIDIOUTCAPS2A, vDriverVersion, 4)
352 }
353 
354 static void test_pack_MIDIOUTCAPS2W(void)
355 {
356     /* MIDIOUTCAPS2W (pack 1) */
357     TEST_FIELD_SIZE  (MIDIOUTCAPS2W, wMid, 2)
358     TEST_FIELD_ALIGN (MIDIOUTCAPS2W, wMid, 1)
359     TEST_FIELD_OFFSET(MIDIOUTCAPS2W, wMid, 0)
360     TEST_FIELD_SIZE  (MIDIOUTCAPS2W, wPid, 2)
361     TEST_FIELD_ALIGN (MIDIOUTCAPS2W, wPid, 1)
362     TEST_FIELD_OFFSET(MIDIOUTCAPS2W, wPid, 2)
363     TEST_FIELD_SIZE  (MIDIOUTCAPS2W, vDriverVersion, 4)
364     TEST_FIELD_ALIGN (MIDIOUTCAPS2W, vDriverVersion, 1)
365     TEST_FIELD_OFFSET(MIDIOUTCAPS2W, vDriverVersion, 4)
366 }
367 
368 static void test_pack_MIDIINCAPSA(void)
369 {
370     /* MIDIINCAPSA (pack 1) */
371     TEST_FIELD_SIZE  (MIDIINCAPSA, wMid, 2)
372     TEST_FIELD_ALIGN (MIDIINCAPSA, wMid, 1)
373     TEST_FIELD_OFFSET(MIDIINCAPSA, wMid, 0)
374     TEST_FIELD_SIZE  (MIDIINCAPSA, wPid, 2)
375     TEST_FIELD_ALIGN (MIDIINCAPSA, wPid, 1)
376     TEST_FIELD_OFFSET(MIDIINCAPSA, wPid, 2)
377     TEST_FIELD_SIZE  (MIDIINCAPSA, vDriverVersion, 4)
378     TEST_FIELD_ALIGN (MIDIINCAPSA, vDriverVersion, 1)
379     TEST_FIELD_OFFSET(MIDIINCAPSA, vDriverVersion, 4)
380 }
381 
382 static void test_pack_MIDIINCAPSW(void)
383 {
384     /* MIDIINCAPSW (pack 1) */
385     TEST_FIELD_SIZE  (MIDIINCAPSW, wMid, 2)
386     TEST_FIELD_ALIGN (MIDIINCAPSW, wMid, 1)
387     TEST_FIELD_OFFSET(MIDIINCAPSW, wMid, 0)
388     TEST_FIELD_SIZE  (MIDIINCAPSW, wPid, 2)
389     TEST_FIELD_ALIGN (MIDIINCAPSW, wPid, 1)
390     TEST_FIELD_OFFSET(MIDIINCAPSW, wPid, 2)
391     TEST_FIELD_SIZE  (MIDIINCAPSW, vDriverVersion, 4)
392     TEST_FIELD_ALIGN (MIDIINCAPSW, vDriverVersion, 1)
393     TEST_FIELD_OFFSET(MIDIINCAPSW, vDriverVersion, 4)
394 }
395 
396 static void test_pack_MIDIINCAPS2A(void)
397 {
398     /* MIDIINCAPS2A (pack 1) */
399     TEST_FIELD_SIZE  (MIDIINCAPS2A, wMid, 2)
400     TEST_FIELD_ALIGN (MIDIINCAPS2A, wMid, 1)
401     TEST_FIELD_OFFSET(MIDIINCAPS2A, wMid, 0)
402     TEST_FIELD_SIZE  (MIDIINCAPS2A, wPid, 2)
403     TEST_FIELD_ALIGN (MIDIINCAPS2A, wPid, 1)
404     TEST_FIELD_OFFSET(MIDIINCAPS2A, wPid, 2)
405     TEST_FIELD_SIZE  (MIDIINCAPS2A, vDriverVersion, 4)
406     TEST_FIELD_ALIGN (MIDIINCAPS2A, vDriverVersion, 1)
407     TEST_FIELD_OFFSET(MIDIINCAPS2A, vDriverVersion, 4)
408 }
409 
410 static void test_pack_MIDIINCAPS2W(void)
411 {
412     /* MIDIINCAPS2W (pack 1) */
413     TEST_FIELD_SIZE  (MIDIINCAPS2W, wMid, 2)
414     TEST_FIELD_ALIGN (MIDIINCAPS2W, wMid, 1)
415     TEST_FIELD_OFFSET(MIDIINCAPS2W, wMid, 0)
416     TEST_FIELD_SIZE  (MIDIINCAPS2W, wPid, 2)
417     TEST_FIELD_ALIGN (MIDIINCAPS2W, wPid, 1)
418     TEST_FIELD_OFFSET(MIDIINCAPS2W, wPid, 2)
419     TEST_FIELD_SIZE  (MIDIINCAPS2W, vDriverVersion, 4)
420     TEST_FIELD_ALIGN (MIDIINCAPS2W, vDriverVersion, 1)
421     TEST_FIELD_OFFSET(MIDIINCAPS2W, vDriverVersion, 4)
422 }
423 
424 static void test_pack_MIDIHDR(void)
425 {
426     /* MIDIHDR (pack 1) */
427     TEST_TYPE_SIZE   (MIDIHDR, 112)
428     TEST_TYPE_ALIGN  (MIDIHDR, 1)
429     TEST_FIELD_SIZE  (MIDIHDR, lpData, 8)
430     TEST_FIELD_ALIGN (MIDIHDR, lpData, 1)
431     TEST_FIELD_OFFSET(MIDIHDR, lpData, 0)
432     TEST_FIELD_SIZE  (MIDIHDR, dwBufferLength, 4)
433     TEST_FIELD_ALIGN (MIDIHDR, dwBufferLength, 1)
434     TEST_FIELD_OFFSET(MIDIHDR, dwBufferLength, 8)
435     TEST_FIELD_SIZE  (MIDIHDR, dwBytesRecorded, 4)
436     TEST_FIELD_ALIGN (MIDIHDR, dwBytesRecorded, 1)
437     TEST_FIELD_OFFSET(MIDIHDR, dwBytesRecorded, 12)
438     TEST_FIELD_SIZE  (MIDIHDR, dwUser, 8)
439     TEST_FIELD_ALIGN (MIDIHDR, dwUser, 1)
440     TEST_FIELD_OFFSET(MIDIHDR, dwUser, 16)
441     TEST_FIELD_SIZE  (MIDIHDR, dwFlags, 4)
442     TEST_FIELD_ALIGN (MIDIHDR, dwFlags, 1)
443     TEST_FIELD_OFFSET(MIDIHDR, dwFlags, 24)
444     TEST_FIELD_SIZE  (MIDIHDR, lpNext, 8)
445     TEST_FIELD_ALIGN (MIDIHDR, lpNext, 1)
446     TEST_FIELD_OFFSET(MIDIHDR, lpNext, 28)
447     TEST_FIELD_SIZE  (MIDIHDR, reserved, 8)
448     TEST_FIELD_ALIGN (MIDIHDR, reserved, 1)
449     TEST_FIELD_OFFSET(MIDIHDR, reserved, 36)
450     TEST_FIELD_SIZE  (MIDIHDR, dwOffset, 4)
451     TEST_FIELD_ALIGN (MIDIHDR, dwOffset, 1)
452     TEST_FIELD_OFFSET(MIDIHDR, dwOffset, 44)
453     TEST_FIELD_SIZE  (MIDIHDR, dwReserved, 64)
454     TEST_FIELD_ALIGN (MIDIHDR, dwReserved, 1)
455     TEST_FIELD_OFFSET(MIDIHDR, dwReserved, 48)
456 }
457 
458 static void test_pack_MIDIEVENT(void)
459 {
460     /* MIDIEVENT (pack 1) */
461     TEST_TYPE_SIZE   (MIDIEVENT, 16)
462     TEST_TYPE_ALIGN  (MIDIEVENT, 1)
463     TEST_FIELD_SIZE  (MIDIEVENT, dwDeltaTime, 4)
464     TEST_FIELD_ALIGN (MIDIEVENT, dwDeltaTime, 1)
465     TEST_FIELD_OFFSET(MIDIEVENT, dwDeltaTime, 0)
466     TEST_FIELD_SIZE  (MIDIEVENT, dwStreamID, 4)
467     TEST_FIELD_ALIGN (MIDIEVENT, dwStreamID, 1)
468     TEST_FIELD_OFFSET(MIDIEVENT, dwStreamID, 4)
469     TEST_FIELD_SIZE  (MIDIEVENT, dwEvent, 4)
470     TEST_FIELD_ALIGN (MIDIEVENT, dwEvent, 1)
471     TEST_FIELD_OFFSET(MIDIEVENT, dwEvent, 8)
472     TEST_FIELD_SIZE  (MIDIEVENT, dwParms, 4)
473     TEST_FIELD_ALIGN (MIDIEVENT, dwParms, 1)
474     TEST_FIELD_OFFSET(MIDIEVENT, dwParms, 12)
475 }
476 
477 static void test_pack_AUXCAPSA(void)
478 {
479     /* AUXCAPSA (pack 1) */
480     TEST_FIELD_SIZE  (AUXCAPSA, wMid, 2)
481     TEST_FIELD_ALIGN (AUXCAPSA, wMid, 1)
482     TEST_FIELD_OFFSET(AUXCAPSA, wMid, 0)
483     TEST_FIELD_SIZE  (AUXCAPSA, wPid, 2)
484     TEST_FIELD_ALIGN (AUXCAPSA, wPid, 1)
485     TEST_FIELD_OFFSET(AUXCAPSA, wPid, 2)
486     TEST_FIELD_SIZE  (AUXCAPSA, vDriverVersion, 4)
487     TEST_FIELD_ALIGN (AUXCAPSA, vDriverVersion, 1)
488     TEST_FIELD_OFFSET(AUXCAPSA, vDriverVersion, 4)
489 }
490 
491 static void test_pack_AUXCAPSW(void)
492 {
493     /* AUXCAPSW (pack 1) */
494     TEST_FIELD_SIZE  (AUXCAPSW, wMid, 2)
495     TEST_FIELD_ALIGN (AUXCAPSW, wMid, 1)
496     TEST_FIELD_OFFSET(AUXCAPSW, wMid, 0)
497     TEST_FIELD_SIZE  (AUXCAPSW, wPid, 2)
498     TEST_FIELD_ALIGN (AUXCAPSW, wPid, 1)
499     TEST_FIELD_OFFSET(AUXCAPSW, wPid, 2)
500     TEST_FIELD_SIZE  (AUXCAPSW, vDriverVersion, 4)
501     TEST_FIELD_ALIGN (AUXCAPSW, vDriverVersion, 1)
502     TEST_FIELD_OFFSET(AUXCAPSW, vDriverVersion, 4)
503 }
504 
505 static void test_pack_AUXCAPS2A(void)
506 {
507     /* AUXCAPS2A (pack 1) */
508     TEST_FIELD_SIZE  (AUXCAPS2A, wMid, 2)
509     TEST_FIELD_ALIGN (AUXCAPS2A, wMid, 1)
510     TEST_FIELD_OFFSET(AUXCAPS2A, wMid, 0)
511     TEST_FIELD_SIZE  (AUXCAPS2A, wPid, 2)
512     TEST_FIELD_ALIGN (AUXCAPS2A, wPid, 1)
513     TEST_FIELD_OFFSET(AUXCAPS2A, wPid, 2)
514     TEST_FIELD_SIZE  (AUXCAPS2A, vDriverVersion, 4)
515     TEST_FIELD_ALIGN (AUXCAPS2A, vDriverVersion, 1)
516     TEST_FIELD_OFFSET(AUXCAPS2A, vDriverVersion, 4)
517 }
518 
519 static void test_pack_AUXCAPS2W(void)
520 {
521     /* AUXCAPS2W (pack 1) */
522     TEST_FIELD_SIZE  (AUXCAPS2W, wMid, 2)
523     TEST_FIELD_ALIGN (AUXCAPS2W, wMid, 1)
524     TEST_FIELD_OFFSET(AUXCAPS2W, wMid, 0)
525     TEST_FIELD_SIZE  (AUXCAPS2W, wPid, 2)
526     TEST_FIELD_ALIGN (AUXCAPS2W, wPid, 1)
527     TEST_FIELD_OFFSET(AUXCAPS2W, wPid, 2)
528     TEST_FIELD_SIZE  (AUXCAPS2W, vDriverVersion, 4)
529     TEST_FIELD_ALIGN (AUXCAPS2W, vDriverVersion, 1)
530     TEST_FIELD_OFFSET(AUXCAPS2W, vDriverVersion, 4)
531 }
532 
533 static void test_pack_TIMECAPS(void)
534 {
535     /* TIMECAPS (pack 1) */
536     TEST_TYPE_SIZE   (TIMECAPS, 8)
537     TEST_TYPE_ALIGN  (TIMECAPS, 1)
538     TEST_FIELD_SIZE  (TIMECAPS, wPeriodMin, 4)
539     TEST_FIELD_ALIGN (TIMECAPS, wPeriodMin, 1)
540     TEST_FIELD_OFFSET(TIMECAPS, wPeriodMin, 0)
541     TEST_FIELD_SIZE  (TIMECAPS, wPeriodMax, 4)
542     TEST_FIELD_ALIGN (TIMECAPS, wPeriodMax, 1)
543     TEST_FIELD_OFFSET(TIMECAPS, wPeriodMax, 4)
544 }
545 
546 static void test_pack_JOYCAPSA(void)
547 {
548     /* JOYCAPSA (pack 1) */
549     TEST_FIELD_SIZE  (JOYCAPSA, wMid, 2)
550     TEST_FIELD_ALIGN (JOYCAPSA, wMid, 1)
551     TEST_FIELD_OFFSET(JOYCAPSA, wMid, 0)
552     TEST_FIELD_SIZE  (JOYCAPSA, wPid, 2)
553     TEST_FIELD_ALIGN (JOYCAPSA, wPid, 1)
554     TEST_FIELD_OFFSET(JOYCAPSA, wPid, 2)
555 }
556 
557 static void test_pack_JOYCAPSW(void)
558 {
559     /* JOYCAPSW (pack 1) */
560     TEST_FIELD_SIZE  (JOYCAPSW, wMid, 2)
561     TEST_FIELD_ALIGN (JOYCAPSW, wMid, 1)
562     TEST_FIELD_OFFSET(JOYCAPSW, wMid, 0)
563     TEST_FIELD_SIZE  (JOYCAPSW, wPid, 2)
564     TEST_FIELD_ALIGN (JOYCAPSW, wPid, 1)
565     TEST_FIELD_OFFSET(JOYCAPSW, wPid, 2)
566 }
567 
568 static void test_pack_JOYCAPS2A(void)
569 {
570     /* JOYCAPS2A (pack 1) */
571     TEST_FIELD_SIZE  (JOYCAPS2A, wMid, 2)
572     TEST_FIELD_ALIGN (JOYCAPS2A, wMid, 1)
573     TEST_FIELD_OFFSET(JOYCAPS2A, wMid, 0)
574     TEST_FIELD_SIZE  (JOYCAPS2A, wPid, 2)
575     TEST_FIELD_ALIGN (JOYCAPS2A, wPid, 1)
576     TEST_FIELD_OFFSET(JOYCAPS2A, wPid, 2)
577 }
578 
579 static void test_pack_JOYCAPS2W(void)
580 {
581     /* JOYCAPS2W (pack 1) */
582     TEST_FIELD_SIZE  (JOYCAPS2W, wMid, 2)
583     TEST_FIELD_ALIGN (JOYCAPS2W, wMid, 1)
584     TEST_FIELD_OFFSET(JOYCAPS2W, wMid, 0)
585     TEST_FIELD_SIZE  (JOYCAPS2W, wPid, 2)
586     TEST_FIELD_ALIGN (JOYCAPS2W, wPid, 1)
587     TEST_FIELD_OFFSET(JOYCAPS2W, wPid, 2)
588 }
589 
590 static void test_pack_JOYINFO(void)
591 {
592     /* JOYINFO (pack 1) */
593     TEST_TYPE_SIZE   (JOYINFO, 16)
594     TEST_TYPE_ALIGN  (JOYINFO, 1)
595     TEST_FIELD_SIZE  (JOYINFO, wXpos, 4)
596     TEST_FIELD_ALIGN (JOYINFO, wXpos, 1)
597     TEST_FIELD_OFFSET(JOYINFO, wXpos, 0)
598     TEST_FIELD_SIZE  (JOYINFO, wYpos, 4)
599     TEST_FIELD_ALIGN (JOYINFO, wYpos, 1)
600     TEST_FIELD_OFFSET(JOYINFO, wYpos, 4)
601     TEST_FIELD_SIZE  (JOYINFO, wZpos, 4)
602     TEST_FIELD_ALIGN (JOYINFO, wZpos, 1)
603     TEST_FIELD_OFFSET(JOYINFO, wZpos, 8)
604     TEST_FIELD_SIZE  (JOYINFO, wButtons, 4)
605     TEST_FIELD_ALIGN (JOYINFO, wButtons, 1)
606     TEST_FIELD_OFFSET(JOYINFO, wButtons, 12)
607 }
608 
609 static void test_pack_JOYINFOEX(void)
610 {
611     /* JOYINFOEX (pack 1) */
612     TEST_TYPE_SIZE   (JOYINFOEX, 52)
613     TEST_TYPE_ALIGN  (JOYINFOEX, 1)
614     TEST_FIELD_SIZE  (JOYINFOEX, dwSize, 4)
615     TEST_FIELD_ALIGN (JOYINFOEX, dwSize, 1)
616     TEST_FIELD_OFFSET(JOYINFOEX, dwSize, 0)
617     TEST_FIELD_SIZE  (JOYINFOEX, dwFlags, 4)
618     TEST_FIELD_ALIGN (JOYINFOEX, dwFlags, 1)
619     TEST_FIELD_OFFSET(JOYINFOEX, dwFlags, 4)
620     TEST_FIELD_SIZE  (JOYINFOEX, dwXpos, 4)
621     TEST_FIELD_ALIGN (JOYINFOEX, dwXpos, 1)
622     TEST_FIELD_OFFSET(JOYINFOEX, dwXpos, 8)
623     TEST_FIELD_SIZE  (JOYINFOEX, dwYpos, 4)
624     TEST_FIELD_ALIGN (JOYINFOEX, dwYpos, 1)
625     TEST_FIELD_OFFSET(JOYINFOEX, dwYpos, 12)
626     TEST_FIELD_SIZE  (JOYINFOEX, dwZpos, 4)
627     TEST_FIELD_ALIGN (JOYINFOEX, dwZpos, 1)
628     TEST_FIELD_OFFSET(JOYINFOEX, dwZpos, 16)
629     TEST_FIELD_SIZE  (JOYINFOEX, dwRpos, 4)
630     TEST_FIELD_ALIGN (JOYINFOEX, dwRpos, 1)
631     TEST_FIELD_OFFSET(JOYINFOEX, dwRpos, 20)
632     TEST_FIELD_SIZE  (JOYINFOEX, dwUpos, 4)
633     TEST_FIELD_ALIGN (JOYINFOEX, dwUpos, 1)
634     TEST_FIELD_OFFSET(JOYINFOEX, dwUpos, 24)
635     TEST_FIELD_SIZE  (JOYINFOEX, dwVpos, 4)
636     TEST_FIELD_ALIGN (JOYINFOEX, dwVpos, 1)
637     TEST_FIELD_OFFSET(JOYINFOEX, dwVpos, 28)
638     TEST_FIELD_SIZE  (JOYINFOEX, dwButtons, 4)
639     TEST_FIELD_ALIGN (JOYINFOEX, dwButtons, 1)
640     TEST_FIELD_OFFSET(JOYINFOEX, dwButtons, 32)
641     TEST_FIELD_SIZE  (JOYINFOEX, dwButtonNumber, 4)
642     TEST_FIELD_ALIGN (JOYINFOEX, dwButtonNumber, 1)
643     TEST_FIELD_OFFSET(JOYINFOEX, dwButtonNumber, 36)
644     TEST_FIELD_SIZE  (JOYINFOEX, dwPOV, 4)
645     TEST_FIELD_ALIGN (JOYINFOEX, dwPOV, 1)
646     TEST_FIELD_OFFSET(JOYINFOEX, dwPOV, 40)
647     TEST_FIELD_SIZE  (JOYINFOEX, dwReserved1, 4)
648     TEST_FIELD_ALIGN (JOYINFOEX, dwReserved1, 1)
649     TEST_FIELD_OFFSET(JOYINFOEX, dwReserved1, 44)
650     TEST_FIELD_SIZE  (JOYINFOEX, dwReserved2, 4)
651     TEST_FIELD_ALIGN (JOYINFOEX, dwReserved2, 1)
652     TEST_FIELD_OFFSET(JOYINFOEX, dwReserved2, 48)
653 }
654 
655 static void test_pack_MIXERCAPSA(void)
656 {
657     /* MIXERCAPSA (pack 1) */
658     TEST_FIELD_SIZE  (MIXERCAPSA, wMid, 2)
659     TEST_FIELD_ALIGN (MIXERCAPSA, wMid, 1)
660     TEST_FIELD_OFFSET(MIXERCAPSA, wMid, 0)
661     TEST_FIELD_SIZE  (MIXERCAPSA, wPid, 2)
662     TEST_FIELD_ALIGN (MIXERCAPSA, wPid, 1)
663     TEST_FIELD_OFFSET(MIXERCAPSA, wPid, 2)
664     TEST_FIELD_SIZE  (MIXERCAPSA, vDriverVersion, 4)
665     TEST_FIELD_ALIGN (MIXERCAPSA, vDriverVersion, 1)
666     TEST_FIELD_OFFSET(MIXERCAPSA, vDriverVersion, 4)
667 }
668 
669 static void test_pack_MIXERCAPSW(void)
670 {
671     /* MIXERCAPSW (pack 1) */
672     TEST_FIELD_SIZE  (MIXERCAPSW, wMid, 2)
673     TEST_FIELD_ALIGN (MIXERCAPSW, wMid, 1)
674     TEST_FIELD_OFFSET(MIXERCAPSW, wMid, 0)
675     TEST_FIELD_SIZE  (MIXERCAPSW, wPid, 2)
676     TEST_FIELD_ALIGN (MIXERCAPSW, wPid, 1)
677     TEST_FIELD_OFFSET(MIXERCAPSW, wPid, 2)
678     TEST_FIELD_SIZE  (MIXERCAPSW, vDriverVersion, 4)
679     TEST_FIELD_ALIGN (MIXERCAPSW, vDriverVersion, 1)
680     TEST_FIELD_OFFSET(MIXERCAPSW, vDriverVersion, 4)
681 }
682 
683 static void test_pack_MIXERCAPS2A(void)
684 {
685     /* MIXERCAPS2A (pack 1) */
686     TEST_FIELD_SIZE  (MIXERCAPS2A, wMid, 2)
687     TEST_FIELD_ALIGN (MIXERCAPS2A, wMid, 1)
688     TEST_FIELD_OFFSET(MIXERCAPS2A, wMid, 0)
689     TEST_FIELD_SIZE  (MIXERCAPS2A, wPid, 2)
690     TEST_FIELD_ALIGN (MIXERCAPS2A, wPid, 1)
691     TEST_FIELD_OFFSET(MIXERCAPS2A, wPid, 2)
692     TEST_FIELD_SIZE  (MIXERCAPS2A, vDriverVersion, 4)
693     TEST_FIELD_ALIGN (MIXERCAPS2A, vDriverVersion, 1)
694     TEST_FIELD_OFFSET(MIXERCAPS2A, vDriverVersion, 4)
695 }
696 
697 static void test_pack_MIXERCAPS2W(void)
698 {
699     /* MIXERCAPS2W (pack 1) */
700     TEST_FIELD_SIZE  (MIXERCAPS2W, wMid, 2)
701     TEST_FIELD_ALIGN (MIXERCAPS2W, wMid, 1)
702     TEST_FIELD_OFFSET(MIXERCAPS2W, wMid, 0)
703     TEST_FIELD_SIZE  (MIXERCAPS2W, wPid, 2)
704     TEST_FIELD_ALIGN (MIXERCAPS2W, wPid, 1)
705     TEST_FIELD_OFFSET(MIXERCAPS2W, wPid, 2)
706     TEST_FIELD_SIZE  (MIXERCAPS2W, vDriverVersion, 4)
707     TEST_FIELD_ALIGN (MIXERCAPS2W, vDriverVersion, 1)
708     TEST_FIELD_OFFSET(MIXERCAPS2W, vDriverVersion, 4)
709 }
710 
711 static void test_pack_MIXERLINEA(void)
712 {
713     /* MIXERLINEA (pack 1) */
714     TEST_FIELD_SIZE  (MIXERLINEA, cbStruct, 4)
715     TEST_FIELD_ALIGN (MIXERLINEA, cbStruct, 1)
716     TEST_FIELD_OFFSET(MIXERLINEA, cbStruct, 0)
717     TEST_FIELD_SIZE  (MIXERLINEA, dwDestination, 4)
718     TEST_FIELD_ALIGN (MIXERLINEA, dwDestination, 1)
719     TEST_FIELD_OFFSET(MIXERLINEA, dwDestination, 4)
720     TEST_FIELD_SIZE  (MIXERLINEA, dwSource, 4)
721     TEST_FIELD_ALIGN (MIXERLINEA, dwSource, 1)
722     TEST_FIELD_OFFSET(MIXERLINEA, dwSource, 8)
723     TEST_FIELD_SIZE  (MIXERLINEA, dwLineID, 4)
724     TEST_FIELD_ALIGN (MIXERLINEA, dwLineID, 1)
725     TEST_FIELD_OFFSET(MIXERLINEA, dwLineID, 12)
726     TEST_FIELD_SIZE  (MIXERLINEA, fdwLine, 4)
727     TEST_FIELD_ALIGN (MIXERLINEA, fdwLine, 1)
728     TEST_FIELD_OFFSET(MIXERLINEA, fdwLine, 16)
729     TEST_FIELD_SIZE  (MIXERLINEA, dwUser, 8)
730     TEST_FIELD_ALIGN (MIXERLINEA, dwUser, 1)
731     TEST_FIELD_OFFSET(MIXERLINEA, dwUser, 20)
732     TEST_FIELD_SIZE  (MIXERLINEA, dwComponentType, 4)
733     TEST_FIELD_ALIGN (MIXERLINEA, dwComponentType, 1)
734     TEST_FIELD_OFFSET(MIXERLINEA, dwComponentType, 28)
735     TEST_FIELD_SIZE  (MIXERLINEA, cChannels, 4)
736     TEST_FIELD_ALIGN (MIXERLINEA, cChannels, 1)
737     TEST_FIELD_OFFSET(MIXERLINEA, cChannels, 32)
738     TEST_FIELD_SIZE  (MIXERLINEA, cConnections, 4)
739     TEST_FIELD_ALIGN (MIXERLINEA, cConnections, 1)
740     TEST_FIELD_OFFSET(MIXERLINEA, cConnections, 36)
741     TEST_FIELD_SIZE  (MIXERLINEA, cControls, 4)
742     TEST_FIELD_ALIGN (MIXERLINEA, cControls, 1)
743     TEST_FIELD_OFFSET(MIXERLINEA, cControls, 40)
744 }
745 
746 static void test_pack_MIXERLINEW(void)
747 {
748     /* MIXERLINEW (pack 1) */
749     TEST_FIELD_SIZE  (MIXERLINEW, cbStruct, 4)
750     TEST_FIELD_ALIGN (MIXERLINEW, cbStruct, 1)
751     TEST_FIELD_OFFSET(MIXERLINEW, cbStruct, 0)
752     TEST_FIELD_SIZE  (MIXERLINEW, dwDestination, 4)
753     TEST_FIELD_ALIGN (MIXERLINEW, dwDestination, 1)
754     TEST_FIELD_OFFSET(MIXERLINEW, dwDestination, 4)
755     TEST_FIELD_SIZE  (MIXERLINEW, dwSource, 4)
756     TEST_FIELD_ALIGN (MIXERLINEW, dwSource, 1)
757     TEST_FIELD_OFFSET(MIXERLINEW, dwSource, 8)
758     TEST_FIELD_SIZE  (MIXERLINEW, dwLineID, 4)
759     TEST_FIELD_ALIGN (MIXERLINEW, dwLineID, 1)
760     TEST_FIELD_OFFSET(MIXERLINEW, dwLineID, 12)
761     TEST_FIELD_SIZE  (MIXERLINEW, fdwLine, 4)
762     TEST_FIELD_ALIGN (MIXERLINEW, fdwLine, 1)
763     TEST_FIELD_OFFSET(MIXERLINEW, fdwLine, 16)
764     TEST_FIELD_SIZE  (MIXERLINEW, dwUser, 8)
765     TEST_FIELD_ALIGN (MIXERLINEW, dwUser, 1)
766     TEST_FIELD_OFFSET(MIXERLINEW, dwUser, 20)
767     TEST_FIELD_SIZE  (MIXERLINEW, dwComponentType, 4)
768     TEST_FIELD_ALIGN (MIXERLINEW, dwComponentType, 1)
769     TEST_FIELD_OFFSET(MIXERLINEW, dwComponentType, 28)
770     TEST_FIELD_SIZE  (MIXERLINEW, cChannels, 4)
771     TEST_FIELD_ALIGN (MIXERLINEW, cChannels, 1)
772     TEST_FIELD_OFFSET(MIXERLINEW, cChannels, 32)
773     TEST_FIELD_SIZE  (MIXERLINEW, cConnections, 4)
774     TEST_FIELD_ALIGN (MIXERLINEW, cConnections, 1)
775     TEST_FIELD_OFFSET(MIXERLINEW, cConnections, 36)
776     TEST_FIELD_SIZE  (MIXERLINEW, cControls, 4)
777     TEST_FIELD_ALIGN (MIXERLINEW, cControls, 1)
778     TEST_FIELD_OFFSET(MIXERLINEW, cControls, 40)
779 }
780 
781 static void test_pack_MIXERCONTROLA(void)
782 {
783     /* MIXERCONTROLA (pack 1) */
784     TEST_FIELD_SIZE  (MIXERCONTROLA, cbStruct, 4)
785     TEST_FIELD_ALIGN (MIXERCONTROLA, cbStruct, 1)
786     TEST_FIELD_OFFSET(MIXERCONTROLA, cbStruct, 0)
787     TEST_FIELD_SIZE  (MIXERCONTROLA, dwControlID, 4)
788     TEST_FIELD_ALIGN (MIXERCONTROLA, dwControlID, 1)
789     TEST_FIELD_OFFSET(MIXERCONTROLA, dwControlID, 4)
790     TEST_FIELD_SIZE  (MIXERCONTROLA, dwControlType, 4)
791     TEST_FIELD_ALIGN (MIXERCONTROLA, dwControlType, 1)
792     TEST_FIELD_OFFSET(MIXERCONTROLA, dwControlType, 8)
793     TEST_FIELD_SIZE  (MIXERCONTROLA, fdwControl, 4)
794     TEST_FIELD_ALIGN (MIXERCONTROLA, fdwControl, 1)
795     TEST_FIELD_OFFSET(MIXERCONTROLA, fdwControl, 12)
796     TEST_FIELD_SIZE  (MIXERCONTROLA, cMultipleItems, 4)
797     TEST_FIELD_ALIGN (MIXERCONTROLA, cMultipleItems, 1)
798     TEST_FIELD_OFFSET(MIXERCONTROLA, cMultipleItems, 16)
799 }
800 
801 static void test_pack_MIXERCONTROLW(void)
802 {
803     /* MIXERCONTROLW (pack 1) */
804     TEST_FIELD_SIZE  (MIXERCONTROLW, cbStruct, 4)
805     TEST_FIELD_ALIGN (MIXERCONTROLW, cbStruct, 1)
806     TEST_FIELD_OFFSET(MIXERCONTROLW, cbStruct, 0)
807     TEST_FIELD_SIZE  (MIXERCONTROLW, dwControlID, 4)
808     TEST_FIELD_ALIGN (MIXERCONTROLW, dwControlID, 1)
809     TEST_FIELD_OFFSET(MIXERCONTROLW, dwControlID, 4)
810     TEST_FIELD_SIZE  (MIXERCONTROLW, dwControlType, 4)
811     TEST_FIELD_ALIGN (MIXERCONTROLW, dwControlType, 1)
812     TEST_FIELD_OFFSET(MIXERCONTROLW, dwControlType, 8)
813     TEST_FIELD_SIZE  (MIXERCONTROLW, fdwControl, 4)
814     TEST_FIELD_ALIGN (MIXERCONTROLW, fdwControl, 1)
815     TEST_FIELD_OFFSET(MIXERCONTROLW, fdwControl, 12)
816     TEST_FIELD_SIZE  (MIXERCONTROLW, cMultipleItems, 4)
817     TEST_FIELD_ALIGN (MIXERCONTROLW, cMultipleItems, 1)
818     TEST_FIELD_OFFSET(MIXERCONTROLW, cMultipleItems, 16)
819 }
820 
821 static void test_pack_MIXERCONTROLDETAILS(void)
822 {
823     /* MIXERCONTROLDETAILS (pack 1) */
824     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, cbStruct, 4)
825     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, cbStruct, 1)
826     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, cbStruct, 0)
827     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, dwControlID, 4)
828     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, dwControlID, 1)
829     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, dwControlID, 4)
830     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, cChannels, 4)
831     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, cChannels, 1)
832     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, cChannels, 8)
833 }
834 
835 static void test_pack_MIXERCONTROLDETAILS_LISTTEXTA(void)
836 {
837     /* MIXERCONTROLDETAILS_LISTTEXTA (pack 1) */
838     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 4)
839     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 1)
840     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 0)
841     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 4)
842     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 1)
843     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 4)
844 }
845 
846 static void test_pack_MIXERCONTROLDETAILS_LISTTEXTW(void)
847 {
848     /* MIXERCONTROLDETAILS_LISTTEXTW (pack 1) */
849     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 4)
850     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 1)
851     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 0)
852     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 4)
853     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 1)
854     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 4)
855 }
856 
857 static void test_pack_MIXERCONTROLDETAILS_BOOLEAN(void)
858 {
859     /* MIXERCONTROLDETAILS_BOOLEAN (pack 1) */
860     TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_BOOLEAN, 4)
861     TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_BOOLEAN, 1)
862     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_BOOLEAN, fValue, 4)
863     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_BOOLEAN, fValue, 1)
864     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_BOOLEAN, fValue, 0)
865 }
866 
867 static void test_pack_MIXERCONTROLDETAILS_SIGNED(void)
868 {
869     /* MIXERCONTROLDETAILS_SIGNED (pack 1) */
870     TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_SIGNED, 4)
871     TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_SIGNED, 1)
872     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_SIGNED, lValue, 4)
873     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_SIGNED, lValue, 1)
874     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_SIGNED, lValue, 0)
875 }
876 
877 static void test_pack_MIXERCONTROLDETAILS_UNSIGNED(void)
878 {
879     /* MIXERCONTROLDETAILS_UNSIGNED (pack 1) */
880     TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_UNSIGNED, 4)
881     TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_UNSIGNED, 1)
882     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_UNSIGNED, dwValue, 4)
883     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_UNSIGNED, dwValue, 1)
884     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_UNSIGNED, dwValue, 0)
885 }
886 
887 static void test_pack_MMIOINFO(void)
888 {
889     /* MMIOINFO (pack 1) */
890     TEST_FIELD_SIZE  (MMIOINFO, dwFlags, 4)
891     TEST_FIELD_ALIGN (MMIOINFO, dwFlags, 1)
892     TEST_FIELD_OFFSET(MMIOINFO, dwFlags, 0)
893     TEST_FIELD_SIZE  (MMIOINFO, fccIOProc, 4)
894     TEST_FIELD_ALIGN (MMIOINFO, fccIOProc, 1)
895     TEST_FIELD_OFFSET(MMIOINFO, fccIOProc, 4)
896     TEST_FIELD_SIZE  (MMIOINFO, pIOProc, 8)
897     TEST_FIELD_ALIGN (MMIOINFO, pIOProc, 1)
898     TEST_FIELD_OFFSET(MMIOINFO, pIOProc, 8)
899     TEST_FIELD_SIZE  (MMIOINFO, wErrorRet, 4)
900     TEST_FIELD_ALIGN (MMIOINFO, wErrorRet, 1)
901     TEST_FIELD_OFFSET(MMIOINFO, wErrorRet, 16)
902 }
903 
904 static void test_pack_MMCKINFO(void)
905 {
906     /* MMCKINFO (pack 1) */
907     TEST_TYPE_SIZE   (MMCKINFO, 20)
908     TEST_TYPE_ALIGN  (MMCKINFO, 1)
909     TEST_FIELD_SIZE  (MMCKINFO, ckid, 4)
910     TEST_FIELD_ALIGN (MMCKINFO, ckid, 1)
911     TEST_FIELD_OFFSET(MMCKINFO, ckid, 0)
912     TEST_FIELD_SIZE  (MMCKINFO, cksize, 4)
913     TEST_FIELD_ALIGN (MMCKINFO, cksize, 1)
914     TEST_FIELD_OFFSET(MMCKINFO, cksize, 4)
915     TEST_FIELD_SIZE  (MMCKINFO, fccType, 4)
916     TEST_FIELD_ALIGN (MMCKINFO, fccType, 1)
917     TEST_FIELD_OFFSET(MMCKINFO, fccType, 8)
918     TEST_FIELD_SIZE  (MMCKINFO, dwDataOffset, 4)
919     TEST_FIELD_ALIGN (MMCKINFO, dwDataOffset, 1)
920     TEST_FIELD_OFFSET(MMCKINFO, dwDataOffset, 12)
921     TEST_FIELD_SIZE  (MMCKINFO, dwFlags, 4)
922     TEST_FIELD_ALIGN (MMCKINFO, dwFlags, 1)
923     TEST_FIELD_OFFSET(MMCKINFO, dwFlags, 16)
924 }
925 
926 static void test_pack_MCI_GENERIC_PARMS(void)
927 {
928     /* MCI_GENERIC_PARMS (pack 1) */
929     TEST_TYPE_SIZE   (MCI_GENERIC_PARMS, 8)
930     TEST_TYPE_ALIGN  (MCI_GENERIC_PARMS, 1)
931     TEST_FIELD_SIZE  (MCI_GENERIC_PARMS, dwCallback, 8)
932     TEST_FIELD_ALIGN (MCI_GENERIC_PARMS, dwCallback, 1)
933     TEST_FIELD_OFFSET(MCI_GENERIC_PARMS, dwCallback, 0)
934 }
935 
936 static void test_pack_MCI_OPEN_PARMSA(void)
937 {
938     /* MCI_OPEN_PARMSA (pack 1) */
939     TEST_TYPE_SIZE   (MCI_OPEN_PARMSA, 36)
940     TEST_TYPE_ALIGN  (MCI_OPEN_PARMSA, 1)
941     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, dwCallback, 8)
942     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, dwCallback, 1)
943     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, dwCallback, 0)
944     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, wDeviceID, 4)
945     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, wDeviceID, 1)
946     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, wDeviceID, 8)
947     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrDeviceType, 8)
948     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrDeviceType, 1)
949     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrDeviceType, 12)
950     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrElementName, 8)
951     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrElementName, 1)
952     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrElementName, 20)
953     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrAlias, 8)
954     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrAlias, 1)
955     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrAlias, 28)
956 }
957 
958 static void test_pack_MCI_OPEN_PARMSW(void)
959 {
960     /* MCI_OPEN_PARMSW (pack 1) */
961     TEST_TYPE_SIZE   (MCI_OPEN_PARMSW, 36)
962     TEST_TYPE_ALIGN  (MCI_OPEN_PARMSW, 1)
963     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, dwCallback, 8)
964     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, dwCallback, 1)
965     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, dwCallback, 0)
966     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, wDeviceID, 4)
967     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, wDeviceID, 1)
968     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, wDeviceID, 8)
969     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrDeviceType, 8)
970     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrDeviceType, 1)
971     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrDeviceType, 12)
972     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrElementName, 8)
973     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrElementName, 1)
974     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrElementName, 20)
975     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrAlias, 8)
976     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrAlias, 1)
977     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrAlias, 28)
978 }
979 
980 static void test_pack_MCI_PLAY_PARMS(void)
981 {
982     /* MCI_PLAY_PARMS (pack 1) */
983     TEST_TYPE_SIZE   (MCI_PLAY_PARMS, 16)
984     TEST_TYPE_ALIGN  (MCI_PLAY_PARMS, 1)
985     TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwCallback, 8)
986     TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwCallback, 1)
987     TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwCallback, 0)
988     TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwFrom, 4)
989     TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwFrom, 1)
990     TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwFrom, 8)
991     TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwTo, 4)
992     TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwTo, 1)
993     TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwTo, 12)
994 }
995 
996 static void test_pack_MCI_SEEK_PARMS(void)
997 {
998     /* MCI_SEEK_PARMS (pack 1) */
999     TEST_TYPE_SIZE   (MCI_SEEK_PARMS, 12)
1000     TEST_TYPE_ALIGN  (MCI_SEEK_PARMS, 1)
1001     TEST_FIELD_SIZE  (MCI_SEEK_PARMS, dwCallback, 8)
1002     TEST_FIELD_ALIGN (MCI_SEEK_PARMS, dwCallback, 1)
1003     TEST_FIELD_OFFSET(MCI_SEEK_PARMS, dwCallback, 0)
1004     TEST_FIELD_SIZE  (MCI_SEEK_PARMS, dwTo, 4)
1005     TEST_FIELD_ALIGN (MCI_SEEK_PARMS, dwTo, 1)
1006     TEST_FIELD_OFFSET(MCI_SEEK_PARMS, dwTo, 8)
1007 }
1008 
1009 static void test_pack_MCI_STATUS_PARMS(void)
1010 {
1011     /* MCI_STATUS_PARMS (pack 1) */
1012     TEST_TYPE_SIZE   (MCI_STATUS_PARMS, 24)
1013     TEST_TYPE_ALIGN  (MCI_STATUS_PARMS, 1)
1014     TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwCallback, 8)
1015     TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwCallback, 1)
1016     TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwCallback, 0)
1017     TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwReturn, 8)
1018     TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwReturn, 1)
1019     TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwReturn, 8)
1020     TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwItem, 4)
1021     TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwItem, 1)
1022     TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwItem, 16)
1023     TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwTrack, 4)
1024     TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwTrack, 1)
1025     TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwTrack, 20)
1026 }
1027 
1028 static void test_pack_MCI_INFO_PARMSA(void)
1029 {
1030     /* MCI_INFO_PARMSA (pack 1) */
1031     TEST_TYPE_SIZE   (MCI_INFO_PARMSA, 20)
1032     TEST_TYPE_ALIGN  (MCI_INFO_PARMSA, 1)
1033     TEST_FIELD_SIZE  (MCI_INFO_PARMSA, dwCallback, 8)
1034     TEST_FIELD_ALIGN (MCI_INFO_PARMSA, dwCallback, 1)
1035     TEST_FIELD_OFFSET(MCI_INFO_PARMSA, dwCallback, 0)
1036     TEST_FIELD_SIZE  (MCI_INFO_PARMSA, lpstrReturn, 8)
1037     TEST_FIELD_ALIGN (MCI_INFO_PARMSA, lpstrReturn, 1)
1038     TEST_FIELD_OFFSET(MCI_INFO_PARMSA, lpstrReturn, 8)
1039     TEST_FIELD_SIZE  (MCI_INFO_PARMSA, dwRetSize, 4)
1040     TEST_FIELD_ALIGN (MCI_INFO_PARMSA, dwRetSize, 1)
1041     TEST_FIELD_OFFSET(MCI_INFO_PARMSA, dwRetSize, 16)
1042 }
1043 
1044 static void test_pack_MCI_INFO_PARMSW(void)
1045 {
1046     /* MCI_INFO_PARMSW (pack 1) */
1047     TEST_TYPE_SIZE   (MCI_INFO_PARMSW, 20)
1048     TEST_TYPE_ALIGN  (MCI_INFO_PARMSW, 1)
1049     TEST_FIELD_SIZE  (MCI_INFO_PARMSW, dwCallback, 8)
1050     TEST_FIELD_ALIGN (MCI_INFO_PARMSW, dwCallback, 1)
1051     TEST_FIELD_OFFSET(MCI_INFO_PARMSW, dwCallback, 0)
1052     TEST_FIELD_SIZE  (MCI_INFO_PARMSW, lpstrReturn, 8)
1053     TEST_FIELD_ALIGN (MCI_INFO_PARMSW, lpstrReturn, 1)
1054     TEST_FIELD_OFFSET(MCI_INFO_PARMSW, lpstrReturn, 8)
1055     TEST_FIELD_SIZE  (MCI_INFO_PARMSW, dwRetSize, 4)
1056     TEST_FIELD_ALIGN (MCI_INFO_PARMSW, dwRetSize, 1)
1057     TEST_FIELD_OFFSET(MCI_INFO_PARMSW, dwRetSize, 16)
1058 }
1059 
1060 static void test_pack_MCI_GETDEVCAPS_PARMS(void)
1061 {
1062     /* MCI_GETDEVCAPS_PARMS (pack 1) */
1063     TEST_TYPE_SIZE   (MCI_GETDEVCAPS_PARMS, 16)
1064     TEST_TYPE_ALIGN  (MCI_GETDEVCAPS_PARMS, 1)
1065     TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwCallback, 8)
1066     TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwCallback, 1)
1067     TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwCallback, 0)
1068     TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwReturn, 4)
1069     TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwReturn, 1)
1070     TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwReturn, 8)
1071     TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwItem, 4)
1072     TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwItem, 1)
1073     TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwItem, 12)
1074 }
1075 
1076 static void test_pack_MCI_SYSINFO_PARMSA(void)
1077 {
1078     /* MCI_SYSINFO_PARMSA (pack 1) */
1079     TEST_TYPE_SIZE   (MCI_SYSINFO_PARMSA, 28)
1080     TEST_TYPE_ALIGN  (MCI_SYSINFO_PARMSA, 1)
1081     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwCallback, 8)
1082     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwCallback, 1)
1083     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwCallback, 0)
1084     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, lpstrReturn, 8)
1085     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, lpstrReturn, 1)
1086     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, lpstrReturn, 8)
1087     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwRetSize, 4)
1088     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwRetSize, 1)
1089     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwRetSize, 16)
1090     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwNumber, 4)
1091     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwNumber, 1)
1092     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwNumber, 20)
1093     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, wDeviceType, 4)
1094     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, wDeviceType, 1)
1095     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, wDeviceType, 24)
1096 }
1097 
1098 static void test_pack_MCI_SYSINFO_PARMSW(void)
1099 {
1100     /* MCI_SYSINFO_PARMSW (pack 1) */
1101     TEST_TYPE_SIZE   (MCI_SYSINFO_PARMSW, 28)
1102     TEST_TYPE_ALIGN  (MCI_SYSINFO_PARMSW, 1)
1103     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwCallback, 8)
1104     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwCallback, 1)
1105     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwCallback, 0)
1106     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, lpstrReturn, 8)
1107     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, lpstrReturn, 1)
1108     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, lpstrReturn, 8)
1109     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwRetSize, 4)
1110     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwRetSize, 1)
1111     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwRetSize, 16)
1112     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwNumber, 4)
1113     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwNumber, 1)
1114     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwNumber, 20)
1115     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, wDeviceType, 4)
1116     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, wDeviceType, 1)
1117     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, wDeviceType, 24)
1118 }
1119 
1120 static void test_pack_MCI_SET_PARMS(void)
1121 {
1122     /* MCI_SET_PARMS (pack 1) */
1123     TEST_TYPE_SIZE   (MCI_SET_PARMS, 16)
1124     TEST_TYPE_ALIGN  (MCI_SET_PARMS, 1)
1125     TEST_FIELD_SIZE  (MCI_SET_PARMS, dwCallback, 8)
1126     TEST_FIELD_ALIGN (MCI_SET_PARMS, dwCallback, 1)
1127     TEST_FIELD_OFFSET(MCI_SET_PARMS, dwCallback, 0)
1128     TEST_FIELD_SIZE  (MCI_SET_PARMS, dwTimeFormat, 4)
1129     TEST_FIELD_ALIGN (MCI_SET_PARMS, dwTimeFormat, 1)
1130     TEST_FIELD_OFFSET(MCI_SET_PARMS, dwTimeFormat, 8)
1131     TEST_FIELD_SIZE  (MCI_SET_PARMS, dwAudio, 4)
1132     TEST_FIELD_ALIGN (MCI_SET_PARMS, dwAudio, 1)
1133     TEST_FIELD_OFFSET(MCI_SET_PARMS, dwAudio, 12)
1134 }
1135 
1136 static void test_pack_MCI_BREAK_PARMS(void)
1137 {
1138     /* MCI_BREAK_PARMS (pack 1) */
1139     TEST_TYPE_SIZE   (MCI_BREAK_PARMS, 20)
1140     TEST_TYPE_ALIGN  (MCI_BREAK_PARMS, 1)
1141     TEST_FIELD_SIZE  (MCI_BREAK_PARMS, dwCallback, 8)
1142     TEST_FIELD_ALIGN (MCI_BREAK_PARMS, dwCallback, 1)
1143     TEST_FIELD_OFFSET(MCI_BREAK_PARMS, dwCallback, 0)
1144     TEST_FIELD_SIZE  (MCI_BREAK_PARMS, nVirtKey, 4)
1145     TEST_FIELD_ALIGN (MCI_BREAK_PARMS, nVirtKey, 1)
1146     TEST_FIELD_OFFSET(MCI_BREAK_PARMS, nVirtKey, 8)
1147     TEST_FIELD_SIZE  (MCI_BREAK_PARMS, hwndBreak, 8)
1148     TEST_FIELD_ALIGN (MCI_BREAK_PARMS, hwndBreak, 1)
1149     TEST_FIELD_OFFSET(MCI_BREAK_PARMS, hwndBreak, 12)
1150 }
1151 
1152 static void test_pack_MCI_SOUND_PARMSA(void)
1153 {
1154     /* MCI_SOUND_PARMSA (pack 1) */
1155     TEST_TYPE_SIZE   (MCI_SOUND_PARMSA, 16)
1156     TEST_TYPE_ALIGN  (MCI_SOUND_PARMSA, 1)
1157     TEST_FIELD_SIZE  (MCI_SOUND_PARMSA, dwCallback, 8)
1158     TEST_FIELD_ALIGN (MCI_SOUND_PARMSA, dwCallback, 1)
1159     TEST_FIELD_OFFSET(MCI_SOUND_PARMSA, dwCallback, 0)
1160     TEST_FIELD_SIZE  (MCI_SOUND_PARMSA, lpstrSoundName, 8)
1161     TEST_FIELD_ALIGN (MCI_SOUND_PARMSA, lpstrSoundName, 1)
1162     TEST_FIELD_OFFSET(MCI_SOUND_PARMSA, lpstrSoundName, 8)
1163 }
1164 
1165 static void test_pack_MCI_SOUND_PARMSW(void)
1166 {
1167     /* MCI_SOUND_PARMSW (pack 1) */
1168     TEST_TYPE_SIZE   (MCI_SOUND_PARMSW, 16)
1169     TEST_TYPE_ALIGN  (MCI_SOUND_PARMSW, 1)
1170     TEST_FIELD_SIZE  (MCI_SOUND_PARMSW, dwCallback, 8)
1171     TEST_FIELD_ALIGN (MCI_SOUND_PARMSW, dwCallback, 1)
1172     TEST_FIELD_OFFSET(MCI_SOUND_PARMSW, dwCallback, 0)
1173     TEST_FIELD_SIZE  (MCI_SOUND_PARMSW, lpstrSoundName, 8)
1174     TEST_FIELD_ALIGN (MCI_SOUND_PARMSW, lpstrSoundName, 1)
1175     TEST_FIELD_OFFSET(MCI_SOUND_PARMSW, lpstrSoundName, 8)
1176 }
1177 
1178 static void test_pack_MCI_SAVE_PARMSA(void)
1179 {
1180     /* MCI_SAVE_PARMSA (pack 1) */
1181     TEST_TYPE_SIZE   (MCI_SAVE_PARMSA, 16)
1182     TEST_TYPE_ALIGN  (MCI_SAVE_PARMSA, 1)
1183     TEST_FIELD_SIZE  (MCI_SAVE_PARMSA, dwCallback, 8)
1184     TEST_FIELD_ALIGN (MCI_SAVE_PARMSA, dwCallback, 1)
1185     TEST_FIELD_OFFSET(MCI_SAVE_PARMSA, dwCallback, 0)
1186     TEST_FIELD_SIZE  (MCI_SAVE_PARMSA, lpfilename, 8)
1187     TEST_FIELD_ALIGN (MCI_SAVE_PARMSA, lpfilename, 1)
1188     TEST_FIELD_OFFSET(MCI_SAVE_PARMSA, lpfilename, 8)
1189 }
1190 
1191 static void test_pack_MCI_SAVE_PARMSW(void)
1192 {
1193     /* MCI_SAVE_PARMSW (pack 1) */
1194     TEST_TYPE_SIZE   (MCI_SAVE_PARMSW, 16)
1195     TEST_TYPE_ALIGN  (MCI_SAVE_PARMSW, 1)
1196     TEST_FIELD_SIZE  (MCI_SAVE_PARMSW, dwCallback, 8)
1197     TEST_FIELD_ALIGN (MCI_SAVE_PARMSW, dwCallback, 1)
1198     TEST_FIELD_OFFSET(MCI_SAVE_PARMSW, dwCallback, 0)
1199     TEST_FIELD_SIZE  (MCI_SAVE_PARMSW, lpfilename, 8)
1200     TEST_FIELD_ALIGN (MCI_SAVE_PARMSW, lpfilename, 1)
1201     TEST_FIELD_OFFSET(MCI_SAVE_PARMSW, lpfilename, 8)
1202 }
1203 
1204 static void test_pack_MCI_LOAD_PARMSA(void)
1205 {
1206     /* MCI_LOAD_PARMSA (pack 1) */
1207     TEST_TYPE_SIZE   (MCI_LOAD_PARMSA, 16)
1208     TEST_TYPE_ALIGN  (MCI_LOAD_PARMSA, 1)
1209     TEST_FIELD_SIZE  (MCI_LOAD_PARMSA, dwCallback, 8)
1210     TEST_FIELD_ALIGN (MCI_LOAD_PARMSA, dwCallback, 1)
1211     TEST_FIELD_OFFSET(MCI_LOAD_PARMSA, dwCallback, 0)
1212     TEST_FIELD_SIZE  (MCI_LOAD_PARMSA, lpfilename, 8)
1213     TEST_FIELD_ALIGN (MCI_LOAD_PARMSA, lpfilename, 1)
1214     TEST_FIELD_OFFSET(MCI_LOAD_PARMSA, lpfilename, 8)
1215 }
1216 
1217 static void test_pack_MCI_LOAD_PARMSW(void)
1218 {
1219     /* MCI_LOAD_PARMSW (pack 1) */
1220     TEST_TYPE_SIZE   (MCI_LOAD_PARMSW, 16)
1221     TEST_TYPE_ALIGN  (MCI_LOAD_PARMSW, 1)
1222     TEST_FIELD_SIZE  (MCI_LOAD_PARMSW, dwCallback, 8)
1223     TEST_FIELD_ALIGN (MCI_LOAD_PARMSW, dwCallback, 1)
1224     TEST_FIELD_OFFSET(MCI_LOAD_PARMSW, dwCallback, 0)
1225     TEST_FIELD_SIZE  (MCI_LOAD_PARMSW, lpfilename, 8)
1226     TEST_FIELD_ALIGN (MCI_LOAD_PARMSW, lpfilename, 1)
1227     TEST_FIELD_OFFSET(MCI_LOAD_PARMSW, lpfilename, 8)
1228 }
1229 
1230 static void test_pack_MCI_RECORD_PARMS(void)
1231 {
1232     /* MCI_RECORD_PARMS (pack 1) */
1233     TEST_TYPE_SIZE   (MCI_RECORD_PARMS, 16)
1234     TEST_TYPE_ALIGN  (MCI_RECORD_PARMS, 1)
1235     TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwCallback, 8)
1236     TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwCallback, 1)
1237     TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwCallback, 0)
1238     TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwFrom, 4)
1239     TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwFrom, 1)
1240     TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwFrom, 8)
1241     TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwTo, 4)
1242     TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwTo, 1)
1243     TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwTo, 12)
1244 }
1245 
1246 static void test_pack_MCI_VD_PLAY_PARMS(void)
1247 {
1248     /* MCI_VD_PLAY_PARMS (pack 1) */
1249     TEST_TYPE_SIZE   (MCI_VD_PLAY_PARMS, 20)
1250     TEST_TYPE_ALIGN  (MCI_VD_PLAY_PARMS, 1)
1251     TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwCallback, 8)
1252     TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwCallback, 1)
1253     TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwCallback, 0)
1254     TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwFrom, 4)
1255     TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwFrom, 1)
1256     TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwFrom, 8)
1257     TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwTo, 4)
1258     TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwTo, 1)
1259     TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwTo, 12)
1260     TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwSpeed, 4)
1261     TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwSpeed, 1)
1262     TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwSpeed, 16)
1263 }
1264 
1265 static void test_pack_MCI_VD_STEP_PARMS(void)
1266 {
1267     /* MCI_VD_STEP_PARMS (pack 1) */
1268     TEST_TYPE_SIZE   (MCI_VD_STEP_PARMS, 12)
1269     TEST_TYPE_ALIGN  (MCI_VD_STEP_PARMS, 1)
1270     TEST_FIELD_SIZE  (MCI_VD_STEP_PARMS, dwCallback, 8)
1271     TEST_FIELD_ALIGN (MCI_VD_STEP_PARMS, dwCallback, 1)
1272     TEST_FIELD_OFFSET(MCI_VD_STEP_PARMS, dwCallback, 0)
1273     TEST_FIELD_SIZE  (MCI_VD_STEP_PARMS, dwFrames, 4)
1274     TEST_FIELD_ALIGN (MCI_VD_STEP_PARMS, dwFrames, 1)
1275     TEST_FIELD_OFFSET(MCI_VD_STEP_PARMS, dwFrames, 8)
1276 }
1277 
1278 static void test_pack_MCI_VD_ESCAPE_PARMSA(void)
1279 {
1280     /* MCI_VD_ESCAPE_PARMSA (pack 1) */
1281     TEST_TYPE_SIZE   (MCI_VD_ESCAPE_PARMSA, 16)
1282     TEST_TYPE_ALIGN  (MCI_VD_ESCAPE_PARMSA, 1)
1283     TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSA, dwCallback, 8)
1284     TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSA, dwCallback, 1)
1285     TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSA, dwCallback, 0)
1286     TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSA, lpstrCommand, 8)
1287     TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSA, lpstrCommand, 1)
1288     TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSA, lpstrCommand, 8)
1289 }
1290 
1291 static void test_pack_MCI_VD_ESCAPE_PARMSW(void)
1292 {
1293     /* MCI_VD_ESCAPE_PARMSW (pack 1) */
1294     TEST_TYPE_SIZE   (MCI_VD_ESCAPE_PARMSW, 16)
1295     TEST_TYPE_ALIGN  (MCI_VD_ESCAPE_PARMSW, 1)
1296     TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSW, dwCallback, 8)
1297     TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSW, dwCallback, 1)
1298     TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSW, dwCallback, 0)
1299     TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSW, lpstrCommand, 8)
1300     TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSW, lpstrCommand, 1)
1301     TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSW, lpstrCommand, 8)
1302 }
1303 
1304 static void test_pack_MCI_WAVE_OPEN_PARMSA(void)
1305 {
1306     /* MCI_WAVE_OPEN_PARMSA (pack 1) */
1307     TEST_TYPE_SIZE   (MCI_WAVE_OPEN_PARMSA, 40)
1308     TEST_TYPE_ALIGN  (MCI_WAVE_OPEN_PARMSA, 1)
1309     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, dwCallback, 8)
1310     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, dwCallback, 1)
1311     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, dwCallback, 0)
1312     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, wDeviceID, 4)
1313     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, wDeviceID, 1)
1314     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, wDeviceID, 8)
1315     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 8)
1316     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 1)
1317     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 12)
1318     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrElementName, 8)
1319     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrElementName, 1)
1320     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrElementName, 20)
1321     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrAlias, 8)
1322     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrAlias, 1)
1323     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrAlias, 28)
1324     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 4)
1325     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 1)
1326     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 36)
1327 }
1328 
1329 static void test_pack_MCI_WAVE_OPEN_PARMSW(void)
1330 {
1331     /* MCI_WAVE_OPEN_PARMSW (pack 1) */
1332     TEST_TYPE_SIZE   (MCI_WAVE_OPEN_PARMSW, 40)
1333     TEST_TYPE_ALIGN  (MCI_WAVE_OPEN_PARMSW, 1)
1334     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, dwCallback, 8)
1335     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, dwCallback, 1)
1336     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, dwCallback, 0)
1337     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, wDeviceID, 4)
1338     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, wDeviceID, 1)
1339     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, wDeviceID, 8)
1340     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 8)
1341     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 1)
1342     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 12)
1343     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrElementName, 8)
1344     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrElementName, 1)
1345     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrElementName, 20)
1346     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrAlias, 8)
1347     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrAlias, 1)
1348     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrAlias, 28)
1349     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 4)
1350     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 1)
1351     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 36)
1352 }
1353 
1354 static void test_pack_MCI_WAVE_DELETE_PARMS(void)
1355 {
1356     /* MCI_WAVE_DELETE_PARMS (pack 1) */
1357     TEST_TYPE_SIZE   (MCI_WAVE_DELETE_PARMS, 16)
1358     TEST_TYPE_ALIGN  (MCI_WAVE_DELETE_PARMS, 1)
1359     TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwCallback, 8)
1360     TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwCallback, 1)
1361     TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwCallback, 0)
1362     TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwFrom, 4)
1363     TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwFrom, 1)
1364     TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwFrom, 8)
1365     TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwTo, 4)
1366     TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwTo, 1)
1367     TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwTo, 12)
1368 }
1369 
1370 static void test_pack_MCI_WAVE_SET_PARMS(void)
1371 {
1372     /* MCI_WAVE_SET_PARMS (pack 1) */
1373     TEST_TYPE_SIZE   (MCI_WAVE_SET_PARMS, 48)
1374     TEST_TYPE_ALIGN  (MCI_WAVE_SET_PARMS, 1)
1375     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwCallback, 8)
1376     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwCallback, 1)
1377     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwCallback, 0)
1378     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwTimeFormat, 4)
1379     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwTimeFormat, 1)
1380     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwTimeFormat, 8)
1381     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwAudio, 4)
1382     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwAudio, 1)
1383     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwAudio, 12)
1384     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wInput, 4)
1385     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wInput, 1)
1386     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wInput, 16)
1387     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wOutput, 4)
1388     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wOutput, 1)
1389     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wOutput, 20)
1390     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wFormatTag, 4)
1391     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wFormatTag, 1)
1392     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wFormatTag, 24)
1393     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nChannels, 4)
1394     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nChannels, 1)
1395     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nChannels, 28)
1396     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nSamplesPerSec, 4)
1397     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nSamplesPerSec, 1)
1398     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nSamplesPerSec, 32)
1399     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 4)
1400     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 1)
1401     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 36)
1402     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nBlockAlign, 4)
1403     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nBlockAlign, 1)
1404     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nBlockAlign, 40)
1405     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wBitsPerSample, 4)
1406     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wBitsPerSample, 1)
1407     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wBitsPerSample, 44)
1408 }
1409 
1410 static void test_pack_MCI_SEQ_SET_PARMS(void)
1411 {
1412     /* MCI_SEQ_SET_PARMS (pack 1) */
1413     TEST_TYPE_SIZE   (MCI_SEQ_SET_PARMS, 36)
1414     TEST_TYPE_ALIGN  (MCI_SEQ_SET_PARMS, 1)
1415     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwCallback, 8)
1416     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwCallback, 1)
1417     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwCallback, 0)
1418     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwTimeFormat, 4)
1419     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwTimeFormat, 1)
1420     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwTimeFormat, 8)
1421     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwAudio, 4)
1422     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwAudio, 1)
1423     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwAudio, 12)
1424     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwTempo, 4)
1425     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwTempo, 1)
1426     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwTempo, 16)
1427     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwPort, 4)
1428     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwPort, 1)
1429     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwPort, 20)
1430     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwSlave, 4)
1431     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwSlave, 1)
1432     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwSlave, 24)
1433     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwMaster, 4)
1434     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwMaster, 1)
1435     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwMaster, 28)
1436     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwOffset, 4)
1437     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwOffset, 1)
1438     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwOffset, 32)
1439 }
1440 
1441 static void test_pack_MCI_ANIM_OPEN_PARMSA(void)
1442 {
1443     /* MCI_ANIM_OPEN_PARMSA (pack 1) */
1444     TEST_TYPE_SIZE   (MCI_ANIM_OPEN_PARMSA, 48)
1445     TEST_TYPE_ALIGN  (MCI_ANIM_OPEN_PARMSA, 1)
1446     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, dwCallback, 8)
1447     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, dwCallback, 1)
1448     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, dwCallback, 0)
1449     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, wDeviceID, 4)
1450     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, wDeviceID, 1)
1451     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, wDeviceID, 8)
1452     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 8)
1453     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 1)
1454     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 12)
1455     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrElementName, 8)
1456     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrElementName, 1)
1457     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrElementName, 20)
1458     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrAlias, 8)
1459     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrAlias, 1)
1460     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrAlias, 28)
1461     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, dwStyle, 4)
1462     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, dwStyle, 1)
1463     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, dwStyle, 36)
1464     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, hWndParent, 8)
1465     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, hWndParent, 1)
1466     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, hWndParent, 40)
1467 }
1468 
1469 static void test_pack_MCI_ANIM_OPEN_PARMSW(void)
1470 {
1471     /* MCI_ANIM_OPEN_PARMSW (pack 1) */
1472     TEST_TYPE_SIZE   (MCI_ANIM_OPEN_PARMSW, 48)
1473     TEST_TYPE_ALIGN  (MCI_ANIM_OPEN_PARMSW, 1)
1474     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, dwCallback, 8)
1475     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, dwCallback, 1)
1476     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, dwCallback, 0)
1477     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, wDeviceID, 4)
1478     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, wDeviceID, 1)
1479     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, wDeviceID, 8)
1480     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 8)
1481     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 1)
1482     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 12)
1483     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrElementName, 8)
1484     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrElementName, 1)
1485     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrElementName, 20)
1486     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrAlias, 8)
1487     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrAlias, 1)
1488     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrAlias, 28)
1489     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, dwStyle, 4)
1490     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, dwStyle, 1)
1491     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, dwStyle, 36)
1492     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, hWndParent, 8)
1493     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, hWndParent, 1)
1494     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, hWndParent, 40)
1495 }
1496 
1497 static void test_pack_MCI_ANIM_PLAY_PARMS(void)
1498 {
1499     /* MCI_ANIM_PLAY_PARMS (pack 1) */
1500     TEST_TYPE_SIZE   (MCI_ANIM_PLAY_PARMS, 20)
1501     TEST_TYPE_ALIGN  (MCI_ANIM_PLAY_PARMS, 1)
1502     TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwCallback, 8)
1503     TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwCallback, 1)
1504     TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwCallback, 0)
1505     TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwFrom, 4)
1506     TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwFrom, 1)
1507     TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwFrom, 8)
1508     TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwTo, 4)
1509     TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwTo, 1)
1510     TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwTo, 12)
1511     TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwSpeed, 4)
1512     TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwSpeed, 1)
1513     TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwSpeed, 16)
1514 }
1515 
1516 static void test_pack_MCI_ANIM_STEP_PARMS(void)
1517 {
1518     /* MCI_ANIM_STEP_PARMS (pack 1) */
1519     TEST_TYPE_SIZE   (MCI_ANIM_STEP_PARMS, 12)
1520     TEST_TYPE_ALIGN  (MCI_ANIM_STEP_PARMS, 1)
1521     TEST_FIELD_SIZE  (MCI_ANIM_STEP_PARMS, dwCallback, 8)
1522     TEST_FIELD_ALIGN (MCI_ANIM_STEP_PARMS, dwCallback, 1)
1523     TEST_FIELD_OFFSET(MCI_ANIM_STEP_PARMS, dwCallback, 0)
1524     TEST_FIELD_SIZE  (MCI_ANIM_STEP_PARMS, dwFrames, 4)
1525     TEST_FIELD_ALIGN (MCI_ANIM_STEP_PARMS, dwFrames, 1)
1526     TEST_FIELD_OFFSET(MCI_ANIM_STEP_PARMS, dwFrames, 8)
1527 }
1528 
1529 static void test_pack_MCI_ANIM_WINDOW_PARMSA(void)
1530 {
1531     /* MCI_ANIM_WINDOW_PARMSA (pack 1) */
1532     TEST_TYPE_SIZE   (MCI_ANIM_WINDOW_PARMSA, 28)
1533     TEST_TYPE_ALIGN  (MCI_ANIM_WINDOW_PARMSA, 1)
1534     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, dwCallback, 8)
1535     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, dwCallback, 1)
1536     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, dwCallback, 0)
1537     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, hWnd, 8)
1538     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, hWnd, 1)
1539     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, hWnd, 8)
1540     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, nCmdShow, 4)
1541     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, nCmdShow, 1)
1542     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, nCmdShow, 16)
1543     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, lpstrText, 8)
1544     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, lpstrText, 1)
1545     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, lpstrText, 20)
1546 }
1547 
1548 static void test_pack_MCI_ANIM_WINDOW_PARMSW(void)
1549 {
1550     /* MCI_ANIM_WINDOW_PARMSW (pack 1) */
1551     TEST_TYPE_SIZE   (MCI_ANIM_WINDOW_PARMSW, 28)
1552     TEST_TYPE_ALIGN  (MCI_ANIM_WINDOW_PARMSW, 1)
1553     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, dwCallback, 8)
1554     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, dwCallback, 1)
1555     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, dwCallback, 0)
1556     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, hWnd, 8)
1557     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, hWnd, 1)
1558     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, hWnd, 8)
1559     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, nCmdShow, 4)
1560     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, nCmdShow, 1)
1561     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, nCmdShow, 16)
1562     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, lpstrText, 8)
1563     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, lpstrText, 1)
1564     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, lpstrText, 20)
1565 }
1566 
1567 static void test_pack_MCI_ANIM_UPDATE_PARMS(void)
1568 {
1569     /* MCI_ANIM_UPDATE_PARMS (pack 1) */
1570     TEST_TYPE_SIZE   (MCI_ANIM_UPDATE_PARMS, 32)
1571     TEST_TYPE_ALIGN  (MCI_ANIM_UPDATE_PARMS, 1)
1572     TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, dwCallback, 8)
1573     TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, dwCallback, 1)
1574     TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, dwCallback, 0)
1575     TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, rc, 16)
1576     TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, rc, 1)
1577     TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, rc, 8)
1578     TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, hDC, 8)
1579     TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, hDC, 1)
1580     TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, hDC, 24)
1581 }
1582 
1583 static void test_pack_MCI_OVLY_OPEN_PARMSA(void)
1584 {
1585     /* MCI_OVLY_OPEN_PARMSA (pack 1) */
1586     TEST_TYPE_SIZE   (MCI_OVLY_OPEN_PARMSA, 48)
1587     TEST_TYPE_ALIGN  (MCI_OVLY_OPEN_PARMSA, 1)
1588     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, dwCallback, 8)
1589     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, dwCallback, 1)
1590     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, dwCallback, 0)
1591     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, wDeviceID, 4)
1592     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, wDeviceID, 1)
1593     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, wDeviceID, 8)
1594     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 8)
1595     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 1)
1596     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 12)
1597     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrElementName, 8)
1598     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrElementName, 1)
1599     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrElementName, 20)
1600     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrAlias, 8)
1601     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrAlias, 1)
1602     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrAlias, 28)
1603     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, dwStyle, 4)
1604     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, dwStyle, 1)
1605     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, dwStyle, 36)
1606     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, hWndParent, 8)
1607     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, hWndParent, 1)
1608     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, hWndParent, 40)
1609 }
1610 
1611 static void test_pack_MCI_OVLY_OPEN_PARMSW(void)
1612 {
1613     /* MCI_OVLY_OPEN_PARMSW (pack 1) */
1614     TEST_TYPE_SIZE   (MCI_OVLY_OPEN_PARMSW, 48)
1615     TEST_TYPE_ALIGN  (MCI_OVLY_OPEN_PARMSW, 1)
1616     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, dwCallback, 8)
1617     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, dwCallback, 1)
1618     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, dwCallback, 0)
1619     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, wDeviceID, 4)
1620     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, wDeviceID, 1)
1621     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, wDeviceID, 8)
1622     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 8)
1623     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 1)
1624     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 12)
1625     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrElementName, 8)
1626     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrElementName, 1)
1627     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrElementName, 20)
1628     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrAlias, 8)
1629     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrAlias, 1)
1630     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrAlias, 28)
1631     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, dwStyle, 4)
1632     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, dwStyle, 1)
1633     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, dwStyle, 36)
1634     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, hWndParent, 8)
1635     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, hWndParent, 1)
1636     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, hWndParent, 40)
1637 }
1638 
1639 static void test_pack_MCI_OVLY_WINDOW_PARMSA(void)
1640 {
1641     /* MCI_OVLY_WINDOW_PARMSA (pack 1) */
1642     TEST_TYPE_SIZE   (MCI_OVLY_WINDOW_PARMSA, 28)
1643     TEST_TYPE_ALIGN  (MCI_OVLY_WINDOW_PARMSA, 1)
1644     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, dwCallback, 8)
1645     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, dwCallback, 1)
1646     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, dwCallback, 0)
1647     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, hWnd, 8)
1648     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, hWnd, 1)
1649     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, hWnd, 8)
1650     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, nCmdShow, 4)
1651     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, nCmdShow, 1)
1652     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, nCmdShow, 16)
1653     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, lpstrText, 8)
1654     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, lpstrText, 1)
1655     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, lpstrText, 20)
1656 }
1657 
1658 static void test_pack_MCI_OVLY_WINDOW_PARMSW(void)
1659 {
1660     /* MCI_OVLY_WINDOW_PARMSW (pack 1) */
1661     TEST_TYPE_SIZE   (MCI_OVLY_WINDOW_PARMSW, 28)
1662     TEST_TYPE_ALIGN  (MCI_OVLY_WINDOW_PARMSW, 1)
1663     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, dwCallback, 8)
1664     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, dwCallback, 1)
1665     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, dwCallback, 0)
1666     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, hWnd, 8)
1667     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, hWnd, 1)
1668     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, hWnd, 8)
1669     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, nCmdShow, 4)
1670     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, nCmdShow, 1)
1671     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, nCmdShow, 16)
1672     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, lpstrText, 8)
1673     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, lpstrText, 1)
1674     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, lpstrText, 20)
1675 }
1676 
1677 static void test_pack_MCI_OVLY_SAVE_PARMSA(void)
1678 {
1679     /* MCI_OVLY_SAVE_PARMSA (pack 1) */
1680     TEST_TYPE_SIZE   (MCI_OVLY_SAVE_PARMSA, 32)
1681     TEST_TYPE_ALIGN  (MCI_OVLY_SAVE_PARMSA, 1)
1682     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, dwCallback, 8)
1683     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, dwCallback, 1)
1684     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, dwCallback, 0)
1685     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, lpfilename, 8)
1686     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, lpfilename, 1)
1687     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, lpfilename, 8)
1688     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, rc, 16)
1689     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, rc, 1)
1690     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, rc, 16)
1691 }
1692 
1693 static void test_pack_MCI_OVLY_SAVE_PARMSW(void)
1694 {
1695     /* MCI_OVLY_SAVE_PARMSW (pack 1) */
1696     TEST_TYPE_SIZE   (MCI_OVLY_SAVE_PARMSW, 32)
1697     TEST_TYPE_ALIGN  (MCI_OVLY_SAVE_PARMSW, 1)
1698     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, dwCallback, 8)
1699     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, dwCallback, 1)
1700     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, dwCallback, 0)
1701     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, lpfilename, 8)
1702     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, lpfilename, 1)
1703     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, lpfilename, 8)
1704     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, rc, 16)
1705     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, rc, 1)
1706     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, rc, 16)
1707 }
1708 
1709 static void test_pack_MCI_OVLY_LOAD_PARMSA(void)
1710 {
1711     /* MCI_OVLY_LOAD_PARMSA (pack 1) */
1712     TEST_TYPE_SIZE   (MCI_OVLY_LOAD_PARMSA, 32)
1713     TEST_TYPE_ALIGN  (MCI_OVLY_LOAD_PARMSA, 1)
1714     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, dwCallback, 8)
1715     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, dwCallback, 1)
1716     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, dwCallback, 0)
1717     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, lpfilename, 8)
1718     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, lpfilename, 1)
1719     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, lpfilename, 8)
1720     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, rc, 16)
1721     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, rc, 1)
1722     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, rc, 16)
1723 }
1724 
1725 static void test_pack_MCI_OVLY_LOAD_PARMSW(void)
1726 {
1727     /* MCI_OVLY_LOAD_PARMSW (pack 1) */
1728     TEST_TYPE_SIZE   (MCI_OVLY_LOAD_PARMSW, 32)
1729     TEST_TYPE_ALIGN  (MCI_OVLY_LOAD_PARMSW, 1)
1730     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, dwCallback, 8)
1731     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, dwCallback, 1)
1732     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, dwCallback, 0)
1733     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, lpfilename, 8)
1734     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, lpfilename, 1)
1735     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, lpfilename, 8)
1736     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, rc, 16)
1737     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, rc, 1)
1738     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, rc, 16)
1739 }
1740 
1741 static void test_pack_MCI_DGV_RECT_PARMS(void)
1742 {
1743     /* MCI_DGV_RECT_PARMS (pack 1) */
1744     TEST_TYPE_SIZE   (MCI_DGV_RECT_PARMS, 24)
1745     TEST_TYPE_ALIGN  (MCI_DGV_RECT_PARMS, 1)
1746     TEST_FIELD_SIZE  (MCI_DGV_RECT_PARMS, dwCallback, 8)
1747     TEST_FIELD_ALIGN (MCI_DGV_RECT_PARMS, dwCallback, 1)
1748     TEST_FIELD_OFFSET(MCI_DGV_RECT_PARMS, dwCallback, 0)
1749     TEST_FIELD_SIZE  (MCI_DGV_RECT_PARMS, rc, 16)
1750     TEST_FIELD_ALIGN (MCI_DGV_RECT_PARMS, rc, 1)
1751     TEST_FIELD_OFFSET(MCI_DGV_RECT_PARMS, rc, 8)
1752 }
1753 
1754 static void test_pack_MCI_DGV_CAPTURE_PARMSA(void)
1755 {
1756     /* MCI_DGV_CAPTURE_PARMSA (pack 1) */
1757     TEST_TYPE_SIZE   (MCI_DGV_CAPTURE_PARMSA, 32)
1758     TEST_TYPE_ALIGN  (MCI_DGV_CAPTURE_PARMSA, 1)
1759     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSA, dwCallback, 8)
1760     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, dwCallback, 1)
1761     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, dwCallback, 0)
1762     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 8)
1763     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 1)
1764     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 8)
1765     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSA, rc, 16)
1766     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, rc, 1)
1767     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, rc, 16)
1768 }
1769 
1770 static void test_pack_MCI_DGV_CAPTURE_PARMSW(void)
1771 {
1772     /* MCI_DGV_CAPTURE_PARMSW (pack 1) */
1773     TEST_TYPE_SIZE   (MCI_DGV_CAPTURE_PARMSW, 32)
1774     TEST_TYPE_ALIGN  (MCI_DGV_CAPTURE_PARMSW, 1)
1775     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSW, dwCallback, 8)
1776     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, dwCallback, 1)
1777     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, dwCallback, 0)
1778     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 8)
1779     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 1)
1780     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 8)
1781     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSW, rc, 16)
1782     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, rc, 1)
1783     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, rc, 16)
1784 }
1785 
1786 static void test_pack_MCI_DGV_COPY_PARMS(void)
1787 {
1788     /* MCI_DGV_COPY_PARMS (pack 1) */
1789     TEST_TYPE_SIZE   (MCI_DGV_COPY_PARMS, 40)
1790     TEST_TYPE_ALIGN  (MCI_DGV_COPY_PARMS, 1)
1791     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwCallback, 8)
1792     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwCallback, 1)
1793     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwCallback, 0)
1794     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwFrom, 4)
1795     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwFrom, 1)
1796     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwFrom, 8)
1797     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwTo, 4)
1798     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwTo, 1)
1799     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwTo, 12)
1800     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, rc, 16)
1801     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, rc, 1)
1802     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, rc, 16)
1803     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwAudioStream, 4)
1804     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwAudioStream, 1)
1805     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwAudioStream, 32)
1806     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwVideoStream, 4)
1807     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwVideoStream, 1)
1808     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwVideoStream, 36)
1809 }
1810 
1811 static void test_pack_MCI_DGV_CUE_PARMS(void)
1812 {
1813     /* MCI_DGV_CUE_PARMS (pack 1) */
1814     TEST_TYPE_SIZE   (MCI_DGV_CUE_PARMS, 12)
1815     TEST_TYPE_ALIGN  (MCI_DGV_CUE_PARMS, 1)
1816     TEST_FIELD_SIZE  (MCI_DGV_CUE_PARMS, dwCallback, 8)
1817     TEST_FIELD_ALIGN (MCI_DGV_CUE_PARMS, dwCallback, 1)
1818     TEST_FIELD_OFFSET(MCI_DGV_CUE_PARMS, dwCallback, 0)
1819     TEST_FIELD_SIZE  (MCI_DGV_CUE_PARMS, dwTo, 4)
1820     TEST_FIELD_ALIGN (MCI_DGV_CUE_PARMS, dwTo, 1)
1821     TEST_FIELD_OFFSET(MCI_DGV_CUE_PARMS, dwTo, 8)
1822 }
1823 
1824 static void test_pack_MCI_DGV_CUT_PARMS(void)
1825 {
1826     /* MCI_DGV_CUT_PARMS (pack 1) */
1827     TEST_TYPE_SIZE   (MCI_DGV_CUT_PARMS, 40)
1828     TEST_TYPE_ALIGN  (MCI_DGV_CUT_PARMS, 1)
1829     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwCallback, 8)
1830     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwCallback, 1)
1831     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwCallback, 0)
1832     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwFrom, 4)
1833     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwFrom, 1)
1834     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwFrom, 8)
1835     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwTo, 4)
1836     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwTo, 1)
1837     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwTo, 12)
1838     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, rc, 16)
1839     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, rc, 1)
1840     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, rc, 16)
1841     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwAudioStream, 4)
1842     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwAudioStream, 1)
1843     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwAudioStream, 32)
1844     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwVideoStream, 4)
1845     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwVideoStream, 1)
1846     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwVideoStream, 36)
1847 }
1848 
1849 static void test_pack_MCI_DGV_DELETE_PARMS(void)
1850 {
1851     /* MCI_DGV_DELETE_PARMS (pack 1) */
1852     TEST_TYPE_SIZE   (MCI_DGV_DELETE_PARMS, 40)
1853     TEST_TYPE_ALIGN  (MCI_DGV_DELETE_PARMS, 1)
1854     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwCallback, 8)
1855     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwCallback, 1)
1856     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwCallback, 0)
1857     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwFrom, 4)
1858     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwFrom, 1)
1859     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwFrom, 8)
1860     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwTo, 4)
1861     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwTo, 1)
1862     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwTo, 12)
1863     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, rc, 16)
1864     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, rc, 1)
1865     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, rc, 16)
1866     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwAudioStream, 4)
1867     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwAudioStream, 1)
1868     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwAudioStream, 32)
1869     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwVideoStream, 4)
1870     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwVideoStream, 1)
1871     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwVideoStream, 36)
1872 }
1873 
1874 static void test_pack_MCI_DGV_INFO_PARMSA(void)
1875 {
1876     /* MCI_DGV_INFO_PARMSA (pack 1) */
1877     TEST_TYPE_SIZE   (MCI_DGV_INFO_PARMSA, 24)
1878     TEST_TYPE_ALIGN  (MCI_DGV_INFO_PARMSA, 1)
1879     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSA, dwCallback, 8)
1880     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwCallback, 1)
1881     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwCallback, 0)
1882     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSA, lpstrReturn, 8)
1883     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, lpstrReturn, 1)
1884     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, lpstrReturn, 8)
1885     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSA, dwRetSize, 4)
1886     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwRetSize, 1)
1887     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwRetSize, 16)
1888     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSA, dwItem, 4)
1889     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwItem, 1)
1890     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwItem, 20)
1891 }
1892 
1893 static void test_pack_MCI_DGV_INFO_PARMSW(void)
1894 {
1895     /* MCI_DGV_INFO_PARMSW (pack 1) */
1896     TEST_TYPE_SIZE   (MCI_DGV_INFO_PARMSW, 24)
1897     TEST_TYPE_ALIGN  (MCI_DGV_INFO_PARMSW, 1)
1898     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSW, dwCallback, 8)
1899     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwCallback, 1)
1900     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwCallback, 0)
1901     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSW, lpstrReturn, 8)
1902     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, lpstrReturn, 1)
1903     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, lpstrReturn, 8)
1904     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSW, dwRetSize, 4)
1905     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwRetSize, 1)
1906     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwRetSize, 16)
1907     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSW, dwItem, 4)
1908     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwItem, 1)
1909     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwItem, 20)
1910 }
1911 
1912 static void test_pack_MCI_DGV_LIST_PARMSA(void)
1913 {
1914     /* MCI_DGV_LIST_PARMSA (pack 1) */
1915     TEST_TYPE_SIZE   (MCI_DGV_LIST_PARMSA, 36)
1916     TEST_TYPE_ALIGN  (MCI_DGV_LIST_PARMSA, 1)
1917     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, dwCallback, 8)
1918     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwCallback, 1)
1919     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwCallback, 0)
1920     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, lpstrReturn, 8)
1921     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, lpstrReturn, 1)
1922     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, lpstrReturn, 8)
1923     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, dwLength, 4)
1924     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwLength, 1)
1925     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwLength, 16)
1926     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, dwNumber, 4)
1927     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwNumber, 1)
1928     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwNumber, 20)
1929     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, dwItem, 4)
1930     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwItem, 1)
1931     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwItem, 24)
1932     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 8)
1933     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 1)
1934     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 28)
1935 }
1936 
1937 static void test_pack_MCI_DGV_LIST_PARMSW(void)
1938 {
1939     /* MCI_DGV_LIST_PARMSW (pack 1) */
1940     TEST_TYPE_SIZE   (MCI_DGV_LIST_PARMSW, 36)
1941     TEST_TYPE_ALIGN  (MCI_DGV_LIST_PARMSW, 1)
1942     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, dwCallback, 8)
1943     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwCallback, 1)
1944     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwCallback, 0)
1945     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, lpstrReturn, 8)
1946     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, lpstrReturn, 1)
1947     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, lpstrReturn, 8)
1948     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, dwLength, 4)
1949     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwLength, 1)
1950     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwLength, 16)
1951     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, dwNumber, 4)
1952     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwNumber, 1)
1953     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwNumber, 20)
1954     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, dwItem, 4)
1955     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwItem, 1)
1956     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwItem, 24)
1957     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 8)
1958     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 1)
1959     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 28)
1960 }
1961 
1962 static void test_pack_MCI_DGV_MONITOR_PARMS(void)
1963 {
1964     /* MCI_DGV_MONITOR_PARMS (pack 1) */
1965     TEST_TYPE_SIZE   (MCI_DGV_MONITOR_PARMS, 16)
1966     TEST_TYPE_ALIGN  (MCI_DGV_MONITOR_PARMS, 1)
1967     TEST_FIELD_SIZE  (MCI_DGV_MONITOR_PARMS, dwCallback, 8)
1968     TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwCallback, 1)
1969     TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwCallback, 0)
1970     TEST_FIELD_SIZE  (MCI_DGV_MONITOR_PARMS, dwSource, 4)
1971     TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwSource, 1)
1972     TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwSource, 8)
1973     TEST_FIELD_SIZE  (MCI_DGV_MONITOR_PARMS, dwMethod, 4)
1974     TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwMethod, 1)
1975     TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwMethod, 12)
1976 }
1977 
1978 static void test_pack_MCI_DGV_OPEN_PARMSA(void)
1979 {
1980     /* MCI_DGV_OPEN_PARMSA (pack 1) */
1981     TEST_TYPE_SIZE   (MCI_DGV_OPEN_PARMSA, 48)
1982     TEST_TYPE_ALIGN  (MCI_DGV_OPEN_PARMSA, 1)
1983     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, dwCallback, 8)
1984     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, dwCallback, 1)
1985     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, dwCallback, 0)
1986     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, wDeviceID, 4)
1987     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, wDeviceID, 1)
1988     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, wDeviceID, 8)
1989     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 8)
1990     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 1)
1991     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 12)
1992     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, lpstrElementName, 8)
1993     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrElementName, 1)
1994     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrElementName, 20)
1995     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, lpstrAlias, 8)
1996     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrAlias, 1)
1997     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrAlias, 28)
1998     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, dwStyle, 4)
1999     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, dwStyle, 1)
2000     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, dwStyle, 36)
2001     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, hWndParent, 8)
2002     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, hWndParent, 1)
2003     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, hWndParent, 40)
2004 }
2005 
2006 static void test_pack_MCI_DGV_OPEN_PARMSW(void)
2007 {
2008     /* MCI_DGV_OPEN_PARMSW (pack 1) */
2009     TEST_TYPE_SIZE   (MCI_DGV_OPEN_PARMSW, 48)
2010     TEST_TYPE_ALIGN  (MCI_DGV_OPEN_PARMSW, 1)
2011     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, dwCallback, 8)
2012     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, dwCallback, 1)
2013     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, dwCallback, 0)
2014     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, wDeviceID, 4)
2015     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, wDeviceID, 1)
2016     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, wDeviceID, 8)
2017     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 8)
2018     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 1)
2019     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 12)
2020     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, lpstrElementName, 8)
2021     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrElementName, 1)
2022     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrElementName, 20)
2023     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, lpstrAlias, 8)
2024     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrAlias, 1)
2025     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrAlias, 28)
2026     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, dwStyle, 4)
2027     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, dwStyle, 1)
2028     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, dwStyle, 36)
2029     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, hWndParent, 8)
2030     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, hWndParent, 1)
2031     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, hWndParent, 40)
2032 }
2033 
2034 static void test_pack_MCI_DGV_PASTE_PARMS(void)
2035 {
2036     /* MCI_DGV_PASTE_PARMS (pack 1) */
2037     TEST_TYPE_SIZE   (MCI_DGV_PASTE_PARMS, 36)
2038     TEST_TYPE_ALIGN  (MCI_DGV_PASTE_PARMS, 1)
2039     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, dwCallback, 8)
2040     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwCallback, 1)
2041     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwCallback, 0)
2042     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, dwTo, 4)
2043     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwTo, 1)
2044     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwTo, 8)
2045     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, rc, 16)
2046     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, rc, 1)
2047     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, rc, 12)
2048     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, dwAudioStream, 4)
2049     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwAudioStream, 1)
2050     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwAudioStream, 28)
2051     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, dwVideoStream, 4)
2052     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwVideoStream, 1)
2053     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwVideoStream, 32)
2054 }
2055 
2056 static void test_pack_MCI_DGV_QUALITY_PARMSA(void)
2057 {
2058     /* MCI_DGV_QUALITY_PARMSA (pack 1) */
2059     TEST_TYPE_SIZE   (MCI_DGV_QUALITY_PARMSA, 28)
2060     TEST_TYPE_ALIGN  (MCI_DGV_QUALITY_PARMSA, 1)
2061     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, dwCallback, 8)
2062     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwCallback, 1)
2063     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwCallback, 0)
2064     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, dwItem, 4)
2065     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwItem, 1)
2066     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwItem, 8)
2067     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, lpstrName, 8)
2068     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, lpstrName, 1)
2069     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, lpstrName, 12)
2070     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 4)
2071     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 1)
2072     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 20)
2073     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, dwHandle, 4)
2074     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwHandle, 1)
2075     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwHandle, 24)
2076 }
2077 
2078 static void test_pack_MCI_DGV_QUALITY_PARMSW(void)
2079 {
2080     /* MCI_DGV_QUALITY_PARMSW (pack 1) */
2081     TEST_TYPE_SIZE   (MCI_DGV_QUALITY_PARMSW, 28)
2082     TEST_TYPE_ALIGN  (MCI_DGV_QUALITY_PARMSW, 1)
2083     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, dwCallback, 8)
2084     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwCallback, 1)
2085     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwCallback, 0)
2086     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, dwItem, 4)
2087     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwItem, 1)
2088     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwItem, 8)
2089     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, lpstrName, 8)
2090     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, lpstrName, 1)
2091     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, lpstrName, 12)
2092     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 4)
2093     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 1)
2094     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 20)
2095     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, dwHandle, 4)
2096     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwHandle, 1)
2097     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwHandle, 24)
2098 }
2099 
2100 static void test_pack_MCI_DGV_RECORD_PARMS(void)
2101 {
2102     /* MCI_DGV_RECORD_PARMS (pack 1) */
2103     TEST_TYPE_SIZE   (MCI_DGV_RECORD_PARMS, 40)
2104     TEST_TYPE_ALIGN  (MCI_DGV_RECORD_PARMS, 1)
2105     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwCallback, 8)
2106     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwCallback, 1)
2107     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwCallback, 0)
2108     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwFrom, 4)
2109     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwFrom, 1)
2110     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwFrom, 8)
2111     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwTo, 4)
2112     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwTo, 1)
2113     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwTo, 12)
2114     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, rc, 16)
2115     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, rc, 1)
2116     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, rc, 16)
2117     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwAudioStream, 4)
2118     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwAudioStream, 1)
2119     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwAudioStream, 32)
2120     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwVideoStream, 4)
2121     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwVideoStream, 1)
2122     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwVideoStream, 36)
2123 }
2124 
2125 static void test_pack_MCI_DGV_RESERVE_PARMSA(void)
2126 {
2127     /* MCI_DGV_RESERVE_PARMSA (pack 1) */
2128     TEST_TYPE_SIZE   (MCI_DGV_RESERVE_PARMSA, 20)
2129     TEST_TYPE_ALIGN  (MCI_DGV_RESERVE_PARMSA, 1)
2130     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSA, dwCallback, 8)
2131     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, dwCallback, 1)
2132     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, dwCallback, 0)
2133     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSA, lpstrPath, 8)
2134     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, lpstrPath, 1)
2135     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, lpstrPath, 8)
2136     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSA, dwSize, 4)
2137     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, dwSize, 1)
2138     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, dwSize, 16)
2139 }
2140 
2141 static void test_pack_MCI_DGV_RESERVE_PARMSW(void)
2142 {
2143     /* MCI_DGV_RESERVE_PARMSW (pack 1) */
2144     TEST_TYPE_SIZE   (MCI_DGV_RESERVE_PARMSW, 20)
2145     TEST_TYPE_ALIGN  (MCI_DGV_RESERVE_PARMSW, 1)
2146     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSW, dwCallback, 8)
2147     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, dwCallback, 1)
2148     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, dwCallback, 0)
2149     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSW, lpstrPath, 8)
2150     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, lpstrPath, 1)
2151     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, lpstrPath, 8)
2152     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSW, dwSize, 4)
2153     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, dwSize, 1)
2154     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, dwSize, 16)
2155 }
2156 
2157 static void test_pack_MCI_DGV_RESTORE_PARMSA(void)
2158 {
2159     /* MCI_DGV_RESTORE_PARMSA (pack 1) */
2160     TEST_TYPE_SIZE   (MCI_DGV_RESTORE_PARMSA, 32)
2161     TEST_TYPE_ALIGN  (MCI_DGV_RESTORE_PARMSA, 1)
2162     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSA, dwCallback, 8)
2163     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, dwCallback, 1)
2164     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, dwCallback, 0)
2165     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSA, lpstrFileName, 8)
2166     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, lpstrFileName, 1)
2167     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, lpstrFileName, 8)
2168     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSA, rc, 16)
2169     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, rc, 1)
2170     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, rc, 16)
2171 }
2172 
2173 static void test_pack_MCI_DGV_RESTORE_PARMSW(void)
2174 {
2175     /* MCI_DGV_RESTORE_PARMSW (pack 1) */
2176     TEST_TYPE_SIZE   (MCI_DGV_RESTORE_PARMSW, 32)
2177     TEST_TYPE_ALIGN  (MCI_DGV_RESTORE_PARMSW, 1)
2178     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSW, dwCallback, 8)
2179     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, dwCallback, 1)
2180     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, dwCallback, 0)
2181     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSW, lpstrFileName, 8)
2182     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, lpstrFileName, 1)
2183     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, lpstrFileName, 8)
2184     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSW, rc, 16)
2185     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, rc, 1)
2186     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, rc, 16)
2187 }
2188 
2189 static void test_pack_MCI_DGV_SAVE_PARMSA(void)
2190 {
2191     /* MCI_DGV_SAVE_PARMSA (pack 1) */
2192     TEST_TYPE_SIZE   (MCI_DGV_SAVE_PARMSA, 32)
2193     TEST_TYPE_ALIGN  (MCI_DGV_SAVE_PARMSA, 1)
2194     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSA, dwCallback, 8)
2195     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, dwCallback, 1)
2196     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, dwCallback, 0)
2197     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSA, lpstrFileName, 8)
2198     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, lpstrFileName, 1)
2199     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, lpstrFileName, 8)
2200     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSA, rc, 16)
2201     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, rc, 1)
2202     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, rc, 16)
2203 }
2204 
2205 static void test_pack_MCI_DGV_SAVE_PARMSW(void)
2206 {
2207     /* MCI_DGV_SAVE_PARMSW (pack 1) */
2208     TEST_TYPE_SIZE   (MCI_DGV_SAVE_PARMSW, 32)
2209     TEST_TYPE_ALIGN  (MCI_DGV_SAVE_PARMSW, 1)
2210     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSW, dwCallback, 8)
2211     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, dwCallback, 1)
2212     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, dwCallback, 0)
2213     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSW, lpstrFileName, 8)
2214     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, lpstrFileName, 1)
2215     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, lpstrFileName, 8)
2216     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSW, rc, 16)
2217     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, rc, 1)
2218     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, rc, 16)
2219 }
2220 
2221 static void test_pack_MCI_DGV_SET_PARMS(void)
2222 {
2223     /* MCI_DGV_SET_PARMS (pack 1) */
2224     TEST_TYPE_SIZE   (MCI_DGV_SET_PARMS, 24)
2225     TEST_TYPE_ALIGN  (MCI_DGV_SET_PARMS, 1)
2226     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwCallback, 8)
2227     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwCallback, 1)
2228     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwCallback, 0)
2229     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwTimeFormat, 4)
2230     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwTimeFormat, 1)
2231     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwTimeFormat, 8)
2232     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwAudio, 4)
2233     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwAudio, 1)
2234     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwAudio, 12)
2235     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwFileFormat, 4)
2236     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwFileFormat, 1)
2237     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwFileFormat, 16)
2238     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwSpeed, 4)
2239     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwSpeed, 1)
2240     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwSpeed, 20)
2241 }
2242 
2243 static void test_pack_MCI_DGV_SETAUDIO_PARMSA(void)
2244 {
2245     /* MCI_DGV_SETAUDIO_PARMSA (pack 1) */
2246     TEST_TYPE_SIZE   (MCI_DGV_SETAUDIO_PARMSA, 36)
2247     TEST_TYPE_ALIGN  (MCI_DGV_SETAUDIO_PARMSA, 1)
2248     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, dwCallback, 8)
2249     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwCallback, 1)
2250     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwCallback, 0)
2251     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, dwItem, 4)
2252     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwItem, 1)
2253     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwItem, 8)
2254     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, dwValue, 4)
2255     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwValue, 1)
2256     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwValue, 12)
2257     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, dwOver, 4)
2258     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwOver, 1)
2259     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwOver, 16)
2260     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 8)
2261     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 1)
2262     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 20)
2263     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 8)
2264     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 1)
2265     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 28)
2266 }
2267 
2268 static void test_pack_MCI_DGV_SETAUDIO_PARMSW(void)
2269 {
2270     /* MCI_DGV_SETAUDIO_PARMSW (pack 1) */
2271     TEST_TYPE_SIZE   (MCI_DGV_SETAUDIO_PARMSW, 36)
2272     TEST_TYPE_ALIGN  (MCI_DGV_SETAUDIO_PARMSW, 1)
2273     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, dwCallback, 8)
2274     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwCallback, 1)
2275     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwCallback, 0)
2276     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, dwItem, 4)
2277     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwItem, 1)
2278     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwItem, 8)
2279     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, dwValue, 4)
2280     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwValue, 1)
2281     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwValue, 12)
2282     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, dwOver, 4)
2283     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwOver, 1)
2284     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwOver, 16)
2285     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 8)
2286     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 1)
2287     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 20)
2288     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 8)
2289     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 1)
2290     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 28)
2291 }
2292 
2293 static void test_pack_MCI_DGV_SIGNAL_PARMS(void)
2294 {
2295     /* MCI_DGV_SIGNAL_PARMS (pack 1) */
2296     TEST_TYPE_SIZE   (MCI_DGV_SIGNAL_PARMS, 20)
2297     TEST_TYPE_ALIGN  (MCI_DGV_SIGNAL_PARMS, 1)
2298     TEST_FIELD_SIZE  (MCI_DGV_SIGNAL_PARMS, dwCallback, 8)
2299     TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwCallback, 1)
2300     TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwCallback, 0)
2301     TEST_FIELD_SIZE  (MCI_DGV_SIGNAL_PARMS, dwPosition, 4)
2302     TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwPosition, 1)
2303     TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwPosition, 8)
2304     TEST_FIELD_SIZE  (MCI_DGV_SIGNAL_PARMS, dwPeriod, 4)
2305     TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwPeriod, 1)
2306     TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwPeriod, 12)
2307     TEST_FIELD_SIZE  (MCI_DGV_SIGNAL_PARMS, dwUserParm, 4)
2308     TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwUserParm, 1)
2309     TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwUserParm, 16)
2310 }
2311 
2312 static void test_pack_MCI_DGV_SETVIDEO_PARMSA(void)
2313 {
2314     /* MCI_DGV_SETVIDEO_PARMSA (pack 1) */
2315     TEST_TYPE_SIZE   (MCI_DGV_SETVIDEO_PARMSA, 40)
2316     TEST_TYPE_ALIGN  (MCI_DGV_SETVIDEO_PARMSA, 1)
2317     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwCallback, 8)
2318     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwCallback, 1)
2319     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwCallback, 0)
2320     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwItem, 4)
2321     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwItem, 1)
2322     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwItem, 8)
2323     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwValue, 4)
2324     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwValue, 1)
2325     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwValue, 12)
2326     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwOver, 4)
2327     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwOver, 1)
2328     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwOver, 16)
2329     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 8)
2330     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 1)
2331     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 20)
2332     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 8)
2333     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 1)
2334     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 28)
2335     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 4)
2336     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 1)
2337     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 36)
2338 }
2339 
2340 static void test_pack_MCI_DGV_SETVIDEO_PARMSW(void)
2341 {
2342     /* MCI_DGV_SETVIDEO_PARMSW (pack 1) */
2343     TEST_TYPE_SIZE   (MCI_DGV_SETVIDEO_PARMSW, 40)
2344     TEST_TYPE_ALIGN  (MCI_DGV_SETVIDEO_PARMSW, 1)
2345     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwCallback, 8)
2346     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwCallback, 1)
2347     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwCallback, 0)
2348     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwItem, 4)
2349     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwItem, 1)
2350     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwItem, 8)
2351     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwValue, 4)
2352     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwValue, 1)
2353     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwValue, 12)
2354     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwOver, 4)
2355     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwOver, 1)
2356     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwOver, 16)
2357     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 8)
2358     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 1)
2359     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 20)
2360     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 8)
2361     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 1)
2362     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 28)
2363     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 4)
2364     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 1)
2365     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 36)
2366 }
2367 
2368 static void test_pack_MCI_DGV_STATUS_PARMSA(void)
2369 {
2370     /* MCI_DGV_STATUS_PARMSA (pack 1) */
2371     TEST_TYPE_SIZE   (MCI_DGV_STATUS_PARMSA, 36)
2372     TEST_TYPE_ALIGN  (MCI_DGV_STATUS_PARMSA, 1)
2373     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwCallback, 8)
2374     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwCallback, 1)
2375     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwCallback, 0)
2376     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwReturn, 8)
2377     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwReturn, 1)
2378     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwReturn, 8)
2379     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwItem, 4)
2380     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwItem, 1)
2381     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwItem, 16)
2382     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwTrack, 4)
2383     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwTrack, 1)
2384     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwTrack, 20)
2385     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, lpstrDrive, 8)
2386     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, lpstrDrive, 1)
2387     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, lpstrDrive, 24)
2388     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwReference, 4)
2389     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwReference, 1)
2390     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwReference, 32)
2391 }
2392 
2393 static void test_pack_MCI_DGV_STATUS_PARMSW(void)
2394 {
2395     /* MCI_DGV_STATUS_PARMSW (pack 1) */
2396     TEST_TYPE_SIZE   (MCI_DGV_STATUS_PARMSW, 36)
2397     TEST_TYPE_ALIGN  (MCI_DGV_STATUS_PARMSW, 1)
2398     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwCallback, 8)
2399     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwCallback, 1)
2400     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwCallback, 0)
2401     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwReturn, 8)
2402     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwReturn, 1)
2403     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwReturn, 8)
2404     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwItem, 4)
2405     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwItem, 1)
2406     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwItem, 16)
2407     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwTrack, 4)
2408     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwTrack, 1)
2409     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwTrack, 20)
2410     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, lpstrDrive, 8)
2411     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, lpstrDrive, 1)
2412     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, lpstrDrive, 24)
2413     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwReference, 4)
2414     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwReference, 1)
2415     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwReference, 32)
2416 }
2417 
2418 static void test_pack_MCI_DGV_STEP_PARMS(void)
2419 {
2420     /* MCI_DGV_STEP_PARMS (pack 1) */
2421     TEST_TYPE_SIZE   (MCI_DGV_STEP_PARMS, 12)
2422     TEST_TYPE_ALIGN  (MCI_DGV_STEP_PARMS, 1)
2423     TEST_FIELD_SIZE  (MCI_DGV_STEP_PARMS, dwCallback, 8)
2424     TEST_FIELD_ALIGN (MCI_DGV_STEP_PARMS, dwCallback, 1)
2425     TEST_FIELD_OFFSET(MCI_DGV_STEP_PARMS, dwCallback, 0)
2426     TEST_FIELD_SIZE  (MCI_DGV_STEP_PARMS, dwFrames, 4)
2427     TEST_FIELD_ALIGN (MCI_DGV_STEP_PARMS, dwFrames, 1)
2428     TEST_FIELD_OFFSET(MCI_DGV_STEP_PARMS, dwFrames, 8)
2429 }
2430 
2431 static void test_pack_MCI_DGV_UPDATE_PARMS(void)
2432 {
2433     /* MCI_DGV_UPDATE_PARMS (pack 1) */
2434     TEST_TYPE_SIZE   (MCI_DGV_UPDATE_PARMS, 32)
2435     TEST_TYPE_ALIGN  (MCI_DGV_UPDATE_PARMS, 1)
2436     TEST_FIELD_SIZE  (MCI_DGV_UPDATE_PARMS, dwCallback, 8)
2437     TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, dwCallback, 1)
2438     TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, dwCallback, 0)
2439     TEST_FIELD_SIZE  (MCI_DGV_UPDATE_PARMS, rc, 16)
2440     TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, rc, 1)
2441     TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, rc, 8)
2442     TEST_FIELD_SIZE  (MCI_DGV_UPDATE_PARMS, hDC, 8)
2443     TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, hDC, 1)
2444     TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, hDC, 24)
2445 }
2446 
2447 static void test_pack_MCI_DGV_WINDOW_PARMSA(void)
2448 {
2449     /* MCI_DGV_WINDOW_PARMSA (pack 1) */
2450     TEST_TYPE_SIZE   (MCI_DGV_WINDOW_PARMSA, 28)
2451     TEST_TYPE_ALIGN  (MCI_DGV_WINDOW_PARMSA, 1)
2452     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSA, dwCallback, 8)
2453     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, dwCallback, 1)
2454     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, dwCallback, 0)
2455     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSA, hWnd, 8)
2456     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, hWnd, 1)
2457     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, hWnd, 8)
2458     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSA, nCmdShow, 4)
2459     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, nCmdShow, 1)
2460     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, nCmdShow, 16)
2461     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSA, lpstrText, 8)
2462     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, lpstrText, 1)
2463     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, lpstrText, 20)
2464 }
2465 
2466 static void test_pack_MCI_DGV_WINDOW_PARMSW(void)
2467 {
2468     /* MCI_DGV_WINDOW_PARMSW (pack 1) */
2469     TEST_TYPE_SIZE   (MCI_DGV_WINDOW_PARMSW, 28)
2470     TEST_TYPE_ALIGN  (MCI_DGV_WINDOW_PARMSW, 1)
2471     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSW, dwCallback, 8)
2472     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, dwCallback, 1)
2473     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, dwCallback, 0)
2474     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSW, hWnd, 8)
2475     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, hWnd, 1)
2476     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, hWnd, 8)
2477     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSW, nCmdShow, 4)
2478     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, nCmdShow, 1)
2479     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, nCmdShow, 16)
2480     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSW, lpstrText, 8)
2481     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, lpstrText, 1)
2482     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, lpstrText, 20)
2483 }
2484 
2485 #else /* _WIN64 */
2486 
2487 static void test_pack_MMTIME(void)
2488 {
2489     /* MMTIME (pack 1) */
2490     TEST_FIELD_SIZE  (MMTIME, wType, 4)
2491     TEST_FIELD_ALIGN (MMTIME, wType, 1)
2492     TEST_FIELD_OFFSET(MMTIME, wType, 0)
2493 }
2494 
2495 static void test_pack_DRVCONFIGINFO(void)
2496 {
2497     /* DRVCONFIGINFO (pack 1) */
2498     TEST_TYPE_SIZE   (DRVCONFIGINFO, 12)
2499     TEST_TYPE_ALIGN  (DRVCONFIGINFO, 1)
2500     TEST_FIELD_SIZE  (DRVCONFIGINFO, dwDCISize, 4)
2501     TEST_FIELD_ALIGN (DRVCONFIGINFO, dwDCISize, 1)
2502     TEST_FIELD_OFFSET(DRVCONFIGINFO, dwDCISize, 0)
2503     TEST_FIELD_SIZE  (DRVCONFIGINFO, lpszDCISectionName, 4)
2504     TEST_FIELD_ALIGN (DRVCONFIGINFO, lpszDCISectionName, 1)
2505     TEST_FIELD_OFFSET(DRVCONFIGINFO, lpszDCISectionName, 4)
2506     TEST_FIELD_SIZE  (DRVCONFIGINFO, lpszDCIAliasName, 4)
2507     TEST_FIELD_ALIGN (DRVCONFIGINFO, lpszDCIAliasName, 1)
2508     TEST_FIELD_OFFSET(DRVCONFIGINFO, lpszDCIAliasName, 8)
2509 }
2510 
2511 static void test_pack_WAVEHDR(void)
2512 {
2513     /* WAVEHDR (pack 1) */
2514     TEST_TYPE_SIZE   (WAVEHDR, 32)
2515     TEST_TYPE_ALIGN  (WAVEHDR, 1)
2516     TEST_FIELD_SIZE  (WAVEHDR, lpData, 4)
2517     TEST_FIELD_ALIGN (WAVEHDR, lpData, 1)
2518     TEST_FIELD_OFFSET(WAVEHDR, lpData, 0)
2519     TEST_FIELD_SIZE  (WAVEHDR, dwBufferLength, 4)
2520     TEST_FIELD_ALIGN (WAVEHDR, dwBufferLength, 1)
2521     TEST_FIELD_OFFSET(WAVEHDR, dwBufferLength, 4)
2522     TEST_FIELD_SIZE  (WAVEHDR, dwBytesRecorded, 4)
2523     TEST_FIELD_ALIGN (WAVEHDR, dwBytesRecorded, 1)
2524     TEST_FIELD_OFFSET(WAVEHDR, dwBytesRecorded, 8)
2525     TEST_FIELD_SIZE  (WAVEHDR, dwUser, 4)
2526     TEST_FIELD_ALIGN (WAVEHDR, dwUser, 1)
2527     TEST_FIELD_OFFSET(WAVEHDR, dwUser, 12)
2528     TEST_FIELD_SIZE  (WAVEHDR, dwFlags, 4)
2529     TEST_FIELD_ALIGN (WAVEHDR, dwFlags, 1)
2530     TEST_FIELD_OFFSET(WAVEHDR, dwFlags, 16)
2531     TEST_FIELD_SIZE  (WAVEHDR, dwLoops, 4)
2532     TEST_FIELD_ALIGN (WAVEHDR, dwLoops, 1)
2533     TEST_FIELD_OFFSET(WAVEHDR, dwLoops, 20)
2534     TEST_FIELD_SIZE  (WAVEHDR, lpNext, 4)
2535     TEST_FIELD_ALIGN (WAVEHDR, lpNext, 1)
2536     TEST_FIELD_OFFSET(WAVEHDR, lpNext, 24)
2537     TEST_FIELD_SIZE  (WAVEHDR, reserved, 4)
2538     TEST_FIELD_ALIGN (WAVEHDR, reserved, 1)
2539     TEST_FIELD_OFFSET(WAVEHDR, reserved, 28)
2540 }
2541 
2542 static void test_pack_WAVEOUTCAPSA(void)
2543 {
2544     /* WAVEOUTCAPSA (pack 1) */
2545     TEST_FIELD_SIZE  (WAVEOUTCAPSA, wMid, 2)
2546     TEST_FIELD_ALIGN (WAVEOUTCAPSA, wMid, 1)
2547     TEST_FIELD_OFFSET(WAVEOUTCAPSA, wMid, 0)
2548     TEST_FIELD_SIZE  (WAVEOUTCAPSA, wPid, 2)
2549     TEST_FIELD_ALIGN (WAVEOUTCAPSA, wPid, 1)
2550     TEST_FIELD_OFFSET(WAVEOUTCAPSA, wPid, 2)
2551     TEST_FIELD_SIZE  (WAVEOUTCAPSA, vDriverVersion, 4)
2552     TEST_FIELD_ALIGN (WAVEOUTCAPSA, vDriverVersion, 1)
2553     TEST_FIELD_OFFSET(WAVEOUTCAPSA, vDriverVersion, 4)
2554 }
2555 
2556 static void test_pack_WAVEOUTCAPSW(void)
2557 {
2558     /* WAVEOUTCAPSW (pack 1) */
2559     TEST_FIELD_SIZE  (WAVEOUTCAPSW, wMid, 2)
2560     TEST_FIELD_ALIGN (WAVEOUTCAPSW, wMid, 1)
2561     TEST_FIELD_OFFSET(WAVEOUTCAPSW, wMid, 0)
2562     TEST_FIELD_SIZE  (WAVEOUTCAPSW, wPid, 2)
2563     TEST_FIELD_ALIGN (WAVEOUTCAPSW, wPid, 1)
2564     TEST_FIELD_OFFSET(WAVEOUTCAPSW, wPid, 2)
2565     TEST_FIELD_SIZE  (WAVEOUTCAPSW, vDriverVersion, 4)
2566     TEST_FIELD_ALIGN (WAVEOUTCAPSW, vDriverVersion, 1)
2567     TEST_FIELD_OFFSET(WAVEOUTCAPSW, vDriverVersion, 4)
2568 }
2569 
2570 static void test_pack_WAVEOUTCAPS2A(void)
2571 {
2572     /* WAVEOUTCAPS2A (pack 1) */
2573     TEST_FIELD_SIZE  (WAVEOUTCAPS2A, wMid, 2)
2574     TEST_FIELD_ALIGN (WAVEOUTCAPS2A, wMid, 1)
2575     TEST_FIELD_OFFSET(WAVEOUTCAPS2A, wMid, 0)
2576     TEST_FIELD_SIZE  (WAVEOUTCAPS2A, wPid, 2)
2577     TEST_FIELD_ALIGN (WAVEOUTCAPS2A, wPid, 1)
2578     TEST_FIELD_OFFSET(WAVEOUTCAPS2A, wPid, 2)
2579     TEST_FIELD_SIZE  (WAVEOUTCAPS2A, vDriverVersion, 4)
2580     TEST_FIELD_ALIGN (WAVEOUTCAPS2A, vDriverVersion, 1)
2581     TEST_FIELD_OFFSET(WAVEOUTCAPS2A, vDriverVersion, 4)
2582 }
2583 
2584 static void test_pack_WAVEOUTCAPS2W(void)
2585 {
2586     /* WAVEOUTCAPS2W (pack 1) */
2587     TEST_FIELD_SIZE  (WAVEOUTCAPS2W, wMid, 2)
2588     TEST_FIELD_ALIGN (WAVEOUTCAPS2W, wMid, 1)
2589     TEST_FIELD_OFFSET(WAVEOUTCAPS2W, wMid, 0)
2590     TEST_FIELD_SIZE  (WAVEOUTCAPS2W, wPid, 2)
2591     TEST_FIELD_ALIGN (WAVEOUTCAPS2W, wPid, 1)
2592     TEST_FIELD_OFFSET(WAVEOUTCAPS2W, wPid, 2)
2593     TEST_FIELD_SIZE  (WAVEOUTCAPS2W, vDriverVersion, 4)
2594     TEST_FIELD_ALIGN (WAVEOUTCAPS2W, vDriverVersion, 1)
2595     TEST_FIELD_OFFSET(WAVEOUTCAPS2W, vDriverVersion, 4)
2596 }
2597 
2598 static void test_pack_WAVEINCAPSA(void)
2599 {
2600     /* WAVEINCAPSA (pack 1) */
2601     TEST_FIELD_SIZE  (WAVEINCAPSA, wMid, 2)
2602     TEST_FIELD_ALIGN (WAVEINCAPSA, wMid, 1)
2603     TEST_FIELD_OFFSET(WAVEINCAPSA, wMid, 0)
2604     TEST_FIELD_SIZE  (WAVEINCAPSA, wPid, 2)
2605     TEST_FIELD_ALIGN (WAVEINCAPSA, wPid, 1)
2606     TEST_FIELD_OFFSET(WAVEINCAPSA, wPid, 2)
2607     TEST_FIELD_SIZE  (WAVEINCAPSA, vDriverVersion, 4)
2608     TEST_FIELD_ALIGN (WAVEINCAPSA, vDriverVersion, 1)
2609     TEST_FIELD_OFFSET(WAVEINCAPSA, vDriverVersion, 4)
2610 }
2611 
2612 static void test_pack_WAVEINCAPSW(void)
2613 {
2614     /* WAVEINCAPSW (pack 1) */
2615     TEST_FIELD_SIZE  (WAVEINCAPSW, wMid, 2)
2616     TEST_FIELD_ALIGN (WAVEINCAPSW, wMid, 1)
2617     TEST_FIELD_OFFSET(WAVEINCAPSW, wMid, 0)
2618     TEST_FIELD_SIZE  (WAVEINCAPSW, wPid, 2)
2619     TEST_FIELD_ALIGN (WAVEINCAPSW, wPid, 1)
2620     TEST_FIELD_OFFSET(WAVEINCAPSW, wPid, 2)
2621     TEST_FIELD_SIZE  (WAVEINCAPSW, vDriverVersion, 4)
2622     TEST_FIELD_ALIGN (WAVEINCAPSW, vDriverVersion, 1)
2623     TEST_FIELD_OFFSET(WAVEINCAPSW, vDriverVersion, 4)
2624 }
2625 
2626 static void test_pack_WAVEINCAPS2A(void)
2627 {
2628     /* WAVEINCAPS2A (pack 1) */
2629     TEST_FIELD_SIZE  (WAVEINCAPS2A, wMid, 2)
2630     TEST_FIELD_ALIGN (WAVEINCAPS2A, wMid, 1)
2631     TEST_FIELD_OFFSET(WAVEINCAPS2A, wMid, 0)
2632     TEST_FIELD_SIZE  (WAVEINCAPS2A, wPid, 2)
2633     TEST_FIELD_ALIGN (WAVEINCAPS2A, wPid, 1)
2634     TEST_FIELD_OFFSET(WAVEINCAPS2A, wPid, 2)
2635     TEST_FIELD_SIZE  (WAVEINCAPS2A, vDriverVersion, 4)
2636     TEST_FIELD_ALIGN (WAVEINCAPS2A, vDriverVersion, 1)
2637     TEST_FIELD_OFFSET(WAVEINCAPS2A, vDriverVersion, 4)
2638 }
2639 
2640 static void test_pack_WAVEINCAPS2W(void)
2641 {
2642     /* WAVEINCAPS2W (pack 1) */
2643     TEST_FIELD_SIZE  (WAVEINCAPS2W, wMid, 2)
2644     TEST_FIELD_ALIGN (WAVEINCAPS2W, wMid, 1)
2645     TEST_FIELD_OFFSET(WAVEINCAPS2W, wMid, 0)
2646     TEST_FIELD_SIZE  (WAVEINCAPS2W, wPid, 2)
2647     TEST_FIELD_ALIGN (WAVEINCAPS2W, wPid, 1)
2648     TEST_FIELD_OFFSET(WAVEINCAPS2W, wPid, 2)
2649     TEST_FIELD_SIZE  (WAVEINCAPS2W, vDriverVersion, 4)
2650     TEST_FIELD_ALIGN (WAVEINCAPS2W, vDriverVersion, 1)
2651     TEST_FIELD_OFFSET(WAVEINCAPS2W, vDriverVersion, 4)
2652 }
2653 
2654 static void test_pack_WAVEFORMAT(void)
2655 {
2656     /* WAVEFORMAT (pack 1) */
2657     TEST_TYPE_SIZE   (WAVEFORMAT, 14)
2658     TEST_TYPE_ALIGN  (WAVEFORMAT, 1)
2659     TEST_FIELD_SIZE  (WAVEFORMAT, wFormatTag, 2)
2660     TEST_FIELD_ALIGN (WAVEFORMAT, wFormatTag, 1)
2661     TEST_FIELD_OFFSET(WAVEFORMAT, wFormatTag, 0)
2662     TEST_FIELD_SIZE  (WAVEFORMAT, nChannels, 2)
2663     TEST_FIELD_ALIGN (WAVEFORMAT, nChannels, 1)
2664     TEST_FIELD_OFFSET(WAVEFORMAT, nChannels, 2)
2665     TEST_FIELD_SIZE  (WAVEFORMAT, nSamplesPerSec, 4)
2666     TEST_FIELD_ALIGN (WAVEFORMAT, nSamplesPerSec, 1)
2667     TEST_FIELD_OFFSET(WAVEFORMAT, nSamplesPerSec, 4)
2668     TEST_FIELD_SIZE  (WAVEFORMAT, nAvgBytesPerSec, 4)
2669     TEST_FIELD_ALIGN (WAVEFORMAT, nAvgBytesPerSec, 1)
2670     TEST_FIELD_OFFSET(WAVEFORMAT, nAvgBytesPerSec, 8)
2671     TEST_FIELD_SIZE  (WAVEFORMAT, nBlockAlign, 2)
2672     TEST_FIELD_ALIGN (WAVEFORMAT, nBlockAlign, 1)
2673     TEST_FIELD_OFFSET(WAVEFORMAT, nBlockAlign, 12)
2674 }
2675 
2676 static void test_pack_PCMWAVEFORMAT(void)
2677 {
2678     /* PCMWAVEFORMAT (pack 1) */
2679     TEST_TYPE_SIZE   (PCMWAVEFORMAT, 16)
2680     TEST_TYPE_ALIGN  (PCMWAVEFORMAT, 1)
2681     TEST_FIELD_SIZE  (PCMWAVEFORMAT, wf, 14)
2682     TEST_FIELD_ALIGN (PCMWAVEFORMAT, wf, 1)
2683     TEST_FIELD_OFFSET(PCMWAVEFORMAT, wf, 0)
2684     TEST_FIELD_SIZE  (PCMWAVEFORMAT, wBitsPerSample, 2)
2685     TEST_FIELD_ALIGN (PCMWAVEFORMAT, wBitsPerSample, 1)
2686     TEST_FIELD_OFFSET(PCMWAVEFORMAT, wBitsPerSample, 14)
2687 }
2688 
2689 static void test_pack_WAVEFORMATEX(void)
2690 {
2691     /* WAVEFORMATEX (pack 1) */
2692     TEST_TYPE_SIZE   (WAVEFORMATEX, 18)
2693     TEST_TYPE_ALIGN  (WAVEFORMATEX, 1)
2694     TEST_FIELD_SIZE  (WAVEFORMATEX, wFormatTag, 2)
2695     TEST_FIELD_ALIGN (WAVEFORMATEX, wFormatTag, 1)
2696     TEST_FIELD_OFFSET(WAVEFORMATEX, wFormatTag, 0)
2697     TEST_FIELD_SIZE  (WAVEFORMATEX, nChannels, 2)
2698     TEST_FIELD_ALIGN (WAVEFORMATEX, nChannels, 1)
2699     TEST_FIELD_OFFSET(WAVEFORMATEX, nChannels, 2)
2700     TEST_FIELD_SIZE  (WAVEFORMATEX, nSamplesPerSec, 4)
2701     TEST_FIELD_ALIGN (WAVEFORMATEX, nSamplesPerSec, 1)
2702     TEST_FIELD_OFFSET(WAVEFORMATEX, nSamplesPerSec, 4)
2703     TEST_FIELD_SIZE  (WAVEFORMATEX, nAvgBytesPerSec, 4)
2704     TEST_FIELD_ALIGN (WAVEFORMATEX, nAvgBytesPerSec, 1)
2705     TEST_FIELD_OFFSET(WAVEFORMATEX, nAvgBytesPerSec, 8)
2706     TEST_FIELD_SIZE  (WAVEFORMATEX, nBlockAlign, 2)
2707     TEST_FIELD_ALIGN (WAVEFORMATEX, nBlockAlign, 1)
2708     TEST_FIELD_OFFSET(WAVEFORMATEX, nBlockAlign, 12)
2709     TEST_FIELD_SIZE  (WAVEFORMATEX, wBitsPerSample, 2)
2710     TEST_FIELD_ALIGN (WAVEFORMATEX, wBitsPerSample, 1)
2711     TEST_FIELD_OFFSET(WAVEFORMATEX, wBitsPerSample, 14)
2712     TEST_FIELD_SIZE  (WAVEFORMATEX, cbSize, 2)
2713     TEST_FIELD_ALIGN (WAVEFORMATEX, cbSize, 1)
2714     TEST_FIELD_OFFSET(WAVEFORMATEX, cbSize, 16)
2715 }
2716 
2717 static void test_pack_MIDIOUTCAPSA(void)
2718 {
2719     /* MIDIOUTCAPSA (pack 1) */
2720     TEST_FIELD_SIZE  (MIDIOUTCAPSA, wMid, 2)
2721     TEST_FIELD_ALIGN (MIDIOUTCAPSA, wMid, 1)
2722     TEST_FIELD_OFFSET(MIDIOUTCAPSA, wMid, 0)
2723     TEST_FIELD_SIZE  (MIDIOUTCAPSA, wPid, 2)
2724     TEST_FIELD_ALIGN (MIDIOUTCAPSA, wPid, 1)
2725     TEST_FIELD_OFFSET(MIDIOUTCAPSA, wPid, 2)
2726     TEST_FIELD_SIZE  (MIDIOUTCAPSA, vDriverVersion, 4)
2727     TEST_FIELD_ALIGN (MIDIOUTCAPSA, vDriverVersion, 1)
2728     TEST_FIELD_OFFSET(MIDIOUTCAPSA, vDriverVersion, 4)
2729 }
2730 
2731 static void test_pack_MIDIOUTCAPSW(void)
2732 {
2733     /* MIDIOUTCAPSW (pack 1) */
2734     TEST_FIELD_SIZE  (MIDIOUTCAPSW, wMid, 2)
2735     TEST_FIELD_ALIGN (MIDIOUTCAPSW, wMid, 1)
2736     TEST_FIELD_OFFSET(MIDIOUTCAPSW, wMid, 0)
2737     TEST_FIELD_SIZE  (MIDIOUTCAPSW, wPid, 2)
2738     TEST_FIELD_ALIGN (MIDIOUTCAPSW, wPid, 1)
2739     TEST_FIELD_OFFSET(MIDIOUTCAPSW, wPid, 2)
2740     TEST_FIELD_SIZE  (MIDIOUTCAPSW, vDriverVersion, 4)
2741     TEST_FIELD_ALIGN (MIDIOUTCAPSW, vDriverVersion, 1)
2742     TEST_FIELD_OFFSET(MIDIOUTCAPSW, vDriverVersion, 4)
2743 }
2744 
2745 static void test_pack_MIDIOUTCAPS2A(void)
2746 {
2747     /* MIDIOUTCAPS2A (pack 1) */
2748     TEST_FIELD_SIZE  (MIDIOUTCAPS2A, wMid, 2)
2749     TEST_FIELD_ALIGN (MIDIOUTCAPS2A, wMid, 1)
2750     TEST_FIELD_OFFSET(MIDIOUTCAPS2A, wMid, 0)
2751     TEST_FIELD_SIZE  (MIDIOUTCAPS2A, wPid, 2)
2752     TEST_FIELD_ALIGN (MIDIOUTCAPS2A, wPid, 1)
2753     TEST_FIELD_OFFSET(MIDIOUTCAPS2A, wPid, 2)
2754     TEST_FIELD_SIZE  (MIDIOUTCAPS2A, vDriverVersion, 4)
2755     TEST_FIELD_ALIGN (MIDIOUTCAPS2A, vDriverVersion, 1)
2756     TEST_FIELD_OFFSET(MIDIOUTCAPS2A, vDriverVersion, 4)
2757 }
2758 
2759 static void test_pack_MIDIOUTCAPS2W(void)
2760 {
2761     /* MIDIOUTCAPS2W (pack 1) */
2762     TEST_FIELD_SIZE  (MIDIOUTCAPS2W, wMid, 2)
2763     TEST_FIELD_ALIGN (MIDIOUTCAPS2W, wMid, 1)
2764     TEST_FIELD_OFFSET(MIDIOUTCAPS2W, wMid, 0)
2765     TEST_FIELD_SIZE  (MIDIOUTCAPS2W, wPid, 2)
2766     TEST_FIELD_ALIGN (MIDIOUTCAPS2W, wPid, 1)
2767     TEST_FIELD_OFFSET(MIDIOUTCAPS2W, wPid, 2)
2768     TEST_FIELD_SIZE  (MIDIOUTCAPS2W, vDriverVersion, 4)
2769     TEST_FIELD_ALIGN (MIDIOUTCAPS2W, vDriverVersion, 1)
2770     TEST_FIELD_OFFSET(MIDIOUTCAPS2W, vDriverVersion, 4)
2771 }
2772 
2773 static void test_pack_MIDIINCAPSA(void)
2774 {
2775     /* MIDIINCAPSA (pack 1) */
2776     TEST_FIELD_SIZE  (MIDIINCAPSA, wMid, 2)
2777     TEST_FIELD_ALIGN (MIDIINCAPSA, wMid, 1)
2778     TEST_FIELD_OFFSET(MIDIINCAPSA, wMid, 0)
2779     TEST_FIELD_SIZE  (MIDIINCAPSA, wPid, 2)
2780     TEST_FIELD_ALIGN (MIDIINCAPSA, wPid, 1)
2781     TEST_FIELD_OFFSET(MIDIINCAPSA, wPid, 2)
2782     TEST_FIELD_SIZE  (MIDIINCAPSA, vDriverVersion, 4)
2783     TEST_FIELD_ALIGN (MIDIINCAPSA, vDriverVersion, 1)
2784     TEST_FIELD_OFFSET(MIDIINCAPSA, vDriverVersion, 4)
2785 }
2786 
2787 static void test_pack_MIDIINCAPSW(void)
2788 {
2789     /* MIDIINCAPSW (pack 1) */
2790     TEST_FIELD_SIZE  (MIDIINCAPSW, wMid, 2)
2791     TEST_FIELD_ALIGN (MIDIINCAPSW, wMid, 1)
2792     TEST_FIELD_OFFSET(MIDIINCAPSW, wMid, 0)
2793     TEST_FIELD_SIZE  (MIDIINCAPSW, wPid, 2)
2794     TEST_FIELD_ALIGN (MIDIINCAPSW, wPid, 1)
2795     TEST_FIELD_OFFSET(MIDIINCAPSW, wPid, 2)
2796     TEST_FIELD_SIZE  (MIDIINCAPSW, vDriverVersion, 4)
2797     TEST_FIELD_ALIGN (MIDIINCAPSW, vDriverVersion, 1)
2798     TEST_FIELD_OFFSET(MIDIINCAPSW, vDriverVersion, 4)
2799 }
2800 
2801 static void test_pack_MIDIINCAPS2A(void)
2802 {
2803     /* MIDIINCAPS2A (pack 1) */
2804     TEST_FIELD_SIZE  (MIDIINCAPS2A, wMid, 2)
2805     TEST_FIELD_ALIGN (MIDIINCAPS2A, wMid, 1)
2806     TEST_FIELD_OFFSET(MIDIINCAPS2A, wMid, 0)
2807     TEST_FIELD_SIZE  (MIDIINCAPS2A, wPid, 2)
2808     TEST_FIELD_ALIGN (MIDIINCAPS2A, wPid, 1)
2809     TEST_FIELD_OFFSET(MIDIINCAPS2A, wPid, 2)
2810     TEST_FIELD_SIZE  (MIDIINCAPS2A, vDriverVersion, 4)
2811     TEST_FIELD_ALIGN (MIDIINCAPS2A, vDriverVersion, 1)
2812     TEST_FIELD_OFFSET(MIDIINCAPS2A, vDriverVersion, 4)
2813 }
2814 
2815 static void test_pack_MIDIINCAPS2W(void)
2816 {
2817     /* MIDIINCAPS2W (pack 1) */
2818     TEST_FIELD_SIZE  (MIDIINCAPS2W, wMid, 2)
2819     TEST_FIELD_ALIGN (MIDIINCAPS2W, wMid, 1)
2820     TEST_FIELD_OFFSET(MIDIINCAPS2W, wMid, 0)
2821     TEST_FIELD_SIZE  (MIDIINCAPS2W, wPid, 2)
2822     TEST_FIELD_ALIGN (MIDIINCAPS2W, wPid, 1)
2823     TEST_FIELD_OFFSET(MIDIINCAPS2W, wPid, 2)
2824     TEST_FIELD_SIZE  (MIDIINCAPS2W, vDriverVersion, 4)
2825     TEST_FIELD_ALIGN (MIDIINCAPS2W, vDriverVersion, 1)
2826     TEST_FIELD_OFFSET(MIDIINCAPS2W, vDriverVersion, 4)
2827 }
2828 
2829 static void test_pack_MIDIHDR(void)
2830 {
2831     /* MIDIHDR (pack 1) */
2832     TEST_TYPE_SIZE   (MIDIHDR, 64)
2833     TEST_TYPE_ALIGN  (MIDIHDR, 1)
2834     TEST_FIELD_SIZE  (MIDIHDR, lpData, 4)
2835     TEST_FIELD_ALIGN (MIDIHDR, lpData, 1)
2836     TEST_FIELD_OFFSET(MIDIHDR, lpData, 0)
2837     TEST_FIELD_SIZE  (MIDIHDR, dwBufferLength, 4)
2838     TEST_FIELD_ALIGN (MIDIHDR, dwBufferLength, 1)
2839     TEST_FIELD_OFFSET(MIDIHDR, dwBufferLength, 4)
2840     TEST_FIELD_SIZE  (MIDIHDR, dwBytesRecorded, 4)
2841     TEST_FIELD_ALIGN (MIDIHDR, dwBytesRecorded, 1)
2842     TEST_FIELD_OFFSET(MIDIHDR, dwBytesRecorded, 8)
2843     TEST_FIELD_SIZE  (MIDIHDR, dwUser, 4)
2844     TEST_FIELD_ALIGN (MIDIHDR, dwUser, 1)
2845     TEST_FIELD_OFFSET(MIDIHDR, dwUser, 12)
2846     TEST_FIELD_SIZE  (MIDIHDR, dwFlags, 4)
2847     TEST_FIELD_ALIGN (MIDIHDR, dwFlags, 1)
2848     TEST_FIELD_OFFSET(MIDIHDR, dwFlags, 16)
2849     TEST_FIELD_SIZE  (MIDIHDR, lpNext, 4)
2850     TEST_FIELD_ALIGN (MIDIHDR, lpNext, 1)
2851     TEST_FIELD_OFFSET(MIDIHDR, lpNext, 20)
2852     TEST_FIELD_SIZE  (MIDIHDR, reserved, 4)
2853     TEST_FIELD_ALIGN (MIDIHDR, reserved, 1)
2854     TEST_FIELD_OFFSET(MIDIHDR, reserved, 24)
2855     TEST_FIELD_SIZE  (MIDIHDR, dwOffset, 4)
2856     TEST_FIELD_ALIGN (MIDIHDR, dwOffset, 1)
2857     TEST_FIELD_OFFSET(MIDIHDR, dwOffset, 28)
2858     TEST_FIELD_SIZE  (MIDIHDR, dwReserved, 32)
2859     TEST_FIELD_ALIGN (MIDIHDR, dwReserved, 1)
2860     TEST_FIELD_OFFSET(MIDIHDR, dwReserved, 32)
2861 }
2862 
2863 static void test_pack_MIDIEVENT(void)
2864 {
2865     /* MIDIEVENT (pack 1) */
2866     TEST_TYPE_SIZE   (MIDIEVENT, 16)
2867     TEST_TYPE_ALIGN  (MIDIEVENT, 1)
2868     TEST_FIELD_SIZE  (MIDIEVENT, dwDeltaTime, 4)
2869     TEST_FIELD_ALIGN (MIDIEVENT, dwDeltaTime, 1)
2870     TEST_FIELD_OFFSET(MIDIEVENT, dwDeltaTime, 0)
2871     TEST_FIELD_SIZE  (MIDIEVENT, dwStreamID, 4)
2872     TEST_FIELD_ALIGN (MIDIEVENT, dwStreamID, 1)
2873     TEST_FIELD_OFFSET(MIDIEVENT, dwStreamID, 4)
2874     TEST_FIELD_SIZE  (MIDIEVENT, dwEvent, 4)
2875     TEST_FIELD_ALIGN (MIDIEVENT, dwEvent, 1)
2876     TEST_FIELD_OFFSET(MIDIEVENT, dwEvent, 8)
2877     TEST_FIELD_SIZE  (MIDIEVENT, dwParms, 4)
2878     TEST_FIELD_ALIGN (MIDIEVENT, dwParms, 1)
2879     TEST_FIELD_OFFSET(MIDIEVENT, dwParms, 12)
2880 }
2881 
2882 static void test_pack_AUXCAPSA(void)
2883 {
2884     /* AUXCAPSA (pack 1) */
2885     TEST_FIELD_SIZE  (AUXCAPSA, wMid, 2)
2886     TEST_FIELD_ALIGN (AUXCAPSA, wMid, 1)
2887     TEST_FIELD_OFFSET(AUXCAPSA, wMid, 0)
2888     TEST_FIELD_SIZE  (AUXCAPSA, wPid, 2)
2889     TEST_FIELD_ALIGN (AUXCAPSA, wPid, 1)
2890     TEST_FIELD_OFFSET(AUXCAPSA, wPid, 2)
2891     TEST_FIELD_SIZE  (AUXCAPSA, vDriverVersion, 4)
2892     TEST_FIELD_ALIGN (AUXCAPSA, vDriverVersion, 1)
2893     TEST_FIELD_OFFSET(AUXCAPSA, vDriverVersion, 4)
2894 }
2895 
2896 static void test_pack_AUXCAPSW(void)
2897 {
2898     /* AUXCAPSW (pack 1) */
2899     TEST_FIELD_SIZE  (AUXCAPSW, wMid, 2)
2900     TEST_FIELD_ALIGN (AUXCAPSW, wMid, 1)
2901     TEST_FIELD_OFFSET(AUXCAPSW, wMid, 0)
2902     TEST_FIELD_SIZE  (AUXCAPSW, wPid, 2)
2903     TEST_FIELD_ALIGN (AUXCAPSW, wPid, 1)
2904     TEST_FIELD_OFFSET(AUXCAPSW, wPid, 2)
2905     TEST_FIELD_SIZE  (AUXCAPSW, vDriverVersion, 4)
2906     TEST_FIELD_ALIGN (AUXCAPSW, vDriverVersion, 1)
2907     TEST_FIELD_OFFSET(AUXCAPSW, vDriverVersion, 4)
2908 }
2909 
2910 static void test_pack_AUXCAPS2A(void)
2911 {
2912     /* AUXCAPS2A (pack 1) */
2913     TEST_FIELD_SIZE  (AUXCAPS2A, wMid, 2)
2914     TEST_FIELD_ALIGN (AUXCAPS2A, wMid, 1)
2915     TEST_FIELD_OFFSET(AUXCAPS2A, wMid, 0)
2916     TEST_FIELD_SIZE  (AUXCAPS2A, wPid, 2)
2917     TEST_FIELD_ALIGN (AUXCAPS2A, wPid, 1)
2918     TEST_FIELD_OFFSET(AUXCAPS2A, wPid, 2)
2919     TEST_FIELD_SIZE  (AUXCAPS2A, vDriverVersion, 4)
2920     TEST_FIELD_ALIGN (AUXCAPS2A, vDriverVersion, 1)
2921     TEST_FIELD_OFFSET(AUXCAPS2A, vDriverVersion, 4)
2922 }
2923 
2924 static void test_pack_AUXCAPS2W(void)
2925 {
2926     /* AUXCAPS2W (pack 1) */
2927     TEST_FIELD_SIZE  (AUXCAPS2W, wMid, 2)
2928     TEST_FIELD_ALIGN (AUXCAPS2W, wMid, 1)
2929     TEST_FIELD_OFFSET(AUXCAPS2W, wMid, 0)
2930     TEST_FIELD_SIZE  (AUXCAPS2W, wPid, 2)
2931     TEST_FIELD_ALIGN (AUXCAPS2W, wPid, 1)
2932     TEST_FIELD_OFFSET(AUXCAPS2W, wPid, 2)
2933     TEST_FIELD_SIZE  (AUXCAPS2W, vDriverVersion, 4)
2934     TEST_FIELD_ALIGN (AUXCAPS2W, vDriverVersion, 1)
2935     TEST_FIELD_OFFSET(AUXCAPS2W, vDriverVersion, 4)
2936 }
2937 
2938 static void test_pack_TIMECAPS(void)
2939 {
2940     /* TIMECAPS (pack 1) */
2941     TEST_TYPE_SIZE   (TIMECAPS, 8)
2942     TEST_TYPE_ALIGN  (TIMECAPS, 1)
2943     TEST_FIELD_SIZE  (TIMECAPS, wPeriodMin, 4)
2944     TEST_FIELD_ALIGN (TIMECAPS, wPeriodMin, 1)
2945     TEST_FIELD_OFFSET(TIMECAPS, wPeriodMin, 0)
2946     TEST_FIELD_SIZE  (TIMECAPS, wPeriodMax, 4)
2947     TEST_FIELD_ALIGN (TIMECAPS, wPeriodMax, 1)
2948     TEST_FIELD_OFFSET(TIMECAPS, wPeriodMax, 4)
2949 }
2950 
2951 static void test_pack_JOYCAPSA(void)
2952 {
2953     /* JOYCAPSA (pack 1) */
2954     TEST_FIELD_SIZE  (JOYCAPSA, wMid, 2)
2955     TEST_FIELD_ALIGN (JOYCAPSA, wMid, 1)
2956     TEST_FIELD_OFFSET(JOYCAPSA, wMid, 0)
2957     TEST_FIELD_SIZE  (JOYCAPSA, wPid, 2)
2958     TEST_FIELD_ALIGN (JOYCAPSA, wPid, 1)
2959     TEST_FIELD_OFFSET(JOYCAPSA, wPid, 2)
2960 }
2961 
2962 static void test_pack_JOYCAPSW(void)
2963 {
2964     /* JOYCAPSW (pack 1) */
2965     TEST_FIELD_SIZE  (JOYCAPSW, wMid, 2)
2966     TEST_FIELD_ALIGN (JOYCAPSW, wMid, 1)
2967     TEST_FIELD_OFFSET(JOYCAPSW, wMid, 0)
2968     TEST_FIELD_SIZE  (JOYCAPSW, wPid, 2)
2969     TEST_FIELD_ALIGN (JOYCAPSW, wPid, 1)
2970     TEST_FIELD_OFFSET(JOYCAPSW, wPid, 2)
2971 }
2972 
2973 static void test_pack_JOYCAPS2A(void)
2974 {
2975     /* JOYCAPS2A (pack 1) */
2976     TEST_FIELD_SIZE  (JOYCAPS2A, wMid, 2)
2977     TEST_FIELD_ALIGN (JOYCAPS2A, wMid, 1)
2978     TEST_FIELD_OFFSET(JOYCAPS2A, wMid, 0)
2979     TEST_FIELD_SIZE  (JOYCAPS2A, wPid, 2)
2980     TEST_FIELD_ALIGN (JOYCAPS2A, wPid, 1)
2981     TEST_FIELD_OFFSET(JOYCAPS2A, wPid, 2)
2982 }
2983 
2984 static void test_pack_JOYCAPS2W(void)
2985 {
2986     /* JOYCAPS2W (pack 1) */
2987     TEST_FIELD_SIZE  (JOYCAPS2W, wMid, 2)
2988     TEST_FIELD_ALIGN (JOYCAPS2W, wMid, 1)
2989     TEST_FIELD_OFFSET(JOYCAPS2W, wMid, 0)
2990     TEST_FIELD_SIZE  (JOYCAPS2W, wPid, 2)
2991     TEST_FIELD_ALIGN (JOYCAPS2W, wPid, 1)
2992     TEST_FIELD_OFFSET(JOYCAPS2W, wPid, 2)
2993 }
2994 
2995 static void test_pack_JOYINFO(void)
2996 {
2997     /* JOYINFO (pack 1) */
2998     TEST_TYPE_SIZE   (JOYINFO, 16)
2999     TEST_TYPE_ALIGN  (JOYINFO, 1)
3000     TEST_FIELD_SIZE  (JOYINFO, wXpos, 4)
3001     TEST_FIELD_ALIGN (JOYINFO, wXpos, 1)
3002     TEST_FIELD_OFFSET(JOYINFO, wXpos, 0)
3003     TEST_FIELD_SIZE  (JOYINFO, wYpos, 4)
3004     TEST_FIELD_ALIGN (JOYINFO, wYpos, 1)
3005     TEST_FIELD_OFFSET(JOYINFO, wYpos, 4)
3006     TEST_FIELD_SIZE  (JOYINFO, wZpos, 4)
3007     TEST_FIELD_ALIGN (JOYINFO, wZpos, 1)
3008     TEST_FIELD_OFFSET(JOYINFO, wZpos, 8)
3009     TEST_FIELD_SIZE  (JOYINFO, wButtons, 4)
3010     TEST_FIELD_ALIGN (JOYINFO, wButtons, 1)
3011     TEST_FIELD_OFFSET(JOYINFO, wButtons, 12)
3012 }
3013 
3014 static void test_pack_JOYINFOEX(void)
3015 {
3016     /* JOYINFOEX (pack 1) */
3017     TEST_TYPE_SIZE   (JOYINFOEX, 52)
3018     TEST_TYPE_ALIGN  (JOYINFOEX, 1)
3019     TEST_FIELD_SIZE  (JOYINFOEX, dwSize, 4)
3020     TEST_FIELD_ALIGN (JOYINFOEX, dwSize, 1)
3021     TEST_FIELD_OFFSET(JOYINFOEX, dwSize, 0)
3022     TEST_FIELD_SIZE  (JOYINFOEX, dwFlags, 4)
3023     TEST_FIELD_ALIGN (JOYINFOEX, dwFlags, 1)
3024     TEST_FIELD_OFFSET(JOYINFOEX, dwFlags, 4)
3025     TEST_FIELD_SIZE  (JOYINFOEX, dwXpos, 4)
3026     TEST_FIELD_ALIGN (JOYINFOEX, dwXpos, 1)
3027     TEST_FIELD_OFFSET(JOYINFOEX, dwXpos, 8)
3028     TEST_FIELD_SIZE  (JOYINFOEX, dwYpos, 4)
3029     TEST_FIELD_ALIGN (JOYINFOEX, dwYpos, 1)
3030     TEST_FIELD_OFFSET(JOYINFOEX, dwYpos, 12)
3031     TEST_FIELD_SIZE  (JOYINFOEX, dwZpos, 4)
3032     TEST_FIELD_ALIGN (JOYINFOEX, dwZpos, 1)
3033     TEST_FIELD_OFFSET(JOYINFOEX, dwZpos, 16)
3034     TEST_FIELD_SIZE  (JOYINFOEX, dwRpos, 4)
3035     TEST_FIELD_ALIGN (JOYINFOEX, dwRpos, 1)
3036     TEST_FIELD_OFFSET(JOYINFOEX, dwRpos, 20)
3037     TEST_FIELD_SIZE  (JOYINFOEX, dwUpos, 4)
3038     TEST_FIELD_ALIGN (JOYINFOEX, dwUpos, 1)
3039     TEST_FIELD_OFFSET(JOYINFOEX, dwUpos, 24)
3040     TEST_FIELD_SIZE  (JOYINFOEX, dwVpos, 4)
3041     TEST_FIELD_ALIGN (JOYINFOEX, dwVpos, 1)
3042     TEST_FIELD_OFFSET(JOYINFOEX, dwVpos, 28)
3043     TEST_FIELD_SIZE  (JOYINFOEX, dwButtons, 4)
3044     TEST_FIELD_ALIGN (JOYINFOEX, dwButtons, 1)
3045     TEST_FIELD_OFFSET(JOYINFOEX, dwButtons, 32)
3046     TEST_FIELD_SIZE  (JOYINFOEX, dwButtonNumber, 4)
3047     TEST_FIELD_ALIGN (JOYINFOEX, dwButtonNumber, 1)
3048     TEST_FIELD_OFFSET(JOYINFOEX, dwButtonNumber, 36)
3049     TEST_FIELD_SIZE  (JOYINFOEX, dwPOV, 4)
3050     TEST_FIELD_ALIGN (JOYINFOEX, dwPOV, 1)
3051     TEST_FIELD_OFFSET(JOYINFOEX, dwPOV, 40)
3052     TEST_FIELD_SIZE  (JOYINFOEX, dwReserved1, 4)
3053     TEST_FIELD_ALIGN (JOYINFOEX, dwReserved1, 1)
3054     TEST_FIELD_OFFSET(JOYINFOEX, dwReserved1, 44)
3055     TEST_FIELD_SIZE  (JOYINFOEX, dwReserved2, 4)
3056     TEST_FIELD_ALIGN (JOYINFOEX, dwReserved2, 1)
3057     TEST_FIELD_OFFSET(JOYINFOEX, dwReserved2, 48)
3058 }
3059 
3060 static void test_pack_MIXERCAPSA(void)
3061 {
3062     /* MIXERCAPSA (pack 1) */
3063     TEST_FIELD_SIZE  (MIXERCAPSA, wMid, 2)
3064     TEST_FIELD_ALIGN (MIXERCAPSA, wMid, 1)
3065     TEST_FIELD_OFFSET(MIXERCAPSA, wMid, 0)
3066     TEST_FIELD_SIZE  (MIXERCAPSA, wPid, 2)
3067     TEST_FIELD_ALIGN (MIXERCAPSA, wPid, 1)
3068     TEST_FIELD_OFFSET(MIXERCAPSA, wPid, 2)
3069     TEST_FIELD_SIZE  (MIXERCAPSA, vDriverVersion, 4)
3070     TEST_FIELD_ALIGN (MIXERCAPSA, vDriverVersion, 1)
3071     TEST_FIELD_OFFSET(MIXERCAPSA, vDriverVersion, 4)
3072 }
3073 
3074 static void test_pack_MIXERCAPSW(void)
3075 {
3076     /* MIXERCAPSW (pack 1) */
3077     TEST_FIELD_SIZE  (MIXERCAPSW, wMid, 2)
3078     TEST_FIELD_ALIGN (MIXERCAPSW, wMid, 1)
3079     TEST_FIELD_OFFSET(MIXERCAPSW, wMid, 0)
3080     TEST_FIELD_SIZE  (MIXERCAPSW, wPid, 2)
3081     TEST_FIELD_ALIGN (MIXERCAPSW, wPid, 1)
3082     TEST_FIELD_OFFSET(MIXERCAPSW, wPid, 2)
3083     TEST_FIELD_SIZE  (MIXERCAPSW, vDriverVersion, 4)
3084     TEST_FIELD_ALIGN (MIXERCAPSW, vDriverVersion, 1)
3085     TEST_FIELD_OFFSET(MIXERCAPSW, vDriverVersion, 4)
3086 }
3087 
3088 static void test_pack_MIXERCAPS2A(void)
3089 {
3090     /* MIXERCAPS2A (pack 1) */
3091     TEST_FIELD_SIZE  (MIXERCAPS2A, wMid, 2)
3092     TEST_FIELD_ALIGN (MIXERCAPS2A, wMid, 1)
3093     TEST_FIELD_OFFSET(MIXERCAPS2A, wMid, 0)
3094     TEST_FIELD_SIZE  (MIXERCAPS2A, wPid, 2)
3095     TEST_FIELD_ALIGN (MIXERCAPS2A, wPid, 1)
3096     TEST_FIELD_OFFSET(MIXERCAPS2A, wPid, 2)
3097     TEST_FIELD_SIZE  (MIXERCAPS2A, vDriverVersion, 4)
3098     TEST_FIELD_ALIGN (MIXERCAPS2A, vDriverVersion, 1)
3099     TEST_FIELD_OFFSET(MIXERCAPS2A, vDriverVersion, 4)
3100 }
3101 
3102 static void test_pack_MIXERCAPS2W(void)
3103 {
3104     /* MIXERCAPS2W (pack 1) */
3105     TEST_FIELD_SIZE  (MIXERCAPS2W, wMid, 2)
3106     TEST_FIELD_ALIGN (MIXERCAPS2W, wMid, 1)
3107     TEST_FIELD_OFFSET(MIXERCAPS2W, wMid, 0)
3108     TEST_FIELD_SIZE  (MIXERCAPS2W, wPid, 2)
3109     TEST_FIELD_ALIGN (MIXERCAPS2W, wPid, 1)
3110     TEST_FIELD_OFFSET(MIXERCAPS2W, wPid, 2)
3111     TEST_FIELD_SIZE  (MIXERCAPS2W, vDriverVersion, 4)
3112     TEST_FIELD_ALIGN (MIXERCAPS2W, vDriverVersion, 1)
3113     TEST_FIELD_OFFSET(MIXERCAPS2W, vDriverVersion, 4)
3114 }
3115 
3116 static void test_pack_MIXERLINEA(void)
3117 {
3118     /* MIXERLINEA (pack 1) */
3119     TEST_FIELD_SIZE  (MIXERLINEA, cbStruct, 4)
3120     TEST_FIELD_ALIGN (MIXERLINEA, cbStruct, 1)
3121     TEST_FIELD_OFFSET(MIXERLINEA, cbStruct, 0)
3122     TEST_FIELD_SIZE  (MIXERLINEA, dwDestination, 4)
3123     TEST_FIELD_ALIGN (MIXERLINEA, dwDestination, 1)
3124     TEST_FIELD_OFFSET(MIXERLINEA, dwDestination, 4)
3125     TEST_FIELD_SIZE  (MIXERLINEA, dwSource, 4)
3126     TEST_FIELD_ALIGN (MIXERLINEA, dwSource, 1)
3127     TEST_FIELD_OFFSET(MIXERLINEA, dwSource, 8)
3128     TEST_FIELD_SIZE  (MIXERLINEA, dwLineID, 4)
3129     TEST_FIELD_ALIGN (MIXERLINEA, dwLineID, 1)
3130     TEST_FIELD_OFFSET(MIXERLINEA, dwLineID, 12)
3131     TEST_FIELD_SIZE  (MIXERLINEA, fdwLine, 4)
3132     TEST_FIELD_ALIGN (MIXERLINEA, fdwLine, 1)
3133     TEST_FIELD_OFFSET(MIXERLINEA, fdwLine, 16)
3134     TEST_FIELD_SIZE  (MIXERLINEA, dwUser, 4)
3135     TEST_FIELD_ALIGN (MIXERLINEA, dwUser, 1)
3136     TEST_FIELD_OFFSET(MIXERLINEA, dwUser, 20)
3137     TEST_FIELD_SIZE  (MIXERLINEA, dwComponentType, 4)
3138     TEST_FIELD_ALIGN (MIXERLINEA, dwComponentType, 1)
3139     TEST_FIELD_OFFSET(MIXERLINEA, dwComponentType, 24)
3140     TEST_FIELD_SIZE  (MIXERLINEA, cChannels, 4)
3141     TEST_FIELD_ALIGN (MIXERLINEA, cChannels, 1)
3142     TEST_FIELD_OFFSET(MIXERLINEA, cChannels, 28)
3143     TEST_FIELD_SIZE  (MIXERLINEA, cConnections, 4)
3144     TEST_FIELD_ALIGN (MIXERLINEA, cConnections, 1)
3145     TEST_FIELD_OFFSET(MIXERLINEA, cConnections, 32)
3146     TEST_FIELD_SIZE  (MIXERLINEA, cControls, 4)
3147     TEST_FIELD_ALIGN (MIXERLINEA, cControls, 1)
3148     TEST_FIELD_OFFSET(MIXERLINEA, cControls, 36)
3149 }
3150 
3151 static void test_pack_MIXERLINEW(void)
3152 {
3153     /* MIXERLINEW (pack 1) */
3154     TEST_FIELD_SIZE  (MIXERLINEW, cbStruct, 4)
3155     TEST_FIELD_ALIGN (MIXERLINEW, cbStruct, 1)
3156     TEST_FIELD_OFFSET(MIXERLINEW, cbStruct, 0)
3157     TEST_FIELD_SIZE  (MIXERLINEW, dwDestination, 4)
3158     TEST_FIELD_ALIGN (MIXERLINEW, dwDestination, 1)
3159     TEST_FIELD_OFFSET(MIXERLINEW, dwDestination, 4)
3160     TEST_FIELD_SIZE  (MIXERLINEW, dwSource, 4)
3161     TEST_FIELD_ALIGN (MIXERLINEW, dwSource, 1)
3162     TEST_FIELD_OFFSET(MIXERLINEW, dwSource, 8)
3163     TEST_FIELD_SIZE  (MIXERLINEW, dwLineID, 4)
3164     TEST_FIELD_ALIGN (MIXERLINEW, dwLineID, 1)
3165     TEST_FIELD_OFFSET(MIXERLINEW, dwLineID, 12)
3166     TEST_FIELD_SIZE  (MIXERLINEW, fdwLine, 4)
3167     TEST_FIELD_ALIGN (MIXERLINEW, fdwLine, 1)
3168     TEST_FIELD_OFFSET(MIXERLINEW, fdwLine, 16)
3169     TEST_FIELD_SIZE  (MIXERLINEW, dwUser, 4)
3170     TEST_FIELD_ALIGN (MIXERLINEW, dwUser, 1)
3171     TEST_FIELD_OFFSET(MIXERLINEW, dwUser, 20)
3172     TEST_FIELD_SIZE  (MIXERLINEW, dwComponentType, 4)
3173     TEST_FIELD_ALIGN (MIXERLINEW, dwComponentType, 1)
3174     TEST_FIELD_OFFSET(MIXERLINEW, dwComponentType, 24)
3175     TEST_FIELD_SIZE  (MIXERLINEW, cChannels, 4)
3176     TEST_FIELD_ALIGN (MIXERLINEW, cChannels, 1)
3177     TEST_FIELD_OFFSET(MIXERLINEW, cChannels, 28)
3178     TEST_FIELD_SIZE  (MIXERLINEW, cConnections, 4)
3179     TEST_FIELD_ALIGN (MIXERLINEW, cConnections, 1)
3180     TEST_FIELD_OFFSET(MIXERLINEW, cConnections, 32)
3181     TEST_FIELD_SIZE  (MIXERLINEW, cControls, 4)
3182     TEST_FIELD_ALIGN (MIXERLINEW, cControls, 1)
3183     TEST_FIELD_OFFSET(MIXERLINEW, cControls, 36)
3184 }
3185 
3186 static void test_pack_MIXERCONTROLA(void)
3187 {
3188     /* MIXERCONTROLA (pack 1) */
3189     TEST_FIELD_SIZE  (MIXERCONTROLA, cbStruct, 4)
3190     TEST_FIELD_ALIGN (MIXERCONTROLA, cbStruct, 1)
3191     TEST_FIELD_OFFSET(MIXERCONTROLA, cbStruct, 0)
3192     TEST_FIELD_SIZE  (MIXERCONTROLA, dwControlID, 4)
3193     TEST_FIELD_ALIGN (MIXERCONTROLA, dwControlID, 1)
3194     TEST_FIELD_OFFSET(MIXERCONTROLA, dwControlID, 4)
3195     TEST_FIELD_SIZE  (MIXERCONTROLA, dwControlType, 4)
3196     TEST_FIELD_ALIGN (MIXERCONTROLA, dwControlType, 1)
3197     TEST_FIELD_OFFSET(MIXERCONTROLA, dwControlType, 8)
3198     TEST_FIELD_SIZE  (MIXERCONTROLA, fdwControl, 4)
3199     TEST_FIELD_ALIGN (MIXERCONTROLA, fdwControl, 1)
3200     TEST_FIELD_OFFSET(MIXERCONTROLA, fdwControl, 12)
3201     TEST_FIELD_SIZE  (MIXERCONTROLA, cMultipleItems, 4)
3202     TEST_FIELD_ALIGN (MIXERCONTROLA, cMultipleItems, 1)
3203     TEST_FIELD_OFFSET(MIXERCONTROLA, cMultipleItems, 16)
3204 }
3205 
3206 static void test_pack_MIXERCONTROLW(void)
3207 {
3208     /* MIXERCONTROLW (pack 1) */
3209     TEST_FIELD_SIZE  (MIXERCONTROLW, cbStruct, 4)
3210     TEST_FIELD_ALIGN (MIXERCONTROLW, cbStruct, 1)
3211     TEST_FIELD_OFFSET(MIXERCONTROLW, cbStruct, 0)
3212     TEST_FIELD_SIZE  (MIXERCONTROLW, dwControlID, 4)
3213     TEST_FIELD_ALIGN (MIXERCONTROLW, dwControlID, 1)
3214     TEST_FIELD_OFFSET(MIXERCONTROLW, dwControlID, 4)
3215     TEST_FIELD_SIZE  (MIXERCONTROLW, dwControlType, 4)
3216     TEST_FIELD_ALIGN (MIXERCONTROLW, dwControlType, 1)
3217     TEST_FIELD_OFFSET(MIXERCONTROLW, dwControlType, 8)
3218     TEST_FIELD_SIZE  (MIXERCONTROLW, fdwControl, 4)
3219     TEST_FIELD_ALIGN (MIXERCONTROLW, fdwControl, 1)
3220     TEST_FIELD_OFFSET(MIXERCONTROLW, fdwControl, 12)
3221     TEST_FIELD_SIZE  (MIXERCONTROLW, cMultipleItems, 4)
3222     TEST_FIELD_ALIGN (MIXERCONTROLW, cMultipleItems, 1)
3223     TEST_FIELD_OFFSET(MIXERCONTROLW, cMultipleItems, 16)
3224 }
3225 
3226 static void test_pack_MIXERCONTROLDETAILS(void)
3227 {
3228     /* MIXERCONTROLDETAILS (pack 1) */
3229     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, cbStruct, 4)
3230     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, cbStruct, 1)
3231     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, cbStruct, 0)
3232     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, dwControlID, 4)
3233     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, dwControlID, 1)
3234     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, dwControlID, 4)
3235     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, cChannels, 4)
3236     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, cChannels, 1)
3237     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, cChannels, 8)
3238 }
3239 
3240 static void test_pack_MIXERCONTROLDETAILS_LISTTEXTA(void)
3241 {
3242     /* MIXERCONTROLDETAILS_LISTTEXTA (pack 1) */
3243     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 4)
3244     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 1)
3245     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 0)
3246     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 4)
3247     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 1)
3248     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 4)
3249 }
3250 
3251 static void test_pack_MIXERCONTROLDETAILS_LISTTEXTW(void)
3252 {
3253     /* MIXERCONTROLDETAILS_LISTTEXTW (pack 1) */
3254     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 4)
3255     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 1)
3256     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 0)
3257     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 4)
3258     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 1)
3259     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 4)
3260 }
3261 
3262 static void test_pack_MIXERCONTROLDETAILS_BOOLEAN(void)
3263 {
3264     /* MIXERCONTROLDETAILS_BOOLEAN (pack 1) */
3265     TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_BOOLEAN, 4)
3266     TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_BOOLEAN, 1)
3267     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_BOOLEAN, fValue, 4)
3268     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_BOOLEAN, fValue, 1)
3269     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_BOOLEAN, fValue, 0)
3270 }
3271 
3272 static void test_pack_MIXERCONTROLDETAILS_SIGNED(void)
3273 {
3274     /* MIXERCONTROLDETAILS_SIGNED (pack 1) */
3275     TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_SIGNED, 4)
3276     TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_SIGNED, 1)
3277     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_SIGNED, lValue, 4)
3278     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_SIGNED, lValue, 1)
3279     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_SIGNED, lValue, 0)
3280 }
3281 
3282 static void test_pack_MIXERCONTROLDETAILS_UNSIGNED(void)
3283 {
3284     /* MIXERCONTROLDETAILS_UNSIGNED (pack 1) */
3285     TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_UNSIGNED, 4)
3286     TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_UNSIGNED, 1)
3287     TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_UNSIGNED, dwValue, 4)
3288     TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_UNSIGNED, dwValue, 1)
3289     TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_UNSIGNED, dwValue, 0)
3290 }
3291 
3292 static void test_pack_MMIOINFO(void)
3293 {
3294     /* MMIOINFO (pack 1) */
3295     TEST_FIELD_SIZE  (MMIOINFO, dwFlags, 4)
3296     TEST_FIELD_ALIGN (MMIOINFO, dwFlags, 1)
3297     TEST_FIELD_OFFSET(MMIOINFO, dwFlags, 0)
3298     TEST_FIELD_SIZE  (MMIOINFO, fccIOProc, 4)
3299     TEST_FIELD_ALIGN (MMIOINFO, fccIOProc, 1)
3300     TEST_FIELD_OFFSET(MMIOINFO, fccIOProc, 4)
3301     TEST_FIELD_SIZE  (MMIOINFO, pIOProc, 4)
3302     TEST_FIELD_ALIGN (MMIOINFO, pIOProc, 1)
3303     TEST_FIELD_OFFSET(MMIOINFO, pIOProc, 8)
3304     TEST_FIELD_SIZE  (MMIOINFO, wErrorRet, 4)
3305     TEST_FIELD_ALIGN (MMIOINFO, wErrorRet, 1)
3306     TEST_FIELD_OFFSET(MMIOINFO, wErrorRet, 12)
3307 }
3308 
3309 static void test_pack_MMCKINFO(void)
3310 {
3311     /* MMCKINFO (pack 1) */
3312     TEST_TYPE_SIZE   (MMCKINFO, 20)
3313     TEST_TYPE_ALIGN  (MMCKINFO, 1)
3314     TEST_FIELD_SIZE  (MMCKINFO, ckid, 4)
3315     TEST_FIELD_ALIGN (MMCKINFO, ckid, 1)
3316     TEST_FIELD_OFFSET(MMCKINFO, ckid, 0)
3317     TEST_FIELD_SIZE  (MMCKINFO, cksize, 4)
3318     TEST_FIELD_ALIGN (MMCKINFO, cksize, 1)
3319     TEST_FIELD_OFFSET(MMCKINFO, cksize, 4)
3320     TEST_FIELD_SIZE  (MMCKINFO, fccType, 4)
3321     TEST_FIELD_ALIGN (MMCKINFO, fccType, 1)
3322     TEST_FIELD_OFFSET(MMCKINFO, fccType, 8)
3323     TEST_FIELD_SIZE  (MMCKINFO, dwDataOffset, 4)
3324     TEST_FIELD_ALIGN (MMCKINFO, dwDataOffset, 1)
3325     TEST_FIELD_OFFSET(MMCKINFO, dwDataOffset, 12)
3326     TEST_FIELD_SIZE  (MMCKINFO, dwFlags, 4)
3327     TEST_FIELD_ALIGN (MMCKINFO, dwFlags, 1)
3328     TEST_FIELD_OFFSET(MMCKINFO, dwFlags, 16)
3329 }
3330 
3331 static void test_pack_MCI_GENERIC_PARMS(void)
3332 {
3333     /* MCI_GENERIC_PARMS (pack 1) */
3334     TEST_TYPE_SIZE   (MCI_GENERIC_PARMS, 4)
3335     TEST_TYPE_ALIGN  (MCI_GENERIC_PARMS, 1)
3336     TEST_FIELD_SIZE  (MCI_GENERIC_PARMS, dwCallback, 4)
3337     TEST_FIELD_ALIGN (MCI_GENERIC_PARMS, dwCallback, 1)
3338     TEST_FIELD_OFFSET(MCI_GENERIC_PARMS, dwCallback, 0)
3339 }
3340 
3341 static void test_pack_MCI_OPEN_PARMSA(void)
3342 {
3343     /* MCI_OPEN_PARMSA (pack 1) */
3344     TEST_TYPE_SIZE   (MCI_OPEN_PARMSA, 20)
3345     TEST_TYPE_ALIGN  (MCI_OPEN_PARMSA, 1)
3346     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, dwCallback, 4)
3347     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, dwCallback, 1)
3348     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, dwCallback, 0)
3349     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, wDeviceID, 4)
3350     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, wDeviceID, 1)
3351     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, wDeviceID, 4)
3352     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrDeviceType, 4)
3353     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrDeviceType, 1)
3354     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrDeviceType, 8)
3355     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrElementName, 4)
3356     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrElementName, 1)
3357     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrElementName, 12)
3358     TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrAlias, 4)
3359     TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrAlias, 1)
3360     TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrAlias, 16)
3361 }
3362 
3363 static void test_pack_MCI_OPEN_PARMSW(void)
3364 {
3365     /* MCI_OPEN_PARMSW (pack 1) */
3366     TEST_TYPE_SIZE   (MCI_OPEN_PARMSW, 20)
3367     TEST_TYPE_ALIGN  (MCI_OPEN_PARMSW, 1)
3368     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, dwCallback, 4)
3369     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, dwCallback, 1)
3370     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, dwCallback, 0)
3371     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, wDeviceID, 4)
3372     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, wDeviceID, 1)
3373     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, wDeviceID, 4)
3374     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrDeviceType, 4)
3375     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrDeviceType, 1)
3376     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrDeviceType, 8)
3377     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrElementName, 4)
3378     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrElementName, 1)
3379     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrElementName, 12)
3380     TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrAlias, 4)
3381     TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrAlias, 1)
3382     TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrAlias, 16)
3383 }
3384 
3385 static void test_pack_MCI_PLAY_PARMS(void)
3386 {
3387     /* MCI_PLAY_PARMS (pack 1) */
3388     TEST_TYPE_SIZE   (MCI_PLAY_PARMS, 12)
3389     TEST_TYPE_ALIGN  (MCI_PLAY_PARMS, 1)
3390     TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwCallback, 4)
3391     TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwCallback, 1)
3392     TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwCallback, 0)
3393     TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwFrom, 4)
3394     TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwFrom, 1)
3395     TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwFrom, 4)
3396     TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwTo, 4)
3397     TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwTo, 1)
3398     TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwTo, 8)
3399 }
3400 
3401 static void test_pack_MCI_SEEK_PARMS(void)
3402 {
3403     /* MCI_SEEK_PARMS (pack 1) */
3404     TEST_TYPE_SIZE   (MCI_SEEK_PARMS, 8)
3405     TEST_TYPE_ALIGN  (MCI_SEEK_PARMS, 1)
3406     TEST_FIELD_SIZE  (MCI_SEEK_PARMS, dwCallback, 4)
3407     TEST_FIELD_ALIGN (MCI_SEEK_PARMS, dwCallback, 1)
3408     TEST_FIELD_OFFSET(MCI_SEEK_PARMS, dwCallback, 0)
3409     TEST_FIELD_SIZE  (MCI_SEEK_PARMS, dwTo, 4)
3410     TEST_FIELD_ALIGN (MCI_SEEK_PARMS, dwTo, 1)
3411     TEST_FIELD_OFFSET(MCI_SEEK_PARMS, dwTo, 4)
3412 }
3413 
3414 static void test_pack_MCI_STATUS_PARMS(void)
3415 {
3416     /* MCI_STATUS_PARMS (pack 1) */
3417     TEST_TYPE_SIZE   (MCI_STATUS_PARMS, 16)
3418     TEST_TYPE_ALIGN  (MCI_STATUS_PARMS, 1)
3419     TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwCallback, 4)
3420     TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwCallback, 1)
3421     TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwCallback, 0)
3422     TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwReturn, 4)
3423     TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwReturn, 1)
3424     TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwReturn, 4)
3425     TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwItem, 4)
3426     TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwItem, 1)
3427     TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwItem, 8)
3428     TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwTrack, 4)
3429     TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwTrack, 1)
3430     TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwTrack, 12)
3431 }
3432 
3433 static void test_pack_MCI_INFO_PARMSA(void)
3434 {
3435     /* MCI_INFO_PARMSA (pack 1) */
3436     TEST_TYPE_SIZE   (MCI_INFO_PARMSA, 12)
3437     TEST_TYPE_ALIGN  (MCI_INFO_PARMSA, 1)
3438     TEST_FIELD_SIZE  (MCI_INFO_PARMSA, dwCallback, 4)
3439     TEST_FIELD_ALIGN (MCI_INFO_PARMSA, dwCallback, 1)
3440     TEST_FIELD_OFFSET(MCI_INFO_PARMSA, dwCallback, 0)
3441     TEST_FIELD_SIZE  (MCI_INFO_PARMSA, lpstrReturn, 4)
3442     TEST_FIELD_ALIGN (MCI_INFO_PARMSA, lpstrReturn, 1)
3443     TEST_FIELD_OFFSET(MCI_INFO_PARMSA, lpstrReturn, 4)
3444     TEST_FIELD_SIZE  (MCI_INFO_PARMSA, dwRetSize, 4)
3445     TEST_FIELD_ALIGN (MCI_INFO_PARMSA, dwRetSize, 1)
3446     TEST_FIELD_OFFSET(MCI_INFO_PARMSA, dwRetSize, 8)
3447 }
3448 
3449 static void test_pack_MCI_INFO_PARMSW(void)
3450 {
3451     /* MCI_INFO_PARMSW (pack 1) */
3452     TEST_TYPE_SIZE   (MCI_INFO_PARMSW, 12)
3453     TEST_TYPE_ALIGN  (MCI_INFO_PARMSW, 1)
3454     TEST_FIELD_SIZE  (MCI_INFO_PARMSW, dwCallback, 4)
3455     TEST_FIELD_ALIGN (MCI_INFO_PARMSW, dwCallback, 1)
3456     TEST_FIELD_OFFSET(MCI_INFO_PARMSW, dwCallback, 0)
3457     TEST_FIELD_SIZE  (MCI_INFO_PARMSW, lpstrReturn, 4)
3458     TEST_FIELD_ALIGN (MCI_INFO_PARMSW, lpstrReturn, 1)
3459     TEST_FIELD_OFFSET(MCI_INFO_PARMSW, lpstrReturn, 4)
3460     TEST_FIELD_SIZE  (MCI_INFO_PARMSW, dwRetSize, 4)
3461     TEST_FIELD_ALIGN (MCI_INFO_PARMSW, dwRetSize, 1)
3462     TEST_FIELD_OFFSET(MCI_INFO_PARMSW, dwRetSize, 8)
3463 }
3464 
3465 static void test_pack_MCI_GETDEVCAPS_PARMS(void)
3466 {
3467     /* MCI_GETDEVCAPS_PARMS (pack 1) */
3468     TEST_TYPE_SIZE   (MCI_GETDEVCAPS_PARMS, 12)
3469     TEST_TYPE_ALIGN  (MCI_GETDEVCAPS_PARMS, 1)
3470     TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwCallback, 4)
3471     TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwCallback, 1)
3472     TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwCallback, 0)
3473     TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwReturn, 4)
3474     TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwReturn, 1)
3475     TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwReturn, 4)
3476     TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwItem, 4)
3477     TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwItem, 1)
3478     TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwItem, 8)
3479 }
3480 
3481 static void test_pack_MCI_SYSINFO_PARMSA(void)
3482 {
3483     /* MCI_SYSINFO_PARMSA (pack 1) */
3484     TEST_TYPE_SIZE   (MCI_SYSINFO_PARMSA, 20)
3485     TEST_TYPE_ALIGN  (MCI_SYSINFO_PARMSA, 1)
3486     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwCallback, 4)
3487     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwCallback, 1)
3488     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwCallback, 0)
3489     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, lpstrReturn, 4)
3490     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, lpstrReturn, 1)
3491     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, lpstrReturn, 4)
3492     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwRetSize, 4)
3493     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwRetSize, 1)
3494     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwRetSize, 8)
3495     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwNumber, 4)
3496     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwNumber, 1)
3497     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwNumber, 12)
3498     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, wDeviceType, 4)
3499     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, wDeviceType, 1)
3500     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, wDeviceType, 16)
3501 }
3502 
3503 static void test_pack_MCI_SYSINFO_PARMSW(void)
3504 {
3505     /* MCI_SYSINFO_PARMSW (pack 1) */
3506     TEST_TYPE_SIZE   (MCI_SYSINFO_PARMSW, 20)
3507     TEST_TYPE_ALIGN  (MCI_SYSINFO_PARMSW, 1)
3508     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwCallback, 4)
3509     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwCallback, 1)
3510     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwCallback, 0)
3511     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, lpstrReturn, 4)
3512     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, lpstrReturn, 1)
3513     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, lpstrReturn, 4)
3514     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwRetSize, 4)
3515     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwRetSize, 1)
3516     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwRetSize, 8)
3517     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwNumber, 4)
3518     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwNumber, 1)
3519     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwNumber, 12)
3520     TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, wDeviceType, 4)
3521     TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, wDeviceType, 1)
3522     TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, wDeviceType, 16)
3523 }
3524 
3525 static void test_pack_MCI_SET_PARMS(void)
3526 {
3527     /* MCI_SET_PARMS (pack 1) */
3528     TEST_TYPE_SIZE   (MCI_SET_PARMS, 12)
3529     TEST_TYPE_ALIGN  (MCI_SET_PARMS, 1)
3530     TEST_FIELD_SIZE  (MCI_SET_PARMS, dwCallback, 4)
3531     TEST_FIELD_ALIGN (MCI_SET_PARMS, dwCallback, 1)
3532     TEST_FIELD_OFFSET(MCI_SET_PARMS, dwCallback, 0)
3533     TEST_FIELD_SIZE  (MCI_SET_PARMS, dwTimeFormat, 4)
3534     TEST_FIELD_ALIGN (MCI_SET_PARMS, dwTimeFormat, 1)
3535     TEST_FIELD_OFFSET(MCI_SET_PARMS, dwTimeFormat, 4)
3536     TEST_FIELD_SIZE  (MCI_SET_PARMS, dwAudio, 4)
3537     TEST_FIELD_ALIGN (MCI_SET_PARMS, dwAudio, 1)
3538     TEST_FIELD_OFFSET(MCI_SET_PARMS, dwAudio, 8)
3539 }
3540 
3541 static void test_pack_MCI_BREAK_PARMS(void)
3542 {
3543     /* MCI_BREAK_PARMS (pack 1) */
3544     TEST_TYPE_SIZE   (MCI_BREAK_PARMS, 12)
3545     TEST_TYPE_ALIGN  (MCI_BREAK_PARMS, 1)
3546     TEST_FIELD_SIZE  (MCI_BREAK_PARMS, dwCallback, 4)
3547     TEST_FIELD_ALIGN (MCI_BREAK_PARMS, dwCallback, 1)
3548     TEST_FIELD_OFFSET(MCI_BREAK_PARMS, dwCallback, 0)
3549     TEST_FIELD_SIZE  (MCI_BREAK_PARMS, nVirtKey, 4)
3550     TEST_FIELD_ALIGN (MCI_BREAK_PARMS, nVirtKey, 1)
3551     TEST_FIELD_OFFSET(MCI_BREAK_PARMS, nVirtKey, 4)
3552     TEST_FIELD_SIZE  (MCI_BREAK_PARMS, hwndBreak, 4)
3553     TEST_FIELD_ALIGN (MCI_BREAK_PARMS, hwndBreak, 1)
3554     TEST_FIELD_OFFSET(MCI_BREAK_PARMS, hwndBreak, 8)
3555 }
3556 
3557 static void test_pack_MCI_SOUND_PARMSA(void)
3558 {
3559     /* MCI_SOUND_PARMSA (pack 1) */
3560     TEST_TYPE_SIZE   (MCI_SOUND_PARMSA, 8)
3561     TEST_TYPE_ALIGN  (MCI_SOUND_PARMSA, 1)
3562     TEST_FIELD_SIZE  (MCI_SOUND_PARMSA, dwCallback, 4)
3563     TEST_FIELD_ALIGN (MCI_SOUND_PARMSA, dwCallback, 1)
3564     TEST_FIELD_OFFSET(MCI_SOUND_PARMSA, dwCallback, 0)
3565     TEST_FIELD_SIZE  (MCI_SOUND_PARMSA, lpstrSoundName, 4)
3566     TEST_FIELD_ALIGN (MCI_SOUND_PARMSA, lpstrSoundName, 1)
3567     TEST_FIELD_OFFSET(MCI_SOUND_PARMSA, lpstrSoundName, 4)
3568 }
3569 
3570 static void test_pack_MCI_SOUND_PARMSW(void)
3571 {
3572     /* MCI_SOUND_PARMSW (pack 1) */
3573     TEST_TYPE_SIZE   (MCI_SOUND_PARMSW, 8)
3574     TEST_TYPE_ALIGN  (MCI_SOUND_PARMSW, 1)
3575     TEST_FIELD_SIZE  (MCI_SOUND_PARMSW, dwCallback, 4)
3576     TEST_FIELD_ALIGN (MCI_SOUND_PARMSW, dwCallback, 1)
3577     TEST_FIELD_OFFSET(MCI_SOUND_PARMSW, dwCallback, 0)
3578     TEST_FIELD_SIZE  (MCI_SOUND_PARMSW, lpstrSoundName, 4)
3579     TEST_FIELD_ALIGN (MCI_SOUND_PARMSW, lpstrSoundName, 1)
3580     TEST_FIELD_OFFSET(MCI_SOUND_PARMSW, lpstrSoundName, 4)
3581 }
3582 
3583 static void test_pack_MCI_SAVE_PARMSA(void)
3584 {
3585     /* MCI_SAVE_PARMSA (pack 1) */
3586     TEST_TYPE_SIZE   (MCI_SAVE_PARMSA, 8)
3587     TEST_TYPE_ALIGN  (MCI_SAVE_PARMSA, 1)
3588     TEST_FIELD_SIZE  (MCI_SAVE_PARMSA, dwCallback, 4)
3589     TEST_FIELD_ALIGN (MCI_SAVE_PARMSA, dwCallback, 1)
3590     TEST_FIELD_OFFSET(MCI_SAVE_PARMSA, dwCallback, 0)
3591     TEST_FIELD_SIZE  (MCI_SAVE_PARMSA, lpfilename, 4)
3592     TEST_FIELD_ALIGN (MCI_SAVE_PARMSA, lpfilename, 1)
3593     TEST_FIELD_OFFSET(MCI_SAVE_PARMSA, lpfilename, 4)
3594 }
3595 
3596 static void test_pack_MCI_SAVE_PARMSW(void)
3597 {
3598     /* MCI_SAVE_PARMSW (pack 1) */
3599     TEST_TYPE_SIZE   (MCI_SAVE_PARMSW, 8)
3600     TEST_TYPE_ALIGN  (MCI_SAVE_PARMSW, 1)
3601     TEST_FIELD_SIZE  (MCI_SAVE_PARMSW, dwCallback, 4)
3602     TEST_FIELD_ALIGN (MCI_SAVE_PARMSW, dwCallback, 1)
3603     TEST_FIELD_OFFSET(MCI_SAVE_PARMSW, dwCallback, 0)
3604     TEST_FIELD_SIZE  (MCI_SAVE_PARMSW, lpfilename, 4)
3605     TEST_FIELD_ALIGN (MCI_SAVE_PARMSW, lpfilename, 1)
3606     TEST_FIELD_OFFSET(MCI_SAVE_PARMSW, lpfilename, 4)
3607 }
3608 
3609 static void test_pack_MCI_LOAD_PARMSA(void)
3610 {
3611     /* MCI_LOAD_PARMSA (pack 1) */
3612     TEST_TYPE_SIZE   (MCI_LOAD_PARMSA, 8)
3613     TEST_TYPE_ALIGN  (MCI_LOAD_PARMSA, 1)
3614     TEST_FIELD_SIZE  (MCI_LOAD_PARMSA, dwCallback, 4)
3615     TEST_FIELD_ALIGN (MCI_LOAD_PARMSA, dwCallback, 1)
3616     TEST_FIELD_OFFSET(MCI_LOAD_PARMSA, dwCallback, 0)
3617     TEST_FIELD_SIZE  (MCI_LOAD_PARMSA, lpfilename, 4)
3618     TEST_FIELD_ALIGN (MCI_LOAD_PARMSA, lpfilename, 1)
3619     TEST_FIELD_OFFSET(MCI_LOAD_PARMSA, lpfilename, 4)
3620 }
3621 
3622 static void test_pack_MCI_LOAD_PARMSW(void)
3623 {
3624     /* MCI_LOAD_PARMSW (pack 1) */
3625     TEST_TYPE_SIZE   (MCI_LOAD_PARMSW, 8)
3626     TEST_TYPE_ALIGN  (MCI_LOAD_PARMSW, 1)
3627     TEST_FIELD_SIZE  (MCI_LOAD_PARMSW, dwCallback, 4)
3628     TEST_FIELD_ALIGN (MCI_LOAD_PARMSW, dwCallback, 1)
3629     TEST_FIELD_OFFSET(MCI_LOAD_PARMSW, dwCallback, 0)
3630     TEST_FIELD_SIZE  (MCI_LOAD_PARMSW, lpfilename, 4)
3631     TEST_FIELD_ALIGN (MCI_LOAD_PARMSW, lpfilename, 1)
3632     TEST_FIELD_OFFSET(MCI_LOAD_PARMSW, lpfilename, 4)
3633 }
3634 
3635 static void test_pack_MCI_RECORD_PARMS(void)
3636 {
3637     /* MCI_RECORD_PARMS (pack 1) */
3638     TEST_TYPE_SIZE   (MCI_RECORD_PARMS, 12)
3639     TEST_TYPE_ALIGN  (MCI_RECORD_PARMS, 1)
3640     TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwCallback, 4)
3641     TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwCallback, 1)
3642     TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwCallback, 0)
3643     TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwFrom, 4)
3644     TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwFrom, 1)
3645     TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwFrom, 4)
3646     TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwTo, 4)
3647     TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwTo, 1)
3648     TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwTo, 8)
3649 }
3650 
3651 static void test_pack_MCI_VD_PLAY_PARMS(void)
3652 {
3653     /* MCI_VD_PLAY_PARMS (pack 1) */
3654     TEST_TYPE_SIZE   (MCI_VD_PLAY_PARMS, 16)
3655     TEST_TYPE_ALIGN  (MCI_VD_PLAY_PARMS, 1)
3656     TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwCallback, 4)
3657     TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwCallback, 1)
3658     TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwCallback, 0)
3659     TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwFrom, 4)
3660     TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwFrom, 1)
3661     TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwFrom, 4)
3662     TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwTo, 4)
3663     TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwTo, 1)
3664     TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwTo, 8)
3665     TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwSpeed, 4)
3666     TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwSpeed, 1)
3667     TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwSpeed, 12)
3668 }
3669 
3670 static void test_pack_MCI_VD_STEP_PARMS(void)
3671 {
3672     /* MCI_VD_STEP_PARMS (pack 1) */
3673     TEST_TYPE_SIZE   (MCI_VD_STEP_PARMS, 8)
3674     TEST_TYPE_ALIGN  (MCI_VD_STEP_PARMS, 1)
3675     TEST_FIELD_SIZE  (MCI_VD_STEP_PARMS, dwCallback, 4)
3676     TEST_FIELD_ALIGN (MCI_VD_STEP_PARMS, dwCallback, 1)
3677     TEST_FIELD_OFFSET(MCI_VD_STEP_PARMS, dwCallback, 0)
3678     TEST_FIELD_SIZE  (MCI_VD_STEP_PARMS, dwFrames, 4)
3679     TEST_FIELD_ALIGN (MCI_VD_STEP_PARMS, dwFrames, 1)
3680     TEST_FIELD_OFFSET(MCI_VD_STEP_PARMS, dwFrames, 4)
3681 }
3682 
3683 static void test_pack_MCI_VD_ESCAPE_PARMSA(void)
3684 {
3685     /* MCI_VD_ESCAPE_PARMSA (pack 1) */
3686     TEST_TYPE_SIZE   (MCI_VD_ESCAPE_PARMSA, 8)
3687     TEST_TYPE_ALIGN  (MCI_VD_ESCAPE_PARMSA, 1)
3688     TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSA, dwCallback, 4)
3689     TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSA, dwCallback, 1)
3690     TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSA, dwCallback, 0)
3691     TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSA, lpstrCommand, 4)
3692     TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSA, lpstrCommand, 1)
3693     TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSA, lpstrCommand, 4)
3694 }
3695 
3696 static void test_pack_MCI_VD_ESCAPE_PARMSW(void)
3697 {
3698     /* MCI_VD_ESCAPE_PARMSW (pack 1) */
3699     TEST_TYPE_SIZE   (MCI_VD_ESCAPE_PARMSW, 8)
3700     TEST_TYPE_ALIGN  (MCI_VD_ESCAPE_PARMSW, 1)
3701     TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSW, dwCallback, 4)
3702     TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSW, dwCallback, 1)
3703     TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSW, dwCallback, 0)
3704     TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSW, lpstrCommand, 4)
3705     TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSW, lpstrCommand, 1)
3706     TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSW, lpstrCommand, 4)
3707 }
3708 
3709 static void test_pack_MCI_WAVE_OPEN_PARMSA(void)
3710 {
3711     /* MCI_WAVE_OPEN_PARMSA (pack 1) */
3712     TEST_TYPE_SIZE   (MCI_WAVE_OPEN_PARMSA, 24)
3713     TEST_TYPE_ALIGN  (MCI_WAVE_OPEN_PARMSA, 1)
3714     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, dwCallback, 4)
3715     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, dwCallback, 1)
3716     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, dwCallback, 0)
3717     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, wDeviceID, 4)
3718     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, wDeviceID, 1)
3719     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, wDeviceID, 4)
3720     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 4)
3721     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 1)
3722     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 8)
3723     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrElementName, 4)
3724     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrElementName, 1)
3725     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrElementName, 12)
3726     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrAlias, 4)
3727     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrAlias, 1)
3728     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrAlias, 16)
3729     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 4)
3730     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 1)
3731     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 20)
3732 }
3733 
3734 static void test_pack_MCI_WAVE_OPEN_PARMSW(void)
3735 {
3736     /* MCI_WAVE_OPEN_PARMSW (pack 1) */
3737     TEST_TYPE_SIZE   (MCI_WAVE_OPEN_PARMSW, 24)
3738     TEST_TYPE_ALIGN  (MCI_WAVE_OPEN_PARMSW, 1)
3739     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, dwCallback, 4)
3740     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, dwCallback, 1)
3741     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, dwCallback, 0)
3742     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, wDeviceID, 4)
3743     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, wDeviceID, 1)
3744     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, wDeviceID, 4)
3745     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 4)
3746     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 1)
3747     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 8)
3748     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrElementName, 4)
3749     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrElementName, 1)
3750     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrElementName, 12)
3751     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrAlias, 4)
3752     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrAlias, 1)
3753     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrAlias, 16)
3754     TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 4)
3755     TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 1)
3756     TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 20)
3757 }
3758 
3759 static void test_pack_MCI_WAVE_DELETE_PARMS(void)
3760 {
3761     /* MCI_WAVE_DELETE_PARMS (pack 1) */
3762     TEST_TYPE_SIZE   (MCI_WAVE_DELETE_PARMS, 12)
3763     TEST_TYPE_ALIGN  (MCI_WAVE_DELETE_PARMS, 1)
3764     TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwCallback, 4)
3765     TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwCallback, 1)
3766     TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwCallback, 0)
3767     TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwFrom, 4)
3768     TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwFrom, 1)
3769     TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwFrom, 4)
3770     TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwTo, 4)
3771     TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwTo, 1)
3772     TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwTo, 8)
3773 }
3774 
3775 static void test_pack_MCI_WAVE_SET_PARMS(void)
3776 {
3777     /* MCI_WAVE_SET_PARMS (pack 1) */
3778     TEST_TYPE_SIZE   (MCI_WAVE_SET_PARMS, 44)
3779     TEST_TYPE_ALIGN  (MCI_WAVE_SET_PARMS, 1)
3780     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwCallback, 4)
3781     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwCallback, 1)
3782     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwCallback, 0)
3783     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwTimeFormat, 4)
3784     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwTimeFormat, 1)
3785     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwTimeFormat, 4)
3786     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwAudio, 4)
3787     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwAudio, 1)
3788     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwAudio, 8)
3789     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wInput, 4)
3790     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wInput, 1)
3791     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wInput, 12)
3792     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wOutput, 4)
3793     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wOutput, 1)
3794     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wOutput, 16)
3795 #ifndef __REACTOS__ /* FIXME: Inspect */
3796     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wFormatTag, 4)
3797 #endif
3798     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wFormatTag, 1)
3799     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wFormatTag, 20)
3800 #ifndef __REACTOS__ /* FIXME: Inspect */
3801     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nChannels, 4)
3802 #endif
3803     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nChannels, 1)
3804     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nChannels, 24)
3805     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nSamplesPerSec, 4)
3806     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nSamplesPerSec, 1)
3807     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nSamplesPerSec, 28)
3808     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 4)
3809     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 1)
3810     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 32)
3811 #ifndef __REACTOS__ /* FIXME: Inspect */
3812     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nBlockAlign, 4)
3813 #endif
3814     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nBlockAlign, 1)
3815     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nBlockAlign, 36)
3816 #ifndef __REACTOS__ /* FIXME: Inspect */
3817     TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wBitsPerSample, 4)
3818 #endif
3819     TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wBitsPerSample, 1)
3820     TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wBitsPerSample, 40)
3821 }
3822 
3823 static void test_pack_MCI_SEQ_SET_PARMS(void)
3824 {
3825     /* MCI_SEQ_SET_PARMS (pack 1) */
3826     TEST_TYPE_SIZE   (MCI_SEQ_SET_PARMS, 32)
3827     TEST_TYPE_ALIGN  (MCI_SEQ_SET_PARMS, 1)
3828     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwCallback, 4)
3829     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwCallback, 1)
3830     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwCallback, 0)
3831     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwTimeFormat, 4)
3832     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwTimeFormat, 1)
3833     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwTimeFormat, 4)
3834     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwAudio, 4)
3835     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwAudio, 1)
3836     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwAudio, 8)
3837     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwTempo, 4)
3838     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwTempo, 1)
3839     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwTempo, 12)
3840     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwPort, 4)
3841     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwPort, 1)
3842     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwPort, 16)
3843     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwSlave, 4)
3844     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwSlave, 1)
3845     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwSlave, 20)
3846     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwMaster, 4)
3847     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwMaster, 1)
3848     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwMaster, 24)
3849     TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwOffset, 4)
3850     TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwOffset, 1)
3851     TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwOffset, 28)
3852 }
3853 
3854 static void test_pack_MCI_ANIM_OPEN_PARMSA(void)
3855 {
3856     /* MCI_ANIM_OPEN_PARMSA (pack 1) */
3857     TEST_TYPE_SIZE   (MCI_ANIM_OPEN_PARMSA, 28)
3858     TEST_TYPE_ALIGN  (MCI_ANIM_OPEN_PARMSA, 1)
3859     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, dwCallback, 4)
3860     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, dwCallback, 1)
3861     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, dwCallback, 0)
3862     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, wDeviceID, 4)
3863     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, wDeviceID, 1)
3864     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, wDeviceID, 4)
3865     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 4)
3866     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 1)
3867     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 8)
3868     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrElementName, 4)
3869     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrElementName, 1)
3870     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrElementName, 12)
3871     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrAlias, 4)
3872     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrAlias, 1)
3873     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrAlias, 16)
3874     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, dwStyle, 4)
3875     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, dwStyle, 1)
3876     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, dwStyle, 20)
3877     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, hWndParent, 4)
3878     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, hWndParent, 1)
3879     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, hWndParent, 24)
3880 }
3881 
3882 static void test_pack_MCI_ANIM_OPEN_PARMSW(void)
3883 {
3884     /* MCI_ANIM_OPEN_PARMSW (pack 1) */
3885     TEST_TYPE_SIZE   (MCI_ANIM_OPEN_PARMSW, 28)
3886     TEST_TYPE_ALIGN  (MCI_ANIM_OPEN_PARMSW, 1)
3887     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, dwCallback, 4)
3888     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, dwCallback, 1)
3889     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, dwCallback, 0)
3890     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, wDeviceID, 4)
3891     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, wDeviceID, 1)
3892     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, wDeviceID, 4)
3893     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 4)
3894     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 1)
3895     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 8)
3896     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrElementName, 4)
3897     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrElementName, 1)
3898     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrElementName, 12)
3899     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrAlias, 4)
3900     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrAlias, 1)
3901     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrAlias, 16)
3902     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, dwStyle, 4)
3903     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, dwStyle, 1)
3904     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, dwStyle, 20)
3905     TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, hWndParent, 4)
3906     TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, hWndParent, 1)
3907     TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, hWndParent, 24)
3908 }
3909 
3910 static void test_pack_MCI_ANIM_PLAY_PARMS(void)
3911 {
3912     /* MCI_ANIM_PLAY_PARMS (pack 1) */
3913     TEST_TYPE_SIZE   (MCI_ANIM_PLAY_PARMS, 16)
3914     TEST_TYPE_ALIGN  (MCI_ANIM_PLAY_PARMS, 1)
3915     TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwCallback, 4)
3916     TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwCallback, 1)
3917     TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwCallback, 0)
3918     TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwFrom, 4)
3919     TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwFrom, 1)
3920     TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwFrom, 4)
3921     TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwTo, 4)
3922     TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwTo, 1)
3923     TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwTo, 8)
3924     TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwSpeed, 4)
3925     TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwSpeed, 1)
3926     TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwSpeed, 12)
3927 }
3928 
3929 static void test_pack_MCI_ANIM_STEP_PARMS(void)
3930 {
3931     /* MCI_ANIM_STEP_PARMS (pack 1) */
3932     TEST_TYPE_SIZE   (MCI_ANIM_STEP_PARMS, 8)
3933     TEST_TYPE_ALIGN  (MCI_ANIM_STEP_PARMS, 1)
3934     TEST_FIELD_SIZE  (MCI_ANIM_STEP_PARMS, dwCallback, 4)
3935     TEST_FIELD_ALIGN (MCI_ANIM_STEP_PARMS, dwCallback, 1)
3936     TEST_FIELD_OFFSET(MCI_ANIM_STEP_PARMS, dwCallback, 0)
3937     TEST_FIELD_SIZE  (MCI_ANIM_STEP_PARMS, dwFrames, 4)
3938     TEST_FIELD_ALIGN (MCI_ANIM_STEP_PARMS, dwFrames, 1)
3939     TEST_FIELD_OFFSET(MCI_ANIM_STEP_PARMS, dwFrames, 4)
3940 }
3941 
3942 static void test_pack_MCI_ANIM_WINDOW_PARMSA(void)
3943 {
3944     /* MCI_ANIM_WINDOW_PARMSA (pack 1) */
3945     TEST_TYPE_SIZE   (MCI_ANIM_WINDOW_PARMSA, 16)
3946     TEST_TYPE_ALIGN  (MCI_ANIM_WINDOW_PARMSA, 1)
3947     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, dwCallback, 4)
3948     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, dwCallback, 1)
3949     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, dwCallback, 0)
3950     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, hWnd, 4)
3951     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, hWnd, 1)
3952     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, hWnd, 4)
3953     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, nCmdShow, 4)
3954     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, nCmdShow, 1)
3955     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, nCmdShow, 8)
3956     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, lpstrText, 4)
3957     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, lpstrText, 1)
3958     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, lpstrText, 12)
3959 }
3960 
3961 static void test_pack_MCI_ANIM_WINDOW_PARMSW(void)
3962 {
3963     /* MCI_ANIM_WINDOW_PARMSW (pack 1) */
3964     TEST_TYPE_SIZE   (MCI_ANIM_WINDOW_PARMSW, 16)
3965     TEST_TYPE_ALIGN  (MCI_ANIM_WINDOW_PARMSW, 1)
3966     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, dwCallback, 4)
3967     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, dwCallback, 1)
3968     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, dwCallback, 0)
3969     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, hWnd, 4)
3970     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, hWnd, 1)
3971     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, hWnd, 4)
3972     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, nCmdShow, 4)
3973     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, nCmdShow, 1)
3974     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, nCmdShow, 8)
3975     TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, lpstrText, 4)
3976     TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, lpstrText, 1)
3977     TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, lpstrText, 12)
3978 }
3979 
3980 static void test_pack_MCI_ANIM_UPDATE_PARMS(void)
3981 {
3982     /* MCI_ANIM_UPDATE_PARMS (pack 1) */
3983     TEST_TYPE_SIZE   (MCI_ANIM_UPDATE_PARMS, 24)
3984     TEST_TYPE_ALIGN  (MCI_ANIM_UPDATE_PARMS, 1)
3985     TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, dwCallback, 4)
3986     TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, dwCallback, 1)
3987     TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, dwCallback, 0)
3988     TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, rc, 16)
3989     TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, rc, 1)
3990     TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, rc, 4)
3991     TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, hDC, 4)
3992     TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, hDC, 1)
3993     TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, hDC, 20)
3994 }
3995 
3996 static void test_pack_MCI_OVLY_OPEN_PARMSA(void)
3997 {
3998     /* MCI_OVLY_OPEN_PARMSA (pack 1) */
3999     TEST_TYPE_SIZE   (MCI_OVLY_OPEN_PARMSA, 28)
4000     TEST_TYPE_ALIGN  (MCI_OVLY_OPEN_PARMSA, 1)
4001     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, dwCallback, 4)
4002     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, dwCallback, 1)
4003     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, dwCallback, 0)
4004     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, wDeviceID, 4)
4005     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, wDeviceID, 1)
4006     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, wDeviceID, 4)
4007     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 4)
4008     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 1)
4009     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 8)
4010     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrElementName, 4)
4011     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrElementName, 1)
4012     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrElementName, 12)
4013     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrAlias, 4)
4014     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrAlias, 1)
4015     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrAlias, 16)
4016     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, dwStyle, 4)
4017     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, dwStyle, 1)
4018     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, dwStyle, 20)
4019     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, hWndParent, 4)
4020     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, hWndParent, 1)
4021     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, hWndParent, 24)
4022 }
4023 
4024 static void test_pack_MCI_OVLY_OPEN_PARMSW(void)
4025 {
4026     /* MCI_OVLY_OPEN_PARMSW (pack 1) */
4027     TEST_TYPE_SIZE   (MCI_OVLY_OPEN_PARMSW, 28)
4028     TEST_TYPE_ALIGN  (MCI_OVLY_OPEN_PARMSW, 1)
4029     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, dwCallback, 4)
4030     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, dwCallback, 1)
4031     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, dwCallback, 0)
4032     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, wDeviceID, 4)
4033     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, wDeviceID, 1)
4034     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, wDeviceID, 4)
4035     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 4)
4036     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 1)
4037     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 8)
4038     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrElementName, 4)
4039     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrElementName, 1)
4040     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrElementName, 12)
4041     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrAlias, 4)
4042     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrAlias, 1)
4043     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrAlias, 16)
4044     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, dwStyle, 4)
4045     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, dwStyle, 1)
4046     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, dwStyle, 20)
4047     TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, hWndParent, 4)
4048     TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, hWndParent, 1)
4049     TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, hWndParent, 24)
4050 }
4051 
4052 static void test_pack_MCI_OVLY_WINDOW_PARMSA(void)
4053 {
4054     /* MCI_OVLY_WINDOW_PARMSA (pack 1) */
4055     TEST_TYPE_SIZE   (MCI_OVLY_WINDOW_PARMSA, 16)
4056     TEST_TYPE_ALIGN  (MCI_OVLY_WINDOW_PARMSA, 1)
4057     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, dwCallback, 4)
4058     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, dwCallback, 1)
4059     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, dwCallback, 0)
4060     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, hWnd, 4)
4061     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, hWnd, 1)
4062     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, hWnd, 4)
4063     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, nCmdShow, 4)
4064     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, nCmdShow, 1)
4065     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, nCmdShow, 8)
4066     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, lpstrText, 4)
4067     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, lpstrText, 1)
4068     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, lpstrText, 12)
4069 }
4070 
4071 static void test_pack_MCI_OVLY_WINDOW_PARMSW(void)
4072 {
4073     /* MCI_OVLY_WINDOW_PARMSW (pack 1) */
4074     TEST_TYPE_SIZE   (MCI_OVLY_WINDOW_PARMSW, 16)
4075     TEST_TYPE_ALIGN  (MCI_OVLY_WINDOW_PARMSW, 1)
4076     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, dwCallback, 4)
4077     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, dwCallback, 1)
4078     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, dwCallback, 0)
4079     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, hWnd, 4)
4080     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, hWnd, 1)
4081     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, hWnd, 4)
4082     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, nCmdShow, 4)
4083     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, nCmdShow, 1)
4084     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, nCmdShow, 8)
4085     TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, lpstrText, 4)
4086     TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, lpstrText, 1)
4087     TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, lpstrText, 12)
4088 }
4089 
4090 static void test_pack_MCI_OVLY_SAVE_PARMSA(void)
4091 {
4092     /* MCI_OVLY_SAVE_PARMSA (pack 1) */
4093     TEST_TYPE_SIZE   (MCI_OVLY_SAVE_PARMSA, 24)
4094     TEST_TYPE_ALIGN  (MCI_OVLY_SAVE_PARMSA, 1)
4095     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, dwCallback, 4)
4096     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, dwCallback, 1)
4097     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, dwCallback, 0)
4098     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, lpfilename, 4)
4099     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, lpfilename, 1)
4100     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, lpfilename, 4)
4101     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, rc, 16)
4102     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, rc, 1)
4103     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, rc, 8)
4104 }
4105 
4106 static void test_pack_MCI_OVLY_SAVE_PARMSW(void)
4107 {
4108     /* MCI_OVLY_SAVE_PARMSW (pack 1) */
4109     TEST_TYPE_SIZE   (MCI_OVLY_SAVE_PARMSW, 24)
4110     TEST_TYPE_ALIGN  (MCI_OVLY_SAVE_PARMSW, 1)
4111     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, dwCallback, 4)
4112     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, dwCallback, 1)
4113     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, dwCallback, 0)
4114     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, lpfilename, 4)
4115     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, lpfilename, 1)
4116     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, lpfilename, 4)
4117     TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, rc, 16)
4118     TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, rc, 1)
4119     TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, rc, 8)
4120 }
4121 
4122 static void test_pack_MCI_OVLY_LOAD_PARMSA(void)
4123 {
4124     /* MCI_OVLY_LOAD_PARMSA (pack 1) */
4125     TEST_TYPE_SIZE   (MCI_OVLY_LOAD_PARMSA, 24)
4126     TEST_TYPE_ALIGN  (MCI_OVLY_LOAD_PARMSA, 1)
4127     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, dwCallback, 4)
4128     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, dwCallback, 1)
4129     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, dwCallback, 0)
4130     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, lpfilename, 4)
4131     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, lpfilename, 1)
4132     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, lpfilename, 4)
4133     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, rc, 16)
4134     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, rc, 1)
4135     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, rc, 8)
4136 }
4137 
4138 static void test_pack_MCI_OVLY_LOAD_PARMSW(void)
4139 {
4140     /* MCI_OVLY_LOAD_PARMSW (pack 1) */
4141     TEST_TYPE_SIZE   (MCI_OVLY_LOAD_PARMSW, 24)
4142     TEST_TYPE_ALIGN  (MCI_OVLY_LOAD_PARMSW, 1)
4143     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, dwCallback, 4)
4144     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, dwCallback, 1)
4145     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, dwCallback, 0)
4146     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, lpfilename, 4)
4147     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, lpfilename, 1)
4148     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, lpfilename, 4)
4149     TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, rc, 16)
4150     TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, rc, 1)
4151     TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, rc, 8)
4152 }
4153 
4154 static void test_pack_MCI_DGV_RECT_PARMS(void)
4155 {
4156     /* MCI_DGV_RECT_PARMS (pack 1) */
4157     TEST_TYPE_SIZE   (MCI_DGV_RECT_PARMS, 20)
4158     TEST_TYPE_ALIGN  (MCI_DGV_RECT_PARMS, 1)
4159     TEST_FIELD_SIZE  (MCI_DGV_RECT_PARMS, dwCallback, 4)
4160     TEST_FIELD_ALIGN (MCI_DGV_RECT_PARMS, dwCallback, 1)
4161     TEST_FIELD_OFFSET(MCI_DGV_RECT_PARMS, dwCallback, 0)
4162     TEST_FIELD_SIZE  (MCI_DGV_RECT_PARMS, rc, 16)
4163     TEST_FIELD_ALIGN (MCI_DGV_RECT_PARMS, rc, 1)
4164     TEST_FIELD_OFFSET(MCI_DGV_RECT_PARMS, rc, 4)
4165 }
4166 
4167 static void test_pack_MCI_DGV_CAPTURE_PARMSA(void)
4168 {
4169     /* MCI_DGV_CAPTURE_PARMSA (pack 1) */
4170     TEST_TYPE_SIZE   (MCI_DGV_CAPTURE_PARMSA, 24)
4171     TEST_TYPE_ALIGN  (MCI_DGV_CAPTURE_PARMSA, 1)
4172     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSA, dwCallback, 4)
4173     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, dwCallback, 1)
4174     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, dwCallback, 0)
4175     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 4)
4176     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 1)
4177     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 4)
4178     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSA, rc, 16)
4179     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, rc, 1)
4180     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, rc, 8)
4181 }
4182 
4183 static void test_pack_MCI_DGV_CAPTURE_PARMSW(void)
4184 {
4185     /* MCI_DGV_CAPTURE_PARMSW (pack 1) */
4186     TEST_TYPE_SIZE   (MCI_DGV_CAPTURE_PARMSW, 24)
4187     TEST_TYPE_ALIGN  (MCI_DGV_CAPTURE_PARMSW, 1)
4188     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSW, dwCallback, 4)
4189     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, dwCallback, 1)
4190     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, dwCallback, 0)
4191     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 4)
4192     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 1)
4193     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 4)
4194     TEST_FIELD_SIZE  (MCI_DGV_CAPTURE_PARMSW, rc, 16)
4195     TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, rc, 1)
4196     TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, rc, 8)
4197 }
4198 
4199 static void test_pack_MCI_DGV_COPY_PARMS(void)
4200 {
4201     /* MCI_DGV_COPY_PARMS (pack 1) */
4202     TEST_TYPE_SIZE   (MCI_DGV_COPY_PARMS, 36)
4203     TEST_TYPE_ALIGN  (MCI_DGV_COPY_PARMS, 1)
4204     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwCallback, 4)
4205     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwCallback, 1)
4206     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwCallback, 0)
4207     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwFrom, 4)
4208     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwFrom, 1)
4209     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwFrom, 4)
4210     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwTo, 4)
4211     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwTo, 1)
4212     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwTo, 8)
4213     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, rc, 16)
4214     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, rc, 1)
4215     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, rc, 12)
4216     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwAudioStream, 4)
4217     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwAudioStream, 1)
4218     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwAudioStream, 28)
4219     TEST_FIELD_SIZE  (MCI_DGV_COPY_PARMS, dwVideoStream, 4)
4220     TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwVideoStream, 1)
4221     TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwVideoStream, 32)
4222 }
4223 
4224 static void test_pack_MCI_DGV_CUE_PARMS(void)
4225 {
4226     /* MCI_DGV_CUE_PARMS (pack 1) */
4227     TEST_TYPE_SIZE   (MCI_DGV_CUE_PARMS, 8)
4228     TEST_TYPE_ALIGN  (MCI_DGV_CUE_PARMS, 1)
4229     TEST_FIELD_SIZE  (MCI_DGV_CUE_PARMS, dwCallback, 4)
4230     TEST_FIELD_ALIGN (MCI_DGV_CUE_PARMS, dwCallback, 1)
4231     TEST_FIELD_OFFSET(MCI_DGV_CUE_PARMS, dwCallback, 0)
4232     TEST_FIELD_SIZE  (MCI_DGV_CUE_PARMS, dwTo, 4)
4233     TEST_FIELD_ALIGN (MCI_DGV_CUE_PARMS, dwTo, 1)
4234     TEST_FIELD_OFFSET(MCI_DGV_CUE_PARMS, dwTo, 4)
4235 }
4236 
4237 static void test_pack_MCI_DGV_CUT_PARMS(void)
4238 {
4239     /* MCI_DGV_CUT_PARMS (pack 1) */
4240     TEST_TYPE_SIZE   (MCI_DGV_CUT_PARMS, 36)
4241     TEST_TYPE_ALIGN  (MCI_DGV_CUT_PARMS, 1)
4242     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwCallback, 4)
4243     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwCallback, 1)
4244     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwCallback, 0)
4245     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwFrom, 4)
4246     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwFrom, 1)
4247     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwFrom, 4)
4248     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwTo, 4)
4249     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwTo, 1)
4250     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwTo, 8)
4251     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, rc, 16)
4252     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, rc, 1)
4253     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, rc, 12)
4254     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwAudioStream, 4)
4255     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwAudioStream, 1)
4256     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwAudioStream, 28)
4257     TEST_FIELD_SIZE  (MCI_DGV_CUT_PARMS, dwVideoStream, 4)
4258     TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwVideoStream, 1)
4259     TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwVideoStream, 32)
4260 }
4261 
4262 static void test_pack_MCI_DGV_DELETE_PARMS(void)
4263 {
4264     /* MCI_DGV_DELETE_PARMS (pack 1) */
4265     TEST_TYPE_SIZE   (MCI_DGV_DELETE_PARMS, 36)
4266     TEST_TYPE_ALIGN  (MCI_DGV_DELETE_PARMS, 1)
4267     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwCallback, 4)
4268     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwCallback, 1)
4269     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwCallback, 0)
4270     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwFrom, 4)
4271     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwFrom, 1)
4272     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwFrom, 4)
4273     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwTo, 4)
4274     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwTo, 1)
4275     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwTo, 8)
4276     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, rc, 16)
4277     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, rc, 1)
4278     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, rc, 12)
4279     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwAudioStream, 4)
4280     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwAudioStream, 1)
4281     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwAudioStream, 28)
4282     TEST_FIELD_SIZE  (MCI_DGV_DELETE_PARMS, dwVideoStream, 4)
4283     TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwVideoStream, 1)
4284     TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwVideoStream, 32)
4285 }
4286 
4287 static void test_pack_MCI_DGV_INFO_PARMSA(void)
4288 {
4289     /* MCI_DGV_INFO_PARMSA (pack 1) */
4290     TEST_TYPE_SIZE   (MCI_DGV_INFO_PARMSA, 16)
4291     TEST_TYPE_ALIGN  (MCI_DGV_INFO_PARMSA, 1)
4292     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSA, dwCallback, 4)
4293     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwCallback, 1)
4294     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwCallback, 0)
4295     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSA, lpstrReturn, 4)
4296     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, lpstrReturn, 1)
4297     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, lpstrReturn, 4)
4298     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSA, dwRetSize, 4)
4299     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwRetSize, 1)
4300     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwRetSize, 8)
4301     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSA, dwItem, 4)
4302     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwItem, 1)
4303     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwItem, 12)
4304 }
4305 
4306 static void test_pack_MCI_DGV_INFO_PARMSW(void)
4307 {
4308     /* MCI_DGV_INFO_PARMSW (pack 1) */
4309     TEST_TYPE_SIZE   (MCI_DGV_INFO_PARMSW, 16)
4310     TEST_TYPE_ALIGN  (MCI_DGV_INFO_PARMSW, 1)
4311     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSW, dwCallback, 4)
4312     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwCallback, 1)
4313     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwCallback, 0)
4314     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSW, lpstrReturn, 4)
4315     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, lpstrReturn, 1)
4316     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, lpstrReturn, 4)
4317     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSW, dwRetSize, 4)
4318     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwRetSize, 1)
4319     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwRetSize, 8)
4320     TEST_FIELD_SIZE  (MCI_DGV_INFO_PARMSW, dwItem, 4)
4321     TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwItem, 1)
4322     TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwItem, 12)
4323 }
4324 
4325 static void test_pack_MCI_DGV_LIST_PARMSA(void)
4326 {
4327     /* MCI_DGV_LIST_PARMSA (pack 1) */
4328     TEST_TYPE_SIZE   (MCI_DGV_LIST_PARMSA, 24)
4329     TEST_TYPE_ALIGN  (MCI_DGV_LIST_PARMSA, 1)
4330     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, dwCallback, 4)
4331     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwCallback, 1)
4332     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwCallback, 0)
4333     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, lpstrReturn, 4)
4334     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, lpstrReturn, 1)
4335     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, lpstrReturn, 4)
4336     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, dwLength, 4)
4337     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwLength, 1)
4338     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwLength, 8)
4339     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, dwNumber, 4)
4340     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwNumber, 1)
4341     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwNumber, 12)
4342     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, dwItem, 4)
4343     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwItem, 1)
4344     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwItem, 16)
4345     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 4)
4346     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 1)
4347     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 20)
4348 }
4349 
4350 static void test_pack_MCI_DGV_LIST_PARMSW(void)
4351 {
4352     /* MCI_DGV_LIST_PARMSW (pack 1) */
4353     TEST_TYPE_SIZE   (MCI_DGV_LIST_PARMSW, 24)
4354     TEST_TYPE_ALIGN  (MCI_DGV_LIST_PARMSW, 1)
4355     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, dwCallback, 4)
4356     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwCallback, 1)
4357     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwCallback, 0)
4358     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, lpstrReturn, 4)
4359     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, lpstrReturn, 1)
4360     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, lpstrReturn, 4)
4361     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, dwLength, 4)
4362     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwLength, 1)
4363     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwLength, 8)
4364     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, dwNumber, 4)
4365     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwNumber, 1)
4366     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwNumber, 12)
4367     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, dwItem, 4)
4368     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwItem, 1)
4369     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwItem, 16)
4370     TEST_FIELD_SIZE  (MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 4)
4371     TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 1)
4372     TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 20)
4373 }
4374 
4375 static void test_pack_MCI_DGV_MONITOR_PARMS(void)
4376 {
4377     /* MCI_DGV_MONITOR_PARMS (pack 1) */
4378     TEST_TYPE_SIZE   (MCI_DGV_MONITOR_PARMS, 12)
4379     TEST_TYPE_ALIGN  (MCI_DGV_MONITOR_PARMS, 1)
4380     TEST_FIELD_SIZE  (MCI_DGV_MONITOR_PARMS, dwCallback, 4)
4381     TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwCallback, 1)
4382     TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwCallback, 0)
4383     TEST_FIELD_SIZE  (MCI_DGV_MONITOR_PARMS, dwSource, 4)
4384     TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwSource, 1)
4385     TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwSource, 4)
4386     TEST_FIELD_SIZE  (MCI_DGV_MONITOR_PARMS, dwMethod, 4)
4387     TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwMethod, 1)
4388     TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwMethod, 8)
4389 }
4390 
4391 static void test_pack_MCI_DGV_OPEN_PARMSA(void)
4392 {
4393     /* MCI_DGV_OPEN_PARMSA (pack 1) */
4394     TEST_TYPE_SIZE   (MCI_DGV_OPEN_PARMSA, 28)
4395     TEST_TYPE_ALIGN  (MCI_DGV_OPEN_PARMSA, 1)
4396     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, dwCallback, 4)
4397     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, dwCallback, 1)
4398     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, dwCallback, 0)
4399     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, wDeviceID, 4)
4400     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, wDeviceID, 1)
4401     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, wDeviceID, 4)
4402     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 4)
4403     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 1)
4404     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 8)
4405     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, lpstrElementName, 4)
4406     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrElementName, 1)
4407     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrElementName, 12)
4408     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, lpstrAlias, 4)
4409     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrAlias, 1)
4410     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrAlias, 16)
4411     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, dwStyle, 4)
4412     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, dwStyle, 1)
4413     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, dwStyle, 20)
4414     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSA, hWndParent, 4)
4415     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, hWndParent, 1)
4416     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, hWndParent, 24)
4417 }
4418 
4419 static void test_pack_MCI_DGV_OPEN_PARMSW(void)
4420 {
4421     /* MCI_DGV_OPEN_PARMSW (pack 1) */
4422     TEST_TYPE_SIZE   (MCI_DGV_OPEN_PARMSW, 28)
4423     TEST_TYPE_ALIGN  (MCI_DGV_OPEN_PARMSW, 1)
4424     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, dwCallback, 4)
4425     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, dwCallback, 1)
4426     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, dwCallback, 0)
4427     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, wDeviceID, 4)
4428     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, wDeviceID, 1)
4429     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, wDeviceID, 4)
4430     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 4)
4431     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 1)
4432     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 8)
4433     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, lpstrElementName, 4)
4434     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrElementName, 1)
4435     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrElementName, 12)
4436     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, lpstrAlias, 4)
4437     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrAlias, 1)
4438     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrAlias, 16)
4439     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, dwStyle, 4)
4440     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, dwStyle, 1)
4441     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, dwStyle, 20)
4442     TEST_FIELD_SIZE  (MCI_DGV_OPEN_PARMSW, hWndParent, 4)
4443     TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, hWndParent, 1)
4444     TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, hWndParent, 24)
4445 }
4446 
4447 static void test_pack_MCI_DGV_PASTE_PARMS(void)
4448 {
4449     /* MCI_DGV_PASTE_PARMS (pack 1) */
4450     TEST_TYPE_SIZE   (MCI_DGV_PASTE_PARMS, 32)
4451     TEST_TYPE_ALIGN  (MCI_DGV_PASTE_PARMS, 1)
4452     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, dwCallback, 4)
4453     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwCallback, 1)
4454     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwCallback, 0)
4455     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, dwTo, 4)
4456     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwTo, 1)
4457     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwTo, 4)
4458     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, rc, 16)
4459     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, rc, 1)
4460     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, rc, 8)
4461     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, dwAudioStream, 4)
4462     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwAudioStream, 1)
4463     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwAudioStream, 24)
4464     TEST_FIELD_SIZE  (MCI_DGV_PASTE_PARMS, dwVideoStream, 4)
4465     TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwVideoStream, 1)
4466     TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwVideoStream, 28)
4467 }
4468 
4469 static void test_pack_MCI_DGV_QUALITY_PARMSA(void)
4470 {
4471     /* MCI_DGV_QUALITY_PARMSA (pack 1) */
4472     TEST_TYPE_SIZE   (MCI_DGV_QUALITY_PARMSA, 20)
4473     TEST_TYPE_ALIGN  (MCI_DGV_QUALITY_PARMSA, 1)
4474     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, dwCallback, 4)
4475     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwCallback, 1)
4476     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwCallback, 0)
4477     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, dwItem, 4)
4478     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwItem, 1)
4479     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwItem, 4)
4480     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, lpstrName, 4)
4481     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, lpstrName, 1)
4482     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, lpstrName, 8)
4483     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 4)
4484     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 1)
4485     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 12)
4486     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSA, dwHandle, 4)
4487     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwHandle, 1)
4488     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwHandle, 16)
4489 }
4490 
4491 static void test_pack_MCI_DGV_QUALITY_PARMSW(void)
4492 {
4493     /* MCI_DGV_QUALITY_PARMSW (pack 1) */
4494     TEST_TYPE_SIZE   (MCI_DGV_QUALITY_PARMSW, 20)
4495     TEST_TYPE_ALIGN  (MCI_DGV_QUALITY_PARMSW, 1)
4496     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, dwCallback, 4)
4497     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwCallback, 1)
4498     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwCallback, 0)
4499     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, dwItem, 4)
4500     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwItem, 1)
4501     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwItem, 4)
4502     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, lpstrName, 4)
4503     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, lpstrName, 1)
4504     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, lpstrName, 8)
4505     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 4)
4506     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 1)
4507     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 12)
4508     TEST_FIELD_SIZE  (MCI_DGV_QUALITY_PARMSW, dwHandle, 4)
4509     TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwHandle, 1)
4510     TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwHandle, 16)
4511 }
4512 
4513 static void test_pack_MCI_DGV_RECORD_PARMS(void)
4514 {
4515     /* MCI_DGV_RECORD_PARMS (pack 1) */
4516     TEST_TYPE_SIZE   (MCI_DGV_RECORD_PARMS, 36)
4517     TEST_TYPE_ALIGN  (MCI_DGV_RECORD_PARMS, 1)
4518     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwCallback, 4)
4519     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwCallback, 1)
4520     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwCallback, 0)
4521     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwFrom, 4)
4522     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwFrom, 1)
4523     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwFrom, 4)
4524     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwTo, 4)
4525     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwTo, 1)
4526     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwTo, 8)
4527     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, rc, 16)
4528     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, rc, 1)
4529     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, rc, 12)
4530     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwAudioStream, 4)
4531     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwAudioStream, 1)
4532     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwAudioStream, 28)
4533     TEST_FIELD_SIZE  (MCI_DGV_RECORD_PARMS, dwVideoStream, 4)
4534     TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwVideoStream, 1)
4535     TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwVideoStream, 32)
4536 }
4537 
4538 static void test_pack_MCI_DGV_RESERVE_PARMSA(void)
4539 {
4540     /* MCI_DGV_RESERVE_PARMSA (pack 1) */
4541     TEST_TYPE_SIZE   (MCI_DGV_RESERVE_PARMSA, 12)
4542     TEST_TYPE_ALIGN  (MCI_DGV_RESERVE_PARMSA, 1)
4543     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSA, dwCallback, 4)
4544     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, dwCallback, 1)
4545     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, dwCallback, 0)
4546     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSA, lpstrPath, 4)
4547     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, lpstrPath, 1)
4548     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, lpstrPath, 4)
4549     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSA, dwSize, 4)
4550     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, dwSize, 1)
4551     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, dwSize, 8)
4552 }
4553 
4554 static void test_pack_MCI_DGV_RESERVE_PARMSW(void)
4555 {
4556     /* MCI_DGV_RESERVE_PARMSW (pack 1) */
4557     TEST_TYPE_SIZE   (MCI_DGV_RESERVE_PARMSW, 12)
4558     TEST_TYPE_ALIGN  (MCI_DGV_RESERVE_PARMSW, 1)
4559     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSW, dwCallback, 4)
4560     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, dwCallback, 1)
4561     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, dwCallback, 0)
4562     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSW, lpstrPath, 4)
4563     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, lpstrPath, 1)
4564     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, lpstrPath, 4)
4565     TEST_FIELD_SIZE  (MCI_DGV_RESERVE_PARMSW, dwSize, 4)
4566     TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, dwSize, 1)
4567     TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, dwSize, 8)
4568 }
4569 
4570 static void test_pack_MCI_DGV_RESTORE_PARMSA(void)
4571 {
4572     /* MCI_DGV_RESTORE_PARMSA (pack 1) */
4573     TEST_TYPE_SIZE   (MCI_DGV_RESTORE_PARMSA, 24)
4574     TEST_TYPE_ALIGN  (MCI_DGV_RESTORE_PARMSA, 1)
4575     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSA, dwCallback, 4)
4576     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, dwCallback, 1)
4577     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, dwCallback, 0)
4578     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSA, lpstrFileName, 4)
4579     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, lpstrFileName, 1)
4580     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, lpstrFileName, 4)
4581     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSA, rc, 16)
4582     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, rc, 1)
4583     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, rc, 8)
4584 }
4585 
4586 static void test_pack_MCI_DGV_RESTORE_PARMSW(void)
4587 {
4588     /* MCI_DGV_RESTORE_PARMSW (pack 1) */
4589     TEST_TYPE_SIZE   (MCI_DGV_RESTORE_PARMSW, 24)
4590     TEST_TYPE_ALIGN  (MCI_DGV_RESTORE_PARMSW, 1)
4591     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSW, dwCallback, 4)
4592     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, dwCallback, 1)
4593     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, dwCallback, 0)
4594     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSW, lpstrFileName, 4)
4595     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, lpstrFileName, 1)
4596     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, lpstrFileName, 4)
4597     TEST_FIELD_SIZE  (MCI_DGV_RESTORE_PARMSW, rc, 16)
4598     TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, rc, 1)
4599     TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, rc, 8)
4600 }
4601 
4602 static void test_pack_MCI_DGV_SAVE_PARMSA(void)
4603 {
4604     /* MCI_DGV_SAVE_PARMSA (pack 1) */
4605     TEST_TYPE_SIZE   (MCI_DGV_SAVE_PARMSA, 24)
4606     TEST_TYPE_ALIGN  (MCI_DGV_SAVE_PARMSA, 1)
4607     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSA, dwCallback, 4)
4608     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, dwCallback, 1)
4609     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, dwCallback, 0)
4610     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSA, lpstrFileName, 4)
4611     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, lpstrFileName, 1)
4612     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, lpstrFileName, 4)
4613     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSA, rc, 16)
4614     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, rc, 1)
4615     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, rc, 8)
4616 }
4617 
4618 static void test_pack_MCI_DGV_SAVE_PARMSW(void)
4619 {
4620     /* MCI_DGV_SAVE_PARMSW (pack 1) */
4621     TEST_TYPE_SIZE   (MCI_DGV_SAVE_PARMSW, 24)
4622     TEST_TYPE_ALIGN  (MCI_DGV_SAVE_PARMSW, 1)
4623     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSW, dwCallback, 4)
4624     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, dwCallback, 1)
4625     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, dwCallback, 0)
4626     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSW, lpstrFileName, 4)
4627     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, lpstrFileName, 1)
4628     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, lpstrFileName, 4)
4629     TEST_FIELD_SIZE  (MCI_DGV_SAVE_PARMSW, rc, 16)
4630     TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, rc, 1)
4631     TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, rc, 8)
4632 }
4633 
4634 static void test_pack_MCI_DGV_SET_PARMS(void)
4635 {
4636     /* MCI_DGV_SET_PARMS (pack 1) */
4637     TEST_TYPE_SIZE   (MCI_DGV_SET_PARMS, 20)
4638     TEST_TYPE_ALIGN  (MCI_DGV_SET_PARMS, 1)
4639     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwCallback, 4)
4640     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwCallback, 1)
4641     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwCallback, 0)
4642     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwTimeFormat, 4)
4643     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwTimeFormat, 1)
4644     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwTimeFormat, 4)
4645     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwAudio, 4)
4646     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwAudio, 1)
4647     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwAudio, 8)
4648     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwFileFormat, 4)
4649     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwFileFormat, 1)
4650     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwFileFormat, 12)
4651     TEST_FIELD_SIZE  (MCI_DGV_SET_PARMS, dwSpeed, 4)
4652     TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwSpeed, 1)
4653     TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwSpeed, 16)
4654 }
4655 
4656 static void test_pack_MCI_DGV_SETAUDIO_PARMSA(void)
4657 {
4658     /* MCI_DGV_SETAUDIO_PARMSA (pack 1) */
4659     TEST_TYPE_SIZE   (MCI_DGV_SETAUDIO_PARMSA, 24)
4660     TEST_TYPE_ALIGN  (MCI_DGV_SETAUDIO_PARMSA, 1)
4661     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, dwCallback, 4)
4662     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwCallback, 1)
4663     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwCallback, 0)
4664     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, dwItem, 4)
4665     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwItem, 1)
4666     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwItem, 4)
4667     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, dwValue, 4)
4668     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwValue, 1)
4669     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwValue, 8)
4670     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, dwOver, 4)
4671     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwOver, 1)
4672     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwOver, 12)
4673     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 4)
4674     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 1)
4675     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 16)
4676     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 4)
4677     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 1)
4678     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 20)
4679 }
4680 
4681 static void test_pack_MCI_DGV_SETAUDIO_PARMSW(void)
4682 {
4683     /* MCI_DGV_SETAUDIO_PARMSW (pack 1) */
4684     TEST_TYPE_SIZE   (MCI_DGV_SETAUDIO_PARMSW, 24)
4685     TEST_TYPE_ALIGN  (MCI_DGV_SETAUDIO_PARMSW, 1)
4686     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, dwCallback, 4)
4687     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwCallback, 1)
4688     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwCallback, 0)
4689     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, dwItem, 4)
4690     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwItem, 1)
4691     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwItem, 4)
4692     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, dwValue, 4)
4693     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwValue, 1)
4694     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwValue, 8)
4695     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, dwOver, 4)
4696     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwOver, 1)
4697     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwOver, 12)
4698     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 4)
4699     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 1)
4700     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 16)
4701     TEST_FIELD_SIZE  (MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 4)
4702     TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 1)
4703     TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 20)
4704 }
4705 
4706 static void test_pack_MCI_DGV_SIGNAL_PARMS(void)
4707 {
4708     /* MCI_DGV_SIGNAL_PARMS (pack 1) */
4709     TEST_TYPE_SIZE   (MCI_DGV_SIGNAL_PARMS, 16)
4710     TEST_TYPE_ALIGN  (MCI_DGV_SIGNAL_PARMS, 1)
4711     TEST_FIELD_SIZE  (MCI_DGV_SIGNAL_PARMS, dwCallback, 4)
4712     TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwCallback, 1)
4713     TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwCallback, 0)
4714     TEST_FIELD_SIZE  (MCI_DGV_SIGNAL_PARMS, dwPosition, 4)
4715     TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwPosition, 1)
4716     TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwPosition, 4)
4717     TEST_FIELD_SIZE  (MCI_DGV_SIGNAL_PARMS, dwPeriod, 4)
4718     TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwPeriod, 1)
4719     TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwPeriod, 8)
4720     TEST_FIELD_SIZE  (MCI_DGV_SIGNAL_PARMS, dwUserParm, 4)
4721     TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwUserParm, 1)
4722     TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwUserParm, 12)
4723 }
4724 
4725 static void test_pack_MCI_DGV_SETVIDEO_PARMSA(void)
4726 {
4727     /* MCI_DGV_SETVIDEO_PARMSA (pack 1) */
4728     TEST_TYPE_SIZE   (MCI_DGV_SETVIDEO_PARMSA, 28)
4729     TEST_TYPE_ALIGN  (MCI_DGV_SETVIDEO_PARMSA, 1)
4730     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwCallback, 4)
4731     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwCallback, 1)
4732     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwCallback, 0)
4733     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwItem, 4)
4734     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwItem, 1)
4735     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwItem, 4)
4736     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwValue, 4)
4737     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwValue, 1)
4738     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwValue, 8)
4739     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwOver, 4)
4740     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwOver, 1)
4741     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwOver, 12)
4742     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 4)
4743     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 1)
4744     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 16)
4745     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 4)
4746     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 1)
4747     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 20)
4748     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 4)
4749     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 1)
4750     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 24)
4751 }
4752 
4753 static void test_pack_MCI_DGV_SETVIDEO_PARMSW(void)
4754 {
4755     /* MCI_DGV_SETVIDEO_PARMSW (pack 1) */
4756     TEST_TYPE_SIZE   (MCI_DGV_SETVIDEO_PARMSW, 28)
4757     TEST_TYPE_ALIGN  (MCI_DGV_SETVIDEO_PARMSW, 1)
4758     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwCallback, 4)
4759     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwCallback, 1)
4760     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwCallback, 0)
4761     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwItem, 4)
4762     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwItem, 1)
4763     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwItem, 4)
4764     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwValue, 4)
4765     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwValue, 1)
4766     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwValue, 8)
4767     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwOver, 4)
4768     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwOver, 1)
4769     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwOver, 12)
4770     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 4)
4771     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 1)
4772     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 16)
4773     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 4)
4774     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 1)
4775     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 20)
4776     TEST_FIELD_SIZE  (MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 4)
4777     TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 1)
4778     TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 24)
4779 }
4780 
4781 static void test_pack_MCI_DGV_STATUS_PARMSA(void)
4782 {
4783     /* MCI_DGV_STATUS_PARMSA (pack 1) */
4784     TEST_TYPE_SIZE   (MCI_DGV_STATUS_PARMSA, 24)
4785     TEST_TYPE_ALIGN  (MCI_DGV_STATUS_PARMSA, 1)
4786     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwCallback, 4)
4787     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwCallback, 1)
4788     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwCallback, 0)
4789     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwReturn, 4)
4790     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwReturn, 1)
4791     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwReturn, 4)
4792     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwItem, 4)
4793     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwItem, 1)
4794     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwItem, 8)
4795     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwTrack, 4)
4796     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwTrack, 1)
4797     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwTrack, 12)
4798     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, lpstrDrive, 4)
4799     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, lpstrDrive, 1)
4800     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, lpstrDrive, 16)
4801     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSA, dwReference, 4)
4802     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwReference, 1)
4803     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwReference, 20)
4804 }
4805 
4806 static void test_pack_MCI_DGV_STATUS_PARMSW(void)
4807 {
4808     /* MCI_DGV_STATUS_PARMSW (pack 1) */
4809     TEST_TYPE_SIZE   (MCI_DGV_STATUS_PARMSW, 24)
4810     TEST_TYPE_ALIGN  (MCI_DGV_STATUS_PARMSW, 1)
4811     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwCallback, 4)
4812     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwCallback, 1)
4813     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwCallback, 0)
4814     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwReturn, 4)
4815     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwReturn, 1)
4816     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwReturn, 4)
4817     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwItem, 4)
4818     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwItem, 1)
4819     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwItem, 8)
4820     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwTrack, 4)
4821     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwTrack, 1)
4822     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwTrack, 12)
4823     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, lpstrDrive, 4)
4824     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, lpstrDrive, 1)
4825     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, lpstrDrive, 16)
4826     TEST_FIELD_SIZE  (MCI_DGV_STATUS_PARMSW, dwReference, 4)
4827     TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwReference, 1)
4828     TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwReference, 20)
4829 }
4830 
4831 static void test_pack_MCI_DGV_STEP_PARMS(void)
4832 {
4833     /* MCI_DGV_STEP_PARMS (pack 1) */
4834     TEST_TYPE_SIZE   (MCI_DGV_STEP_PARMS, 8)
4835     TEST_TYPE_ALIGN  (MCI_DGV_STEP_PARMS, 1)
4836     TEST_FIELD_SIZE  (MCI_DGV_STEP_PARMS, dwCallback, 4)
4837     TEST_FIELD_ALIGN (MCI_DGV_STEP_PARMS, dwCallback, 1)
4838     TEST_FIELD_OFFSET(MCI_DGV_STEP_PARMS, dwCallback, 0)
4839     TEST_FIELD_SIZE  (MCI_DGV_STEP_PARMS, dwFrames, 4)
4840     TEST_FIELD_ALIGN (MCI_DGV_STEP_PARMS, dwFrames, 1)
4841     TEST_FIELD_OFFSET(MCI_DGV_STEP_PARMS, dwFrames, 4)
4842 }
4843 
4844 static void test_pack_MCI_DGV_UPDATE_PARMS(void)
4845 {
4846     /* MCI_DGV_UPDATE_PARMS (pack 1) */
4847     TEST_TYPE_SIZE   (MCI_DGV_UPDATE_PARMS, 24)
4848     TEST_TYPE_ALIGN  (MCI_DGV_UPDATE_PARMS, 1)
4849     TEST_FIELD_SIZE  (MCI_DGV_UPDATE_PARMS, dwCallback, 4)
4850     TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, dwCallback, 1)
4851     TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, dwCallback, 0)
4852     TEST_FIELD_SIZE  (MCI_DGV_UPDATE_PARMS, rc, 16)
4853     TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, rc, 1)
4854     TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, rc, 4)
4855     TEST_FIELD_SIZE  (MCI_DGV_UPDATE_PARMS, hDC, 4)
4856     TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, hDC, 1)
4857     TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, hDC, 20)
4858 }
4859 
4860 static void test_pack_MCI_DGV_WINDOW_PARMSA(void)
4861 {
4862     /* MCI_DGV_WINDOW_PARMSA (pack 1) */
4863     TEST_TYPE_SIZE   (MCI_DGV_WINDOW_PARMSA, 16)
4864     TEST_TYPE_ALIGN  (MCI_DGV_WINDOW_PARMSA, 1)
4865     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSA, dwCallback, 4)
4866     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, dwCallback, 1)
4867     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, dwCallback, 0)
4868     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSA, hWnd, 4)
4869     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, hWnd, 1)
4870     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, hWnd, 4)
4871     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSA, nCmdShow, 4)
4872     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, nCmdShow, 1)
4873     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, nCmdShow, 8)
4874     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSA, lpstrText, 4)
4875     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, lpstrText, 1)
4876     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, lpstrText, 12)
4877 }
4878 
4879 static void test_pack_MCI_DGV_WINDOW_PARMSW(void)
4880 {
4881     /* MCI_DGV_WINDOW_PARMSW (pack 1) */
4882     TEST_TYPE_SIZE   (MCI_DGV_WINDOW_PARMSW, 16)
4883     TEST_TYPE_ALIGN  (MCI_DGV_WINDOW_PARMSW, 1)
4884     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSW, dwCallback, 4)
4885     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, dwCallback, 1)
4886     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, dwCallback, 0)
4887     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSW, hWnd, 4)
4888     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, hWnd, 1)
4889     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, hWnd, 4)
4890     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSW, nCmdShow, 4)
4891     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, nCmdShow, 1)
4892     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, nCmdShow, 8)
4893     TEST_FIELD_SIZE  (MCI_DGV_WINDOW_PARMSW, lpstrText, 4)
4894     TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, lpstrText, 1)
4895     TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, lpstrText, 12)
4896 }
4897 
4898 #endif /* _WIN64 */
4899 
4900 static void test_pack(void)
4901 {
4902     test_pack_AUXCAPS2A();
4903     test_pack_AUXCAPS2W();
4904     test_pack_AUXCAPSA();
4905     test_pack_AUXCAPSW();
4906     test_pack_DRVCONFIGINFO();
4907     test_pack_JOYCAPS2A();
4908     test_pack_JOYCAPS2W();
4909     test_pack_JOYCAPSA();
4910     test_pack_JOYCAPSW();
4911     test_pack_JOYINFO();
4912     test_pack_JOYINFOEX();
4913     test_pack_MCI_ANIM_OPEN_PARMSA();
4914     test_pack_MCI_ANIM_OPEN_PARMSW();
4915     test_pack_MCI_ANIM_PLAY_PARMS();
4916     test_pack_MCI_ANIM_STEP_PARMS();
4917     test_pack_MCI_ANIM_UPDATE_PARMS();
4918     test_pack_MCI_ANIM_WINDOW_PARMSA();
4919     test_pack_MCI_ANIM_WINDOW_PARMSW();
4920     test_pack_MCI_BREAK_PARMS();
4921     test_pack_MCI_DGV_CAPTURE_PARMSA();
4922     test_pack_MCI_DGV_CAPTURE_PARMSW();
4923     test_pack_MCI_DGV_COPY_PARMS();
4924     test_pack_MCI_DGV_CUE_PARMS();
4925     test_pack_MCI_DGV_CUT_PARMS();
4926     test_pack_MCI_DGV_DELETE_PARMS();
4927     test_pack_MCI_DGV_INFO_PARMSA();
4928     test_pack_MCI_DGV_INFO_PARMSW();
4929     test_pack_MCI_DGV_LIST_PARMSA();
4930     test_pack_MCI_DGV_LIST_PARMSW();
4931     test_pack_MCI_DGV_MONITOR_PARMS();
4932     test_pack_MCI_DGV_OPEN_PARMSA();
4933     test_pack_MCI_DGV_OPEN_PARMSW();
4934     test_pack_MCI_DGV_PASTE_PARMS();
4935     test_pack_MCI_DGV_QUALITY_PARMSA();
4936     test_pack_MCI_DGV_QUALITY_PARMSW();
4937     test_pack_MCI_DGV_RECORD_PARMS();
4938     test_pack_MCI_DGV_RECT_PARMS();
4939     test_pack_MCI_DGV_RESERVE_PARMSA();
4940     test_pack_MCI_DGV_RESERVE_PARMSW();
4941     test_pack_MCI_DGV_RESTORE_PARMSA();
4942     test_pack_MCI_DGV_RESTORE_PARMSW();
4943     test_pack_MCI_DGV_SAVE_PARMSA();
4944     test_pack_MCI_DGV_SAVE_PARMSW();
4945     test_pack_MCI_DGV_SETAUDIO_PARMSA();
4946     test_pack_MCI_DGV_SETAUDIO_PARMSW();
4947     test_pack_MCI_DGV_SETVIDEO_PARMSA();
4948     test_pack_MCI_DGV_SETVIDEO_PARMSW();
4949     test_pack_MCI_DGV_SET_PARMS();
4950     test_pack_MCI_DGV_SIGNAL_PARMS();
4951     test_pack_MCI_DGV_STATUS_PARMSA();
4952     test_pack_MCI_DGV_STATUS_PARMSW();
4953     test_pack_MCI_DGV_STEP_PARMS();
4954     test_pack_MCI_DGV_UPDATE_PARMS();
4955     test_pack_MCI_DGV_WINDOW_PARMSA();
4956     test_pack_MCI_DGV_WINDOW_PARMSW();
4957     test_pack_MCI_GENERIC_PARMS();
4958     test_pack_MCI_GETDEVCAPS_PARMS();
4959     test_pack_MCI_INFO_PARMSA();
4960     test_pack_MCI_INFO_PARMSW();
4961     test_pack_MCI_LOAD_PARMSA();
4962     test_pack_MCI_LOAD_PARMSW();
4963     test_pack_MCI_OPEN_PARMSA();
4964     test_pack_MCI_OPEN_PARMSW();
4965     test_pack_MCI_OVLY_LOAD_PARMSA();
4966     test_pack_MCI_OVLY_LOAD_PARMSW();
4967     test_pack_MCI_OVLY_OPEN_PARMSA();
4968     test_pack_MCI_OVLY_OPEN_PARMSW();
4969     test_pack_MCI_OVLY_SAVE_PARMSA();
4970     test_pack_MCI_OVLY_SAVE_PARMSW();
4971     test_pack_MCI_OVLY_WINDOW_PARMSA();
4972     test_pack_MCI_OVLY_WINDOW_PARMSW();
4973     test_pack_MCI_PLAY_PARMS();
4974     test_pack_MCI_RECORD_PARMS();
4975     test_pack_MCI_SAVE_PARMSA();
4976     test_pack_MCI_SAVE_PARMSW();
4977     test_pack_MCI_SEEK_PARMS();
4978     test_pack_MCI_SEQ_SET_PARMS();
4979     test_pack_MCI_SET_PARMS();
4980     test_pack_MCI_SOUND_PARMSA();
4981     test_pack_MCI_SOUND_PARMSW();
4982     test_pack_MCI_STATUS_PARMS();
4983     test_pack_MCI_SYSINFO_PARMSA();
4984     test_pack_MCI_SYSINFO_PARMSW();
4985     test_pack_MCI_VD_ESCAPE_PARMSA();
4986     test_pack_MCI_VD_ESCAPE_PARMSW();
4987     test_pack_MCI_VD_PLAY_PARMS();
4988     test_pack_MCI_VD_STEP_PARMS();
4989     test_pack_MCI_WAVE_DELETE_PARMS();
4990     test_pack_MCI_WAVE_OPEN_PARMSA();
4991     test_pack_MCI_WAVE_OPEN_PARMSW();
4992     test_pack_MCI_WAVE_SET_PARMS();
4993     test_pack_MIDIEVENT();
4994     test_pack_MIDIHDR();
4995     test_pack_MIDIINCAPS2A();
4996     test_pack_MIDIINCAPS2W();
4997     test_pack_MIDIINCAPSA();
4998     test_pack_MIDIINCAPSW();
4999     test_pack_MIDIOUTCAPS2A();
5000     test_pack_MIDIOUTCAPS2W();
5001     test_pack_MIDIOUTCAPSA();
5002     test_pack_MIDIOUTCAPSW();
5003     test_pack_MIXERCAPS2A();
5004     test_pack_MIXERCAPS2W();
5005     test_pack_MIXERCAPSA();
5006     test_pack_MIXERCAPSW();
5007     test_pack_MIXERCONTROLA();
5008     test_pack_MIXERCONTROLDETAILS();
5009     test_pack_MIXERCONTROLDETAILS_BOOLEAN();
5010     test_pack_MIXERCONTROLDETAILS_LISTTEXTA();
5011     test_pack_MIXERCONTROLDETAILS_LISTTEXTW();
5012     test_pack_MIXERCONTROLDETAILS_SIGNED();
5013     test_pack_MIXERCONTROLDETAILS_UNSIGNED();
5014     test_pack_MIXERCONTROLW();
5015     test_pack_MIXERLINEA();
5016     test_pack_MIXERLINEW();
5017     test_pack_MMCKINFO();
5018     test_pack_MMIOINFO();
5019     test_pack_MMTIME();
5020     test_pack_PCMWAVEFORMAT();
5021     test_pack_TIMECAPS();
5022     test_pack_WAVEFORMAT();
5023     test_pack_WAVEFORMATEX();
5024     test_pack_WAVEHDR();
5025     test_pack_WAVEINCAPS2A();
5026     test_pack_WAVEINCAPS2W();
5027     test_pack_WAVEINCAPSA();
5028     test_pack_WAVEINCAPSW();
5029     test_pack_WAVEOUTCAPS2A();
5030     test_pack_WAVEOUTCAPS2W();
5031     test_pack_WAVEOUTCAPSA();
5032     test_pack_WAVEOUTCAPSW();
5033 }
5034 
5035 START_TEST(generated)
5036 {
5037     test_pack();
5038 }
5039