[PATCH] [WinMM]: added a couple of tests about structure alignment

Eric Pouech eric.pouech at orange.fr
Fri Jun 25 15:06:07 CDT 2010




A+
---

 dlls/winmm/tests/Makefile.in |    1 
 dlls/winmm/tests/generated.c | 3504 ++++++++++++++++++++++++++++++++++++++++++
 tools/winapi/tests.dat       |  122 +
 3 files changed, 3627 insertions(+), 0 deletions(-)
 create mode 100644 dlls/winmm/tests/generated.c


diff --git a/dlls/winmm/tests/Makefile.in b/dlls/winmm/tests/Makefile.in
index 986b6e4..e280a41 100644
--- a/dlls/winmm/tests/Makefile.in
+++ b/dlls/winmm/tests/Makefile.in
@@ -7,6 +7,7 @@ IMPORTS   = winmm user32 kernel32
 
 C_SRCS = \
 	capture.c \
+	generated.c \
 	mci.c \
 	midi.c \
 	mixer.c \
diff --git a/dlls/winmm/tests/generated.c b/dlls/winmm/tests/generated.c
new file mode 100644
index 0000000..ae51c64
--- /dev/null
+++ b/dlls/winmm/tests/generated.c
@@ -0,0 +1,3504 @@
+/* File generated automatically from tools/winapi/tests.dat; do not edit! */
+/* This file can be copied, modified and distributed without restriction. */
+
+/*
+ * Unit tests for data structure packing
+ */
+
+#define WINVER 0x0501
+#define _WIN32_IE 0x0501
+#define _WIN32_WINNT 0x0501
+
+#define WINE_NOWINSOCK
+
+#include "windows.h"
+
+#include "wine/test.h"
+
+/***********************************************************************
+ * Compatibility macros
+ */
+
+#define DWORD_PTR UINT_PTR
+#define LONG_PTR INT_PTR
+#define ULONG_PTR UINT_PTR
+
+/***********************************************************************
+ * Windows API extension
+ */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
+# define _TYPE_ALIGNMENT(type) __alignof(type)
+#elif defined(__GNUC__)
+# define _TYPE_ALIGNMENT(type) __alignof__(type)
+#else
+/*
+ * FIXME: May not be possible without a compiler extension
+ *        (if type is not just a name that is, otherwise the normal
+ *         TYPE_ALIGNMENT can be used)
+ */
+#endif
+
+#if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
+#pragma warning(disable:4116)
+#endif
+
+#if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
+# define TYPE_ALIGNMENT _TYPE_ALIGNMENT
+#endif
+
+/***********************************************************************
+ * Test helper macros
+ */
+
+#define TEST_TYPE_SIZE(type, size)             C_ASSERT(sizeof(type) == size);
+
+#ifdef TYPE_ALIGNMENT
+# define TEST_TYPE_ALIGN(type, align)          C_ASSERT(TYPE_ALIGNMENT(type) == align);
+#else
+# define TEST_TYPE_ALIGN(type, align)
+#endif
+
+#ifdef _TYPE_ALIGNMENT
+# define TEST_TARGET_ALIGN(type, align)        C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
+# define TEST_FIELD_ALIGN(type, field, align)  C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
+#else
+# define TEST_TARGET_ALIGN(type, align)
+# define TEST_FIELD_ALIGN(type, field, align)
+#endif
+
+#define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
+
+#define TEST_TARGET_SIZE(type, size)            TEST_TYPE_SIZE(*(type)0, size)
+#define TEST_FIELD_SIZE(type, field, size)      TEST_TYPE_SIZE((((type*)0)->field), size)
+#define TEST_TYPE_SIGNED(type)                  C_ASSERT((type) -1 < 0);
+#define TEST_TYPE_UNSIGNED(type)                C_ASSERT((type) -1 > 0);
+
+
+#ifdef _WIN64
+
+static void test_pack_MMTIME(void)
+{
+    /* MMTIME (pack 1) */
+    TEST_FIELD_SIZE  (MMTIME, wType, 4)
+    TEST_FIELD_ALIGN (MMTIME, wType, 1)
+    TEST_FIELD_OFFSET(MMTIME, wType, 0)
+}
+
+static void test_pack_DRVCONFIGINFO(void)
+{
+    /* DRVCONFIGINFO (pack 1) */
+    TEST_TYPE_SIZE   (DRVCONFIGINFO, 20)
+    TEST_TYPE_ALIGN  (DRVCONFIGINFO, 1)
+    TEST_FIELD_SIZE  (DRVCONFIGINFO, dwDCISize, 4)
+    TEST_FIELD_ALIGN (DRVCONFIGINFO, dwDCISize, 1)
+    TEST_FIELD_OFFSET(DRVCONFIGINFO, dwDCISize, 0)
+    TEST_FIELD_SIZE  (DRVCONFIGINFO, lpszDCISectionName, 8)
+    TEST_FIELD_ALIGN (DRVCONFIGINFO, lpszDCISectionName, 1)
+    TEST_FIELD_OFFSET(DRVCONFIGINFO, lpszDCISectionName, 4)
+    TEST_FIELD_SIZE  (DRVCONFIGINFO, lpszDCIAliasName, 8)
+    TEST_FIELD_ALIGN (DRVCONFIGINFO, lpszDCIAliasName, 1)
+    TEST_FIELD_OFFSET(DRVCONFIGINFO, lpszDCIAliasName, 12)
+}
+
+static void test_pack_WAVEHDR(void)
+{
+    /* WAVEHDR (pack 1) */
+    TEST_TYPE_SIZE   (WAVEHDR, 48)
+    TEST_TYPE_ALIGN  (WAVEHDR, 1)
+    TEST_FIELD_SIZE  (WAVEHDR, lpData, 8)
+    TEST_FIELD_ALIGN (WAVEHDR, lpData, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, lpData, 0)
+    TEST_FIELD_SIZE  (WAVEHDR, dwBufferLength, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwBufferLength, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwBufferLength, 8)
+    TEST_FIELD_SIZE  (WAVEHDR, dwBytesRecorded, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwBytesRecorded, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwBytesRecorded, 12)
+    TEST_FIELD_SIZE  (WAVEHDR, dwUser, 8)
+    TEST_FIELD_ALIGN (WAVEHDR, dwUser, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwUser, 16)
+    TEST_FIELD_SIZE  (WAVEHDR, dwFlags, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwFlags, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwFlags, 24)
+    TEST_FIELD_SIZE  (WAVEHDR, dwLoops, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwLoops, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwLoops, 28)
+    TEST_FIELD_SIZE  (WAVEHDR, lpNext, 8)
+    TEST_FIELD_ALIGN (WAVEHDR, lpNext, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, lpNext, 32)
+    TEST_FIELD_SIZE  (WAVEHDR, reserved, 8)
+    TEST_FIELD_ALIGN (WAVEHDR, reserved, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, reserved, 40)
+}
+
+static void test_pack_WAVEOUTCAPSA(void)
+{
+    /* WAVEOUTCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (WAVEOUTCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEOUTCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEOUTCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEOUTCAPSW(void)
+{
+    /* WAVEOUTCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (WAVEOUTCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEOUTCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEOUTCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEOUTCAPS2A(void)
+{
+    /* WAVEOUTCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEOUTCAPS2W(void)
+{
+    /* WAVEOUTCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEINCAPSA(void)
+{
+    /* WAVEINCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (WAVEINCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEINCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEINCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEINCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEINCAPSW(void)
+{
+    /* WAVEINCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (WAVEINCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEINCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEINCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEINCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEINCAPS2A(void)
+{
+    /* WAVEINCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (WAVEINCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEINCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEINCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEINCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEINCAPS2W(void)
+{
+    /* WAVEINCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (WAVEINCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEINCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEINCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEINCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEFORMAT(void)
+{
+    /* WAVEFORMAT (pack 1) */
+    TEST_TYPE_SIZE   (WAVEFORMAT, 14)
+    TEST_TYPE_ALIGN  (WAVEFORMAT, 1)
+    TEST_FIELD_SIZE  (WAVEFORMAT, wFormatTag, 2)
+    TEST_FIELD_ALIGN (WAVEFORMAT, wFormatTag, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, wFormatTag, 0)
+    TEST_FIELD_SIZE  (WAVEFORMAT, nChannels, 2)
+    TEST_FIELD_ALIGN (WAVEFORMAT, nChannels, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, nChannels, 2)
+    TEST_FIELD_SIZE  (WAVEFORMAT, nSamplesPerSec, 4)
+    TEST_FIELD_ALIGN (WAVEFORMAT, nSamplesPerSec, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, nSamplesPerSec, 4)
+    TEST_FIELD_SIZE  (WAVEFORMAT, nAvgBytesPerSec, 4)
+    TEST_FIELD_ALIGN (WAVEFORMAT, nAvgBytesPerSec, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, nAvgBytesPerSec, 8)
+    TEST_FIELD_SIZE  (WAVEFORMAT, nBlockAlign, 2)
+    TEST_FIELD_ALIGN (WAVEFORMAT, nBlockAlign, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, nBlockAlign, 12)
+}
+
+static void test_pack_PCMWAVEFORMAT(void)
+{
+    /* PCMWAVEFORMAT (pack 1) */
+    TEST_TYPE_SIZE   (PCMWAVEFORMAT, 16)
+    TEST_TYPE_ALIGN  (PCMWAVEFORMAT, 1)
+    TEST_FIELD_SIZE  (PCMWAVEFORMAT, wf, 14)
+    TEST_FIELD_ALIGN (PCMWAVEFORMAT, wf, 1)
+    TEST_FIELD_OFFSET(PCMWAVEFORMAT, wf, 0)
+    TEST_FIELD_SIZE  (PCMWAVEFORMAT, wBitsPerSample, 2)
+    TEST_FIELD_ALIGN (PCMWAVEFORMAT, wBitsPerSample, 1)
+    TEST_FIELD_OFFSET(PCMWAVEFORMAT, wBitsPerSample, 14)
+}
+
+static void test_pack_WAVEFORMATEX(void)
+{
+    /* WAVEFORMATEX (pack 1) */
+    TEST_TYPE_SIZE   (WAVEFORMATEX, 18)
+    TEST_TYPE_ALIGN  (WAVEFORMATEX, 1)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, wFormatTag, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, wFormatTag, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, wFormatTag, 0)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, nChannels, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, nChannels, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, nChannels, 2)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, nSamplesPerSec, 4)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, nSamplesPerSec, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, nSamplesPerSec, 4)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, nAvgBytesPerSec, 4)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, nAvgBytesPerSec, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, nAvgBytesPerSec, 8)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, nBlockAlign, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, nBlockAlign, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, nBlockAlign, 12)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, wBitsPerSample, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, wBitsPerSample, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, wBitsPerSample, 14)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, cbSize, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, cbSize, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, cbSize, 16)
+}
+
+static void test_pack_MIDIOUTCAPSA(void)
+{
+    /* MIDIOUTCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (MIDIOUTCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIOUTCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIOUTCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIOUTCAPSW(void)
+{
+    /* MIDIOUTCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (MIDIOUTCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIOUTCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIOUTCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIOUTCAPS2A(void)
+{
+    /* MIDIOUTCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIOUTCAPS2W(void)
+{
+    /* MIDIOUTCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIINCAPSA(void)
+{
+    /* MIDIINCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (MIDIINCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIINCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIINCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIINCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIINCAPSW(void)
+{
+    /* MIDIINCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (MIDIINCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIINCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIINCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIINCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIINCAPS2A(void)
+{
+    /* MIDIINCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (MIDIINCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIINCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIINCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIINCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIINCAPS2W(void)
+{
+    /* MIDIINCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (MIDIINCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIINCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIINCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIINCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIHDR(void)
+{
+    /* MIDIHDR (pack 1) */
+    TEST_TYPE_SIZE   (MIDIHDR, 112)
+    TEST_TYPE_ALIGN  (MIDIHDR, 1)
+    TEST_FIELD_SIZE  (MIDIHDR, lpData, 8)
+    TEST_FIELD_ALIGN (MIDIHDR, lpData, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, lpData, 0)
+    TEST_FIELD_SIZE  (MIDIHDR, dwBufferLength, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwBufferLength, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwBufferLength, 8)
+    TEST_FIELD_SIZE  (MIDIHDR, dwBytesRecorded, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwBytesRecorded, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwBytesRecorded, 12)
+    TEST_FIELD_SIZE  (MIDIHDR, dwUser, 8)
+    TEST_FIELD_ALIGN (MIDIHDR, dwUser, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwUser, 16)
+    TEST_FIELD_SIZE  (MIDIHDR, dwFlags, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwFlags, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwFlags, 24)
+    TEST_FIELD_SIZE  (MIDIHDR, lpNext, 8)
+    TEST_FIELD_ALIGN (MIDIHDR, lpNext, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, lpNext, 28)
+    TEST_FIELD_SIZE  (MIDIHDR, reserved, 8)
+    TEST_FIELD_ALIGN (MIDIHDR, reserved, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, reserved, 36)
+    TEST_FIELD_SIZE  (MIDIHDR, dwOffset, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwOffset, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwOffset, 44)
+    TEST_FIELD_SIZE  (MIDIHDR, dwReserved, 64)
+    TEST_FIELD_ALIGN (MIDIHDR, dwReserved, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwReserved, 48)
+}
+
+static void test_pack_MIDIEVENT(void)
+{
+    /* MIDIEVENT (pack 1) */
+    TEST_TYPE_SIZE   (MIDIEVENT, 16)
+    TEST_TYPE_ALIGN  (MIDIEVENT, 1)
+    TEST_FIELD_SIZE  (MIDIEVENT, dwDeltaTime, 4)
+    TEST_FIELD_ALIGN (MIDIEVENT, dwDeltaTime, 1)
+    TEST_FIELD_OFFSET(MIDIEVENT, dwDeltaTime, 0)
+    TEST_FIELD_SIZE  (MIDIEVENT, dwStreamID, 4)
+    TEST_FIELD_ALIGN (MIDIEVENT, dwStreamID, 1)
+    TEST_FIELD_OFFSET(MIDIEVENT, dwStreamID, 4)
+    TEST_FIELD_SIZE  (MIDIEVENT, dwEvent, 4)
+    TEST_FIELD_ALIGN (MIDIEVENT, dwEvent, 1)
+    TEST_FIELD_OFFSET(MIDIEVENT, dwEvent, 8)
+    TEST_FIELD_SIZE  (MIDIEVENT, dwParms, 4)
+    TEST_FIELD_ALIGN (MIDIEVENT, dwParms, 1)
+    TEST_FIELD_OFFSET(MIDIEVENT, dwParms, 12)
+}
+
+static void test_pack_AUXCAPSA(void)
+{
+    /* AUXCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (AUXCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (AUXCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(AUXCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (AUXCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (AUXCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(AUXCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (AUXCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (AUXCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(AUXCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_AUXCAPSW(void)
+{
+    /* AUXCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (AUXCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (AUXCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(AUXCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (AUXCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (AUXCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(AUXCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (AUXCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (AUXCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(AUXCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_AUXCAPS2A(void)
+{
+    /* AUXCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (AUXCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (AUXCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (AUXCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (AUXCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (AUXCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (AUXCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_AUXCAPS2W(void)
+{
+    /* AUXCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (AUXCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (AUXCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (AUXCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (AUXCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (AUXCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (AUXCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_TIMECAPS(void)
+{
+    /* TIMECAPS (pack 1) */
+    TEST_TYPE_SIZE   (TIMECAPS, 8)
+    TEST_TYPE_ALIGN  (TIMECAPS, 1)
+    TEST_FIELD_SIZE  (TIMECAPS, wPeriodMin, 4)
+    TEST_FIELD_ALIGN (TIMECAPS, wPeriodMin, 1)
+    TEST_FIELD_OFFSET(TIMECAPS, wPeriodMin, 0)
+    TEST_FIELD_SIZE  (TIMECAPS, wPeriodMax, 4)
+    TEST_FIELD_ALIGN (TIMECAPS, wPeriodMax, 1)
+    TEST_FIELD_OFFSET(TIMECAPS, wPeriodMax, 4)
+}
+
+static void test_pack_JOYCAPSA(void)
+{
+    /* JOYCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (JOYCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (JOYCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(JOYCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (JOYCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (JOYCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(JOYCAPSA, wPid, 2)
+}
+
+static void test_pack_JOYCAPSW(void)
+{
+    /* JOYCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (JOYCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (JOYCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(JOYCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (JOYCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (JOYCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(JOYCAPSW, wPid, 2)
+}
+
+static void test_pack_JOYCAPS2A(void)
+{
+    /* JOYCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (JOYCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (JOYCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(JOYCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (JOYCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (JOYCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(JOYCAPS2A, wPid, 2)
+}
+
+static void test_pack_JOYCAPS2W(void)
+{
+    /* JOYCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (JOYCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (JOYCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(JOYCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (JOYCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (JOYCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(JOYCAPS2W, wPid, 2)
+}
+
+static void test_pack_JOYINFO(void)
+{
+    /* JOYINFO (pack 1) */
+    TEST_TYPE_SIZE   (JOYINFO, 16)
+    TEST_TYPE_ALIGN  (JOYINFO, 1)
+    TEST_FIELD_SIZE  (JOYINFO, wXpos, 4)
+    TEST_FIELD_ALIGN (JOYINFO, wXpos, 1)
+    TEST_FIELD_OFFSET(JOYINFO, wXpos, 0)
+    TEST_FIELD_SIZE  (JOYINFO, wYpos, 4)
+    TEST_FIELD_ALIGN (JOYINFO, wYpos, 1)
+    TEST_FIELD_OFFSET(JOYINFO, wYpos, 4)
+    TEST_FIELD_SIZE  (JOYINFO, wZpos, 4)
+    TEST_FIELD_ALIGN (JOYINFO, wZpos, 1)
+    TEST_FIELD_OFFSET(JOYINFO, wZpos, 8)
+    TEST_FIELD_SIZE  (JOYINFO, wButtons, 4)
+    TEST_FIELD_ALIGN (JOYINFO, wButtons, 1)
+    TEST_FIELD_OFFSET(JOYINFO, wButtons, 12)
+}
+
+static void test_pack_JOYINFOEX(void)
+{
+    /* JOYINFOEX (pack 1) */
+    TEST_TYPE_SIZE   (JOYINFOEX, 52)
+    TEST_TYPE_ALIGN  (JOYINFOEX, 1)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwSize, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwSize, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwSize, 0)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwFlags, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwFlags, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwFlags, 4)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwXpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwXpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwXpos, 8)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwYpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwYpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwYpos, 12)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwZpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwZpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwZpos, 16)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwRpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwRpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwRpos, 20)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwUpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwUpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwUpos, 24)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwVpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwVpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwVpos, 28)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwButtons, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwButtons, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwButtons, 32)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwButtonNumber, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwButtonNumber, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwButtonNumber, 36)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwPOV, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwPOV, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwPOV, 40)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwReserved1, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwReserved1, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwReserved1, 44)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwReserved2, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwReserved2, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwReserved2, 48)
+}
+
+static void test_pack_MIXERCAPSA(void)
+{
+    /* MIXERCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (MIXERCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (MIXERCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIXERCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_MIXERCAPSW(void)
+{
+    /* MIXERCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (MIXERCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (MIXERCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIXERCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_MIXERCAPS2A(void)
+{
+    /* MIXERCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (MIXERCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (MIXERCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIXERCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_MIXERCAPS2W(void)
+{
+    /* MIXERCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (MIXERCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (MIXERCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIXERCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_MIXERLINEA(void)
+{
+    /* MIXERLINEA (pack 1) */
+    TEST_FIELD_SIZE  (MIXERLINEA, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwDestination, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwDestination, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwDestination, 4)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwSource, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwSource, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwSource, 8)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwLineID, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwLineID, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwLineID, 12)
+    TEST_FIELD_SIZE  (MIXERLINEA, fdwLine, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, fdwLine, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, fdwLine, 16)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwUser, 8)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwUser, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwUser, 20)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwComponentType, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwComponentType, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwComponentType, 28)
+    TEST_FIELD_SIZE  (MIXERLINEA, cChannels, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, cChannels, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, cChannels, 32)
+    TEST_FIELD_SIZE  (MIXERLINEA, cConnections, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, cConnections, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, cConnections, 36)
+    TEST_FIELD_SIZE  (MIXERLINEA, cControls, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, cControls, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, cControls, 40)
+}
+
+static void test_pack_MIXERLINEW(void)
+{
+    /* MIXERLINEW (pack 1) */
+    TEST_FIELD_SIZE  (MIXERLINEW, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwDestination, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwDestination, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwDestination, 4)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwSource, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwSource, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwSource, 8)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwLineID, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwLineID, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwLineID, 12)
+    TEST_FIELD_SIZE  (MIXERLINEW, fdwLine, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, fdwLine, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, fdwLine, 16)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwUser, 8)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwUser, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwUser, 20)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwComponentType, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwComponentType, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwComponentType, 28)
+    TEST_FIELD_SIZE  (MIXERLINEW, cChannels, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, cChannels, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, cChannels, 32)
+    TEST_FIELD_SIZE  (MIXERLINEW, cConnections, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, cConnections, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, cConnections, 36)
+    TEST_FIELD_SIZE  (MIXERLINEW, cControls, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, cControls, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, cControls, 40)
+}
+
+static void test_pack_MIXERCONTROLA(void)
+{
+    /* MIXERCONTROLA (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLA, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLA, dwControlID, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, dwControlID, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, dwControlID, 4)
+    TEST_FIELD_SIZE  (MIXERCONTROLA, dwControlType, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, dwControlType, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, dwControlType, 8)
+    TEST_FIELD_SIZE  (MIXERCONTROLA, fdwControl, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, fdwControl, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, fdwControl, 12)
+    TEST_FIELD_SIZE  (MIXERCONTROLA, cMultipleItems, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, cMultipleItems, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, cMultipleItems, 16)
+}
+
+static void test_pack_MIXERCONTROLW(void)
+{
+    /* MIXERCONTROLW (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLW, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLW, dwControlID, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, dwControlID, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, dwControlID, 4)
+    TEST_FIELD_SIZE  (MIXERCONTROLW, dwControlType, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, dwControlType, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, dwControlType, 8)
+    TEST_FIELD_SIZE  (MIXERCONTROLW, fdwControl, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, fdwControl, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, fdwControl, 12)
+    TEST_FIELD_SIZE  (MIXERCONTROLW, cMultipleItems, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, cMultipleItems, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, cMultipleItems, 16)
+}
+
+static void test_pack_MIXERCONTROLDETAILS(void)
+{
+    /* MIXERCONTROLDETAILS (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, dwControlID, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, dwControlID, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, dwControlID, 4)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, cChannels, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, cChannels, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, cChannels, 8)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_LISTTEXTA(void)
+{
+    /* MIXERCONTROLDETAILS_LISTTEXTA (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 4)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_LISTTEXTW(void)
+{
+    /* MIXERCONTROLDETAILS_LISTTEXTW (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 4)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_BOOLEAN(void)
+{
+    /* MIXERCONTROLDETAILS_BOOLEAN (pack 1) */
+    TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_BOOLEAN, 4)
+    TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_BOOLEAN, 1)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_BOOLEAN, fValue, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_BOOLEAN, fValue, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_BOOLEAN, fValue, 0)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_SIGNED(void)
+{
+    /* MIXERCONTROLDETAILS_SIGNED (pack 1) */
+    TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_SIGNED, 4)
+    TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_SIGNED, 1)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_SIGNED, lValue, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_SIGNED, lValue, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_SIGNED, lValue, 0)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_UNSIGNED(void)
+{
+    /* MIXERCONTROLDETAILS_UNSIGNED (pack 1) */
+    TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_UNSIGNED, 4)
+    TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_UNSIGNED, 1)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_UNSIGNED, dwValue, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_UNSIGNED, dwValue, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_UNSIGNED, dwValue, 0)
+}
+
+static void test_pack_MMIOINFO(void)
+{
+    /* MMIOINFO (pack 1) */
+    TEST_FIELD_SIZE  (MMIOINFO, dwFlags, 4)
+    TEST_FIELD_ALIGN (MMIOINFO, dwFlags, 1)
+    TEST_FIELD_OFFSET(MMIOINFO, dwFlags, 0)
+    TEST_FIELD_SIZE  (MMIOINFO, fccIOProc, 4)
+    TEST_FIELD_ALIGN (MMIOINFO, fccIOProc, 1)
+    TEST_FIELD_OFFSET(MMIOINFO, fccIOProc, 4)
+    TEST_FIELD_SIZE  (MMIOINFO, pIOProc, 8)
+    TEST_FIELD_ALIGN (MMIOINFO, pIOProc, 1)
+    TEST_FIELD_OFFSET(MMIOINFO, pIOProc, 8)
+    TEST_FIELD_SIZE  (MMIOINFO, wErrorRet, 4)
+    TEST_FIELD_ALIGN (MMIOINFO, wErrorRet, 1)
+    TEST_FIELD_OFFSET(MMIOINFO, wErrorRet, 16)
+}
+
+static void test_pack_MMCKINFO(void)
+{
+    /* MMCKINFO (pack 1) */
+    TEST_TYPE_SIZE   (MMCKINFO, 20)
+    TEST_TYPE_ALIGN  (MMCKINFO, 1)
+    TEST_FIELD_SIZE  (MMCKINFO, ckid, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, ckid, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, ckid, 0)
+    TEST_FIELD_SIZE  (MMCKINFO, cksize, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, cksize, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, cksize, 4)
+    TEST_FIELD_SIZE  (MMCKINFO, fccType, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, fccType, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, fccType, 8)
+    TEST_FIELD_SIZE  (MMCKINFO, dwDataOffset, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, dwDataOffset, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, dwDataOffset, 12)
+    TEST_FIELD_SIZE  (MMCKINFO, dwFlags, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, dwFlags, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, dwFlags, 16)
+}
+
+static void test_pack_MCI_GENERIC_PARMS(void)
+{
+    /* MCI_GENERIC_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_GENERIC_PARMS, 8)
+    TEST_TYPE_ALIGN  (MCI_GENERIC_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_GENERIC_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_GENERIC_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_GENERIC_PARMS, dwCallback, 0)
+}
+
+static void test_pack_MCI_OPEN_PARMSA(void)
+{
+    /* MCI_OPEN_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OPEN_PARMSA, 36)
+    TEST_TYPE_ALIGN  (MCI_OPEN_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, wDeviceID, 8)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrDeviceType, 8)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrDeviceType, 12)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrElementName, 8)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrElementName, 20)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrAlias, 8)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrAlias, 28)
+}
+
+static void test_pack_MCI_OPEN_PARMSW(void)
+{
+    /* MCI_OPEN_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OPEN_PARMSW, 36)
+    TEST_TYPE_ALIGN  (MCI_OPEN_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, wDeviceID, 8)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrDeviceType, 8)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrDeviceType, 12)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrElementName, 8)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrElementName, 20)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrAlias, 8)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrAlias, 28)
+}
+
+static void test_pack_MCI_PLAY_PARMS(void)
+{
+    /* MCI_PLAY_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_PLAY_PARMS, 16)
+    TEST_TYPE_ALIGN  (MCI_PLAY_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwFrom, 8)
+    TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwTo, 12)
+}
+
+static void test_pack_MCI_SEEK_PARMS(void)
+{
+    /* MCI_SEEK_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SEEK_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_SEEK_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_SEEK_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SEEK_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SEEK_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SEEK_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_SEEK_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_SEEK_PARMS, dwTo, 8)
+}
+
+static void test_pack_MCI_STATUS_PARMS(void)
+{
+    /* MCI_STATUS_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_STATUS_PARMS, 24)
+    TEST_TYPE_ALIGN  (MCI_STATUS_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwReturn, 8)
+    TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwReturn, 1)
+    TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwReturn, 8)
+    TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwItem, 4)
+    TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwItem, 1)
+    TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwItem, 16)
+    TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwTrack, 4)
+    TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwTrack, 1)
+    TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwTrack, 20)
+}
+
+static void test_pack_MCI_INFO_PARMSA(void)
+{
+    /* MCI_INFO_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_INFO_PARMSA, 20)
+    TEST_TYPE_ALIGN  (MCI_INFO_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSA, lpstrReturn, 8)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSA, lpstrReturn, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSA, lpstrReturn, 8)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSA, dwRetSize, 4)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSA, dwRetSize, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSA, dwRetSize, 16)
+}
+
+static void test_pack_MCI_INFO_PARMSW(void)
+{
+    /* MCI_INFO_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_INFO_PARMSW, 20)
+    TEST_TYPE_ALIGN  (MCI_INFO_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSW, lpstrReturn, 8)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSW, lpstrReturn, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSW, lpstrReturn, 8)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSW, dwRetSize, 4)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSW, dwRetSize, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSW, dwRetSize, 16)
+}
+
+static void test_pack_MCI_GETDEVCAPS_PARMS(void)
+{
+    /* MCI_GETDEVCAPS_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_GETDEVCAPS_PARMS, 16)
+    TEST_TYPE_ALIGN  (MCI_GETDEVCAPS_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwReturn, 4)
+    TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwReturn, 1)
+    TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwReturn, 8)
+    TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwItem, 4)
+    TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwItem, 1)
+    TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwItem, 12)
+}
+
+static void test_pack_MCI_SYSINFO_PARMSA(void)
+{
+    /* MCI_SYSINFO_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SYSINFO_PARMSA, 28)
+    TEST_TYPE_ALIGN  (MCI_SYSINFO_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, lpstrReturn, 8)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, lpstrReturn, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, lpstrReturn, 8)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwRetSize, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwRetSize, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwRetSize, 16)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwNumber, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwNumber, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwNumber, 20)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, wDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, wDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, wDeviceType, 24)
+}
+
+static void test_pack_MCI_SYSINFO_PARMSW(void)
+{
+    /* MCI_SYSINFO_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SYSINFO_PARMSW, 28)
+    TEST_TYPE_ALIGN  (MCI_SYSINFO_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, lpstrReturn, 8)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, lpstrReturn, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, lpstrReturn, 8)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwRetSize, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwRetSize, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwRetSize, 16)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwNumber, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwNumber, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwNumber, 20)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, wDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, wDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, wDeviceType, 24)
+}
+
+static void test_pack_MCI_SET_PARMS(void)
+{
+    /* MCI_SET_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SET_PARMS, 16)
+    TEST_TYPE_ALIGN  (MCI_SET_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_SET_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SET_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SET_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_ALIGN (MCI_SET_PARMS, dwTimeFormat, 1)
+    TEST_FIELD_OFFSET(MCI_SET_PARMS, dwTimeFormat, 8)
+    TEST_FIELD_SIZE  (MCI_SET_PARMS, dwAudio, 4)
+    TEST_FIELD_ALIGN (MCI_SET_PARMS, dwAudio, 1)
+    TEST_FIELD_OFFSET(MCI_SET_PARMS, dwAudio, 12)
+}
+
+static void test_pack_MCI_BREAK_PARMS(void)
+{
+    /* MCI_BREAK_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_BREAK_PARMS, 20)
+    TEST_TYPE_ALIGN  (MCI_BREAK_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_BREAK_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_BREAK_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_BREAK_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_BREAK_PARMS, nVirtKey, 4)
+    TEST_FIELD_ALIGN (MCI_BREAK_PARMS, nVirtKey, 1)
+    TEST_FIELD_OFFSET(MCI_BREAK_PARMS, nVirtKey, 8)
+    TEST_FIELD_SIZE  (MCI_BREAK_PARMS, hwndBreak, 8)
+    TEST_FIELD_ALIGN (MCI_BREAK_PARMS, hwndBreak, 1)
+    TEST_FIELD_OFFSET(MCI_BREAK_PARMS, hwndBreak, 12)
+}
+
+static void test_pack_MCI_SOUND_PARMSA(void)
+{
+    /* MCI_SOUND_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SOUND_PARMSA, 16)
+    TEST_TYPE_ALIGN  (MCI_SOUND_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_SOUND_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SOUND_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SOUND_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SOUND_PARMSA, lpstrSoundName, 8)
+    TEST_FIELD_ALIGN (MCI_SOUND_PARMSA, lpstrSoundName, 1)
+    TEST_FIELD_OFFSET(MCI_SOUND_PARMSA, lpstrSoundName, 8)
+}
+
+static void test_pack_MCI_SOUND_PARMSW(void)
+{
+    /* MCI_SOUND_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SOUND_PARMSW, 16)
+    TEST_TYPE_ALIGN  (MCI_SOUND_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_SOUND_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SOUND_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SOUND_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SOUND_PARMSW, lpstrSoundName, 8)
+    TEST_FIELD_ALIGN (MCI_SOUND_PARMSW, lpstrSoundName, 1)
+    TEST_FIELD_OFFSET(MCI_SOUND_PARMSW, lpstrSoundName, 8)
+}
+
+static void test_pack_MCI_SAVE_PARMSA(void)
+{
+    /* MCI_SAVE_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SAVE_PARMSA, 16)
+    TEST_TYPE_ALIGN  (MCI_SAVE_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_SAVE_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SAVE_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SAVE_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SAVE_PARMSA, lpfilename, 8)
+    TEST_FIELD_ALIGN (MCI_SAVE_PARMSA, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_SAVE_PARMSA, lpfilename, 8)
+}
+
+static void test_pack_MCI_SAVE_PARMSW(void)
+{
+    /* MCI_SAVE_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SAVE_PARMSW, 16)
+    TEST_TYPE_ALIGN  (MCI_SAVE_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_SAVE_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SAVE_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SAVE_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SAVE_PARMSW, lpfilename, 8)
+    TEST_FIELD_ALIGN (MCI_SAVE_PARMSW, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_SAVE_PARMSW, lpfilename, 8)
+}
+
+static void test_pack_MCI_LOAD_PARMSA(void)
+{
+    /* MCI_LOAD_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_LOAD_PARMSA, 16)
+    TEST_TYPE_ALIGN  (MCI_LOAD_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_LOAD_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_LOAD_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_LOAD_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_LOAD_PARMSA, lpfilename, 8)
+    TEST_FIELD_ALIGN (MCI_LOAD_PARMSA, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_LOAD_PARMSA, lpfilename, 8)
+}
+
+static void test_pack_MCI_LOAD_PARMSW(void)
+{
+    /* MCI_LOAD_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_LOAD_PARMSW, 16)
+    TEST_TYPE_ALIGN  (MCI_LOAD_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_LOAD_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_LOAD_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_LOAD_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_LOAD_PARMSW, lpfilename, 8)
+    TEST_FIELD_ALIGN (MCI_LOAD_PARMSW, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_LOAD_PARMSW, lpfilename, 8)
+}
+
+static void test_pack_MCI_RECORD_PARMS(void)
+{
+    /* MCI_RECORD_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_RECORD_PARMS, 16)
+    TEST_TYPE_ALIGN  (MCI_RECORD_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwFrom, 8)
+    TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwTo, 12)
+}
+
+static void test_pack_MCI_VD_PLAY_PARMS(void)
+{
+    /* MCI_VD_PLAY_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_VD_PLAY_PARMS, 20)
+    TEST_TYPE_ALIGN  (MCI_VD_PLAY_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwFrom, 8)
+    TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwTo, 12)
+    TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwSpeed, 4)
+    TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwSpeed, 1)
+    TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwSpeed, 16)
+}
+
+static void test_pack_MCI_VD_STEP_PARMS(void)
+{
+    /* MCI_VD_STEP_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_VD_STEP_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_VD_STEP_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_VD_STEP_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_VD_STEP_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_VD_STEP_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_VD_STEP_PARMS, dwFrames, 4)
+    TEST_FIELD_ALIGN (MCI_VD_STEP_PARMS, dwFrames, 1)
+    TEST_FIELD_OFFSET(MCI_VD_STEP_PARMS, dwFrames, 8)
+}
+
+static void test_pack_MCI_VD_ESCAPE_PARMSA(void)
+{
+    /* MCI_VD_ESCAPE_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_VD_ESCAPE_PARMSA, 16)
+    TEST_TYPE_ALIGN  (MCI_VD_ESCAPE_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSA, lpstrCommand, 8)
+    TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSA, lpstrCommand, 1)
+    TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSA, lpstrCommand, 8)
+}
+
+static void test_pack_MCI_VD_ESCAPE_PARMSW(void)
+{
+    /* MCI_VD_ESCAPE_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_VD_ESCAPE_PARMSW, 16)
+    TEST_TYPE_ALIGN  (MCI_VD_ESCAPE_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSW, lpstrCommand, 8)
+    TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSW, lpstrCommand, 1)
+    TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSW, lpstrCommand, 8)
+}
+
+static void test_pack_MCI_WAVE_OPEN_PARMSA(void)
+{
+    /* MCI_WAVE_OPEN_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_WAVE_OPEN_PARMSA, 40)
+    TEST_TYPE_ALIGN  (MCI_WAVE_OPEN_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, wDeviceID, 8)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 12)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrElementName, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrElementName, 20)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrAlias, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrAlias, 28)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 36)
+}
+
+static void test_pack_MCI_WAVE_OPEN_PARMSW(void)
+{
+    /* MCI_WAVE_OPEN_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_WAVE_OPEN_PARMSW, 40)
+    TEST_TYPE_ALIGN  (MCI_WAVE_OPEN_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, wDeviceID, 8)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 12)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrElementName, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrElementName, 20)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrAlias, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrAlias, 28)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 36)
+}
+
+static void test_pack_MCI_WAVE_DELETE_PARMS(void)
+{
+    /* MCI_WAVE_DELETE_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_WAVE_DELETE_PARMS, 16)
+    TEST_TYPE_ALIGN  (MCI_WAVE_DELETE_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwFrom, 8)
+    TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwTo, 12)
+}
+
+static void test_pack_MCI_WAVE_SET_PARMS(void)
+{
+    /* MCI_WAVE_SET_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_WAVE_SET_PARMS, 48)
+    TEST_TYPE_ALIGN  (MCI_WAVE_SET_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwTimeFormat, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwTimeFormat, 8)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwAudio, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwAudio, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwAudio, 12)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wInput, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wInput, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wInput, 16)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wOutput, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wOutput, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wOutput, 20)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wFormatTag, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wFormatTag, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wFormatTag, 24)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nChannels, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nChannels, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nChannels, 28)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nSamplesPerSec, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nSamplesPerSec, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nSamplesPerSec, 32)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 36)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nBlockAlign, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nBlockAlign, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nBlockAlign, 40)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wBitsPerSample, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wBitsPerSample, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wBitsPerSample, 44)
+}
+
+static void test_pack_MCI_SEQ_SET_PARMS(void)
+{
+    /* MCI_SEQ_SET_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SEQ_SET_PARMS, 36)
+    TEST_TYPE_ALIGN  (MCI_SEQ_SET_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwTimeFormat, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwTimeFormat, 8)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwAudio, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwAudio, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwAudio, 12)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwTempo, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwTempo, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwTempo, 16)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwPort, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwPort, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwPort, 20)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwSlave, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwSlave, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwSlave, 24)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwMaster, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwMaster, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwMaster, 28)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwOffset, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwOffset, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwOffset, 32)
+}
+
+static void test_pack_MCI_ANIM_OPEN_PARMSA(void)
+{
+    /* MCI_ANIM_OPEN_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_OPEN_PARMSA, 48)
+    TEST_TYPE_ALIGN  (MCI_ANIM_OPEN_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, wDeviceID, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 12)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrElementName, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrElementName, 20)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrAlias, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrAlias, 28)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, dwStyle, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, dwStyle, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, dwStyle, 36)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, hWndParent, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, hWndParent, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, hWndParent, 40)
+}
+
+static void test_pack_MCI_ANIM_OPEN_PARMSW(void)
+{
+    /* MCI_ANIM_OPEN_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_OPEN_PARMSW, 48)
+    TEST_TYPE_ALIGN  (MCI_ANIM_OPEN_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, wDeviceID, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 12)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrElementName, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrElementName, 20)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrAlias, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrAlias, 28)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, dwStyle, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, dwStyle, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, dwStyle, 36)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, hWndParent, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, hWndParent, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, hWndParent, 40)
+}
+
+static void test_pack_MCI_ANIM_PLAY_PARMS(void)
+{
+    /* MCI_ANIM_PLAY_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_PLAY_PARMS, 20)
+    TEST_TYPE_ALIGN  (MCI_ANIM_PLAY_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwFrom, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwTo, 12)
+    TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwSpeed, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwSpeed, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwSpeed, 16)
+}
+
+static void test_pack_MCI_ANIM_STEP_PARMS(void)
+{
+    /* MCI_ANIM_STEP_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_STEP_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_ANIM_STEP_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_STEP_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_STEP_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_STEP_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_STEP_PARMS, dwFrames, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_STEP_PARMS, dwFrames, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_STEP_PARMS, dwFrames, 8)
+}
+
+static void test_pack_MCI_ANIM_WINDOW_PARMSA(void)
+{
+    /* MCI_ANIM_WINDOW_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_WINDOW_PARMSA, 28)
+    TEST_TYPE_ALIGN  (MCI_ANIM_WINDOW_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, hWnd, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, hWnd, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, hWnd, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, nCmdShow, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, nCmdShow, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, nCmdShow, 16)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, lpstrText, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, lpstrText, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, lpstrText, 20)
+}
+
+static void test_pack_MCI_ANIM_WINDOW_PARMSW(void)
+{
+    /* MCI_ANIM_WINDOW_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_WINDOW_PARMSW, 28)
+    TEST_TYPE_ALIGN  (MCI_ANIM_WINDOW_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, hWnd, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, hWnd, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, hWnd, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, nCmdShow, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, nCmdShow, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, nCmdShow, 16)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, lpstrText, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, lpstrText, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, lpstrText, 20)
+}
+
+static void test_pack_MCI_ANIM_UPDATE_PARMS(void)
+{
+    /* MCI_ANIM_UPDATE_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_UPDATE_PARMS, 32)
+    TEST_TYPE_ALIGN  (MCI_ANIM_UPDATE_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, rc, 16)
+    TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, rc, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, rc, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, hDC, 8)
+    TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, hDC, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, hDC, 24)
+}
+
+static void test_pack_MCI_OVLY_OPEN_PARMSA(void)
+{
+    /* MCI_OVLY_OPEN_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_OPEN_PARMSA, 48)
+    TEST_TYPE_ALIGN  (MCI_OVLY_OPEN_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, wDeviceID, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 12)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrElementName, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrElementName, 20)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrAlias, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrAlias, 28)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, dwStyle, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, dwStyle, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, dwStyle, 36)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, hWndParent, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, hWndParent, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, hWndParent, 40)
+}
+
+static void test_pack_MCI_OVLY_OPEN_PARMSW(void)
+{
+    /* MCI_OVLY_OPEN_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_OPEN_PARMSW, 48)
+    TEST_TYPE_ALIGN  (MCI_OVLY_OPEN_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, wDeviceID, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 12)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrElementName, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrElementName, 20)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrAlias, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrAlias, 28)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, dwStyle, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, dwStyle, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, dwStyle, 36)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, hWndParent, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, hWndParent, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, hWndParent, 40)
+}
+
+static void test_pack_MCI_OVLY_WINDOW_PARMSA(void)
+{
+    /* MCI_OVLY_WINDOW_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_WINDOW_PARMSA, 28)
+    TEST_TYPE_ALIGN  (MCI_OVLY_WINDOW_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, hWnd, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, hWnd, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, hWnd, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, nCmdShow, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, nCmdShow, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, nCmdShow, 16)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, lpstrText, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, lpstrText, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, lpstrText, 20)
+}
+
+static void test_pack_MCI_OVLY_WINDOW_PARMSW(void)
+{
+    /* MCI_OVLY_WINDOW_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_WINDOW_PARMSW, 28)
+    TEST_TYPE_ALIGN  (MCI_OVLY_WINDOW_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, hWnd, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, hWnd, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, hWnd, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, nCmdShow, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, nCmdShow, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, nCmdShow, 16)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, lpstrText, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, lpstrText, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, lpstrText, 20)
+}
+
+static void test_pack_MCI_OVLY_SAVE_PARMSA(void)
+{
+    /* MCI_OVLY_SAVE_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_SAVE_PARMSA, 32)
+    TEST_TYPE_ALIGN  (MCI_OVLY_SAVE_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, lpfilename, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, lpfilename, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, rc, 16)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, rc, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, rc, 16)
+}
+
+static void test_pack_MCI_OVLY_SAVE_PARMSW(void)
+{
+    /* MCI_OVLY_SAVE_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_SAVE_PARMSW, 32)
+    TEST_TYPE_ALIGN  (MCI_OVLY_SAVE_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, lpfilename, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, lpfilename, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, rc, 16)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, rc, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, rc, 16)
+}
+
+static void test_pack_MCI_OVLY_LOAD_PARMSA(void)
+{
+    /* MCI_OVLY_LOAD_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_LOAD_PARMSA, 32)
+    TEST_TYPE_ALIGN  (MCI_OVLY_LOAD_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, lpfilename, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, lpfilename, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, rc, 16)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, rc, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, rc, 16)
+}
+
+static void test_pack_MCI_OVLY_LOAD_PARMSW(void)
+{
+    /* MCI_OVLY_LOAD_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_LOAD_PARMSW, 32)
+    TEST_TYPE_ALIGN  (MCI_OVLY_LOAD_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, dwCallback, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, lpfilename, 8)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, lpfilename, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, rc, 16)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, rc, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, rc, 16)
+}
+
+#else /* _WIN64 */
+
+static void test_pack_MMTIME(void)
+{
+    /* MMTIME (pack 1) */
+    TEST_FIELD_SIZE  (MMTIME, wType, 4)
+    TEST_FIELD_ALIGN (MMTIME, wType, 1)
+    TEST_FIELD_OFFSET(MMTIME, wType, 0)
+}
+
+static void test_pack_DRVCONFIGINFO(void)
+{
+    /* DRVCONFIGINFO (pack 1) */
+    TEST_TYPE_SIZE   (DRVCONFIGINFO, 12)
+    TEST_TYPE_ALIGN  (DRVCONFIGINFO, 1)
+    TEST_FIELD_SIZE  (DRVCONFIGINFO, dwDCISize, 4)
+    TEST_FIELD_ALIGN (DRVCONFIGINFO, dwDCISize, 1)
+    TEST_FIELD_OFFSET(DRVCONFIGINFO, dwDCISize, 0)
+    TEST_FIELD_SIZE  (DRVCONFIGINFO, lpszDCISectionName, 4)
+    TEST_FIELD_ALIGN (DRVCONFIGINFO, lpszDCISectionName, 1)
+    TEST_FIELD_OFFSET(DRVCONFIGINFO, lpszDCISectionName, 4)
+    TEST_FIELD_SIZE  (DRVCONFIGINFO, lpszDCIAliasName, 4)
+    TEST_FIELD_ALIGN (DRVCONFIGINFO, lpszDCIAliasName, 1)
+    TEST_FIELD_OFFSET(DRVCONFIGINFO, lpszDCIAliasName, 8)
+}
+
+static void test_pack_WAVEHDR(void)
+{
+    /* WAVEHDR (pack 1) */
+    TEST_TYPE_SIZE   (WAVEHDR, 32)
+    TEST_TYPE_ALIGN  (WAVEHDR, 1)
+    TEST_FIELD_SIZE  (WAVEHDR, lpData, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, lpData, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, lpData, 0)
+    TEST_FIELD_SIZE  (WAVEHDR, dwBufferLength, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwBufferLength, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwBufferLength, 4)
+    TEST_FIELD_SIZE  (WAVEHDR, dwBytesRecorded, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwBytesRecorded, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwBytesRecorded, 8)
+    TEST_FIELD_SIZE  (WAVEHDR, dwUser, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwUser, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwUser, 12)
+    TEST_FIELD_SIZE  (WAVEHDR, dwFlags, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwFlags, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwFlags, 16)
+    TEST_FIELD_SIZE  (WAVEHDR, dwLoops, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, dwLoops, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, dwLoops, 20)
+    TEST_FIELD_SIZE  (WAVEHDR, lpNext, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, lpNext, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, lpNext, 24)
+    TEST_FIELD_SIZE  (WAVEHDR, reserved, 4)
+    TEST_FIELD_ALIGN (WAVEHDR, reserved, 1)
+    TEST_FIELD_OFFSET(WAVEHDR, reserved, 28)
+}
+
+static void test_pack_WAVEOUTCAPSA(void)
+{
+    /* WAVEOUTCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (WAVEOUTCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEOUTCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEOUTCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEOUTCAPSW(void)
+{
+    /* WAVEOUTCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (WAVEOUTCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEOUTCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEOUTCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEOUTCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEOUTCAPS2A(void)
+{
+    /* WAVEOUTCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEOUTCAPS2W(void)
+{
+    /* WAVEOUTCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEOUTCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEOUTCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEOUTCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEINCAPSA(void)
+{
+    /* WAVEINCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (WAVEINCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEINCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEINCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEINCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEINCAPSW(void)
+{
+    /* WAVEINCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (WAVEINCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEINCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEINCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEINCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEINCAPS2A(void)
+{
+    /* WAVEINCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (WAVEINCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEINCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEINCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEINCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEINCAPS2W(void)
+{
+    /* WAVEINCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (WAVEINCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (WAVEINCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (WAVEINCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (WAVEINCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (WAVEINCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(WAVEINCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_WAVEFORMAT(void)
+{
+    /* WAVEFORMAT (pack 1) */
+    TEST_TYPE_SIZE   (WAVEFORMAT, 14)
+    TEST_TYPE_ALIGN  (WAVEFORMAT, 1)
+    TEST_FIELD_SIZE  (WAVEFORMAT, wFormatTag, 2)
+    TEST_FIELD_ALIGN (WAVEFORMAT, wFormatTag, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, wFormatTag, 0)
+    TEST_FIELD_SIZE  (WAVEFORMAT, nChannels, 2)
+    TEST_FIELD_ALIGN (WAVEFORMAT, nChannels, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, nChannels, 2)
+    TEST_FIELD_SIZE  (WAVEFORMAT, nSamplesPerSec, 4)
+    TEST_FIELD_ALIGN (WAVEFORMAT, nSamplesPerSec, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, nSamplesPerSec, 4)
+    TEST_FIELD_SIZE  (WAVEFORMAT, nAvgBytesPerSec, 4)
+    TEST_FIELD_ALIGN (WAVEFORMAT, nAvgBytesPerSec, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, nAvgBytesPerSec, 8)
+    TEST_FIELD_SIZE  (WAVEFORMAT, nBlockAlign, 2)
+    TEST_FIELD_ALIGN (WAVEFORMAT, nBlockAlign, 1)
+    TEST_FIELD_OFFSET(WAVEFORMAT, nBlockAlign, 12)
+}
+
+static void test_pack_PCMWAVEFORMAT(void)
+{
+    /* PCMWAVEFORMAT (pack 1) */
+    TEST_TYPE_SIZE   (PCMWAVEFORMAT, 16)
+    TEST_TYPE_ALIGN  (PCMWAVEFORMAT, 1)
+    TEST_FIELD_SIZE  (PCMWAVEFORMAT, wf, 14)
+    TEST_FIELD_ALIGN (PCMWAVEFORMAT, wf, 1)
+    TEST_FIELD_OFFSET(PCMWAVEFORMAT, wf, 0)
+    TEST_FIELD_SIZE  (PCMWAVEFORMAT, wBitsPerSample, 2)
+    TEST_FIELD_ALIGN (PCMWAVEFORMAT, wBitsPerSample, 1)
+    TEST_FIELD_OFFSET(PCMWAVEFORMAT, wBitsPerSample, 14)
+}
+
+static void test_pack_WAVEFORMATEX(void)
+{
+    /* WAVEFORMATEX (pack 1) */
+    TEST_TYPE_SIZE   (WAVEFORMATEX, 18)
+    TEST_TYPE_ALIGN  (WAVEFORMATEX, 1)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, wFormatTag, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, wFormatTag, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, wFormatTag, 0)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, nChannels, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, nChannels, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, nChannels, 2)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, nSamplesPerSec, 4)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, nSamplesPerSec, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, nSamplesPerSec, 4)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, nAvgBytesPerSec, 4)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, nAvgBytesPerSec, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, nAvgBytesPerSec, 8)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, nBlockAlign, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, nBlockAlign, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, nBlockAlign, 12)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, wBitsPerSample, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, wBitsPerSample, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, wBitsPerSample, 14)
+    TEST_FIELD_SIZE  (WAVEFORMATEX, cbSize, 2)
+    TEST_FIELD_ALIGN (WAVEFORMATEX, cbSize, 1)
+    TEST_FIELD_OFFSET(WAVEFORMATEX, cbSize, 16)
+}
+
+static void test_pack_MIDIOUTCAPSA(void)
+{
+    /* MIDIOUTCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (MIDIOUTCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIOUTCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIOUTCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIOUTCAPSW(void)
+{
+    /* MIDIOUTCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (MIDIOUTCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIOUTCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIOUTCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIOUTCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIOUTCAPS2A(void)
+{
+    /* MIDIOUTCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIOUTCAPS2W(void)
+{
+    /* MIDIOUTCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIOUTCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIOUTCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIOUTCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIINCAPSA(void)
+{
+    /* MIDIINCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (MIDIINCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIINCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIINCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIINCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIINCAPSW(void)
+{
+    /* MIDIINCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (MIDIINCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIINCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIINCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIINCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIINCAPS2A(void)
+{
+    /* MIDIINCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (MIDIINCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIINCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIINCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIINCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIINCAPS2W(void)
+{
+    /* MIDIINCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (MIDIINCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (MIDIINCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (MIDIINCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (MIDIINCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIDIINCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIDIINCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_MIDIHDR(void)
+{
+    /* MIDIHDR (pack 1) */
+    TEST_TYPE_SIZE   (MIDIHDR, 64)
+    TEST_TYPE_ALIGN  (MIDIHDR, 1)
+    TEST_FIELD_SIZE  (MIDIHDR, lpData, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, lpData, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, lpData, 0)
+    TEST_FIELD_SIZE  (MIDIHDR, dwBufferLength, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwBufferLength, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwBufferLength, 4)
+    TEST_FIELD_SIZE  (MIDIHDR, dwBytesRecorded, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwBytesRecorded, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwBytesRecorded, 8)
+    TEST_FIELD_SIZE  (MIDIHDR, dwUser, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwUser, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwUser, 12)
+    TEST_FIELD_SIZE  (MIDIHDR, dwFlags, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwFlags, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwFlags, 16)
+    TEST_FIELD_SIZE  (MIDIHDR, lpNext, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, lpNext, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, lpNext, 20)
+    TEST_FIELD_SIZE  (MIDIHDR, reserved, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, reserved, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, reserved, 24)
+    TEST_FIELD_SIZE  (MIDIHDR, dwOffset, 4)
+    TEST_FIELD_ALIGN (MIDIHDR, dwOffset, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwOffset, 28)
+    TEST_FIELD_SIZE  (MIDIHDR, dwReserved, 32)
+    TEST_FIELD_ALIGN (MIDIHDR, dwReserved, 1)
+    TEST_FIELD_OFFSET(MIDIHDR, dwReserved, 32)
+}
+
+static void test_pack_MIDIEVENT(void)
+{
+    /* MIDIEVENT (pack 1) */
+    TEST_TYPE_SIZE   (MIDIEVENT, 16)
+    TEST_TYPE_ALIGN  (MIDIEVENT, 1)
+    TEST_FIELD_SIZE  (MIDIEVENT, dwDeltaTime, 4)
+    TEST_FIELD_ALIGN (MIDIEVENT, dwDeltaTime, 1)
+    TEST_FIELD_OFFSET(MIDIEVENT, dwDeltaTime, 0)
+    TEST_FIELD_SIZE  (MIDIEVENT, dwStreamID, 4)
+    TEST_FIELD_ALIGN (MIDIEVENT, dwStreamID, 1)
+    TEST_FIELD_OFFSET(MIDIEVENT, dwStreamID, 4)
+    TEST_FIELD_SIZE  (MIDIEVENT, dwEvent, 4)
+    TEST_FIELD_ALIGN (MIDIEVENT, dwEvent, 1)
+    TEST_FIELD_OFFSET(MIDIEVENT, dwEvent, 8)
+    TEST_FIELD_SIZE  (MIDIEVENT, dwParms, 4)
+    TEST_FIELD_ALIGN (MIDIEVENT, dwParms, 1)
+    TEST_FIELD_OFFSET(MIDIEVENT, dwParms, 12)
+}
+
+static void test_pack_AUXCAPSA(void)
+{
+    /* AUXCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (AUXCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (AUXCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(AUXCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (AUXCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (AUXCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(AUXCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (AUXCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (AUXCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(AUXCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_AUXCAPSW(void)
+{
+    /* AUXCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (AUXCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (AUXCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(AUXCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (AUXCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (AUXCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(AUXCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (AUXCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (AUXCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(AUXCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_AUXCAPS2A(void)
+{
+    /* AUXCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (AUXCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (AUXCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (AUXCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (AUXCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (AUXCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (AUXCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_AUXCAPS2W(void)
+{
+    /* AUXCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (AUXCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (AUXCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (AUXCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (AUXCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (AUXCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (AUXCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(AUXCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_TIMECAPS(void)
+{
+    /* TIMECAPS (pack 1) */
+    TEST_TYPE_SIZE   (TIMECAPS, 8)
+    TEST_TYPE_ALIGN  (TIMECAPS, 1)
+    TEST_FIELD_SIZE  (TIMECAPS, wPeriodMin, 4)
+    TEST_FIELD_ALIGN (TIMECAPS, wPeriodMin, 1)
+    TEST_FIELD_OFFSET(TIMECAPS, wPeriodMin, 0)
+    TEST_FIELD_SIZE  (TIMECAPS, wPeriodMax, 4)
+    TEST_FIELD_ALIGN (TIMECAPS, wPeriodMax, 1)
+    TEST_FIELD_OFFSET(TIMECAPS, wPeriodMax, 4)
+}
+
+static void test_pack_JOYCAPSA(void)
+{
+    /* JOYCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (JOYCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (JOYCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(JOYCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (JOYCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (JOYCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(JOYCAPSA, wPid, 2)
+}
+
+static void test_pack_JOYCAPSW(void)
+{
+    /* JOYCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (JOYCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (JOYCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(JOYCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (JOYCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (JOYCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(JOYCAPSW, wPid, 2)
+}
+
+static void test_pack_JOYCAPS2A(void)
+{
+    /* JOYCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (JOYCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (JOYCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(JOYCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (JOYCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (JOYCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(JOYCAPS2A, wPid, 2)
+}
+
+static void test_pack_JOYCAPS2W(void)
+{
+    /* JOYCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (JOYCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (JOYCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(JOYCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (JOYCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (JOYCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(JOYCAPS2W, wPid, 2)
+}
+
+static void test_pack_JOYINFO(void)
+{
+    /* JOYINFO (pack 1) */
+    TEST_TYPE_SIZE   (JOYINFO, 16)
+    TEST_TYPE_ALIGN  (JOYINFO, 1)
+    TEST_FIELD_SIZE  (JOYINFO, wXpos, 4)
+    TEST_FIELD_ALIGN (JOYINFO, wXpos, 1)
+    TEST_FIELD_OFFSET(JOYINFO, wXpos, 0)
+    TEST_FIELD_SIZE  (JOYINFO, wYpos, 4)
+    TEST_FIELD_ALIGN (JOYINFO, wYpos, 1)
+    TEST_FIELD_OFFSET(JOYINFO, wYpos, 4)
+    TEST_FIELD_SIZE  (JOYINFO, wZpos, 4)
+    TEST_FIELD_ALIGN (JOYINFO, wZpos, 1)
+    TEST_FIELD_OFFSET(JOYINFO, wZpos, 8)
+    TEST_FIELD_SIZE  (JOYINFO, wButtons, 4)
+    TEST_FIELD_ALIGN (JOYINFO, wButtons, 1)
+    TEST_FIELD_OFFSET(JOYINFO, wButtons, 12)
+}
+
+static void test_pack_JOYINFOEX(void)
+{
+    /* JOYINFOEX (pack 1) */
+    TEST_TYPE_SIZE   (JOYINFOEX, 52)
+    TEST_TYPE_ALIGN  (JOYINFOEX, 1)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwSize, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwSize, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwSize, 0)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwFlags, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwFlags, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwFlags, 4)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwXpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwXpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwXpos, 8)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwYpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwYpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwYpos, 12)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwZpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwZpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwZpos, 16)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwRpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwRpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwRpos, 20)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwUpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwUpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwUpos, 24)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwVpos, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwVpos, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwVpos, 28)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwButtons, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwButtons, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwButtons, 32)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwButtonNumber, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwButtonNumber, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwButtonNumber, 36)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwPOV, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwPOV, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwPOV, 40)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwReserved1, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwReserved1, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwReserved1, 44)
+    TEST_FIELD_SIZE  (JOYINFOEX, dwReserved2, 4)
+    TEST_FIELD_ALIGN (JOYINFOEX, dwReserved2, 1)
+    TEST_FIELD_OFFSET(JOYINFOEX, dwReserved2, 48)
+}
+
+static void test_pack_MIXERCAPSA(void)
+{
+    /* MIXERCAPSA (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCAPSA, wMid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPSA, wMid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSA, wMid, 0)
+    TEST_FIELD_SIZE  (MIXERCAPSA, wPid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPSA, wPid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSA, wPid, 2)
+    TEST_FIELD_SIZE  (MIXERCAPSA, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIXERCAPSA, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSA, vDriverVersion, 4)
+}
+
+static void test_pack_MIXERCAPSW(void)
+{
+    /* MIXERCAPSW (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCAPSW, wMid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPSW, wMid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSW, wMid, 0)
+    TEST_FIELD_SIZE  (MIXERCAPSW, wPid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPSW, wPid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSW, wPid, 2)
+    TEST_FIELD_SIZE  (MIXERCAPSW, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIXERCAPSW, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIXERCAPSW, vDriverVersion, 4)
+}
+
+static void test_pack_MIXERCAPS2A(void)
+{
+    /* MIXERCAPS2A (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCAPS2A, wMid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPS2A, wMid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2A, wMid, 0)
+    TEST_FIELD_SIZE  (MIXERCAPS2A, wPid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPS2A, wPid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2A, wPid, 2)
+    TEST_FIELD_SIZE  (MIXERCAPS2A, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIXERCAPS2A, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2A, vDriverVersion, 4)
+}
+
+static void test_pack_MIXERCAPS2W(void)
+{
+    /* MIXERCAPS2W (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCAPS2W, wMid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPS2W, wMid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2W, wMid, 0)
+    TEST_FIELD_SIZE  (MIXERCAPS2W, wPid, 2)
+    TEST_FIELD_ALIGN (MIXERCAPS2W, wPid, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2W, wPid, 2)
+    TEST_FIELD_SIZE  (MIXERCAPS2W, vDriverVersion, 4)
+    TEST_FIELD_ALIGN (MIXERCAPS2W, vDriverVersion, 1)
+    TEST_FIELD_OFFSET(MIXERCAPS2W, vDriverVersion, 4)
+}
+
+static void test_pack_MIXERLINEA(void)
+{
+    /* MIXERLINEA (pack 1) */
+    TEST_FIELD_SIZE  (MIXERLINEA, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwDestination, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwDestination, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwDestination, 4)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwSource, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwSource, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwSource, 8)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwLineID, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwLineID, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwLineID, 12)
+    TEST_FIELD_SIZE  (MIXERLINEA, fdwLine, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, fdwLine, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, fdwLine, 16)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwUser, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwUser, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwUser, 20)
+    TEST_FIELD_SIZE  (MIXERLINEA, dwComponentType, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, dwComponentType, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, dwComponentType, 24)
+    TEST_FIELD_SIZE  (MIXERLINEA, cChannels, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, cChannels, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, cChannels, 28)
+    TEST_FIELD_SIZE  (MIXERLINEA, cConnections, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, cConnections, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, cConnections, 32)
+    TEST_FIELD_SIZE  (MIXERLINEA, cControls, 4)
+    TEST_FIELD_ALIGN (MIXERLINEA, cControls, 1)
+    TEST_FIELD_OFFSET(MIXERLINEA, cControls, 36)
+}
+
+static void test_pack_MIXERLINEW(void)
+{
+    /* MIXERLINEW (pack 1) */
+    TEST_FIELD_SIZE  (MIXERLINEW, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwDestination, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwDestination, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwDestination, 4)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwSource, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwSource, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwSource, 8)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwLineID, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwLineID, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwLineID, 12)
+    TEST_FIELD_SIZE  (MIXERLINEW, fdwLine, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, fdwLine, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, fdwLine, 16)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwUser, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwUser, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwUser, 20)
+    TEST_FIELD_SIZE  (MIXERLINEW, dwComponentType, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, dwComponentType, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, dwComponentType, 24)
+    TEST_FIELD_SIZE  (MIXERLINEW, cChannels, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, cChannels, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, cChannels, 28)
+    TEST_FIELD_SIZE  (MIXERLINEW, cConnections, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, cConnections, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, cConnections, 32)
+    TEST_FIELD_SIZE  (MIXERLINEW, cControls, 4)
+    TEST_FIELD_ALIGN (MIXERLINEW, cControls, 1)
+    TEST_FIELD_OFFSET(MIXERLINEW, cControls, 36)
+}
+
+static void test_pack_MIXERCONTROLA(void)
+{
+    /* MIXERCONTROLA (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLA, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLA, dwControlID, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, dwControlID, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, dwControlID, 4)
+    TEST_FIELD_SIZE  (MIXERCONTROLA, dwControlType, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, dwControlType, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, dwControlType, 8)
+    TEST_FIELD_SIZE  (MIXERCONTROLA, fdwControl, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, fdwControl, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, fdwControl, 12)
+    TEST_FIELD_SIZE  (MIXERCONTROLA, cMultipleItems, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLA, cMultipleItems, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLA, cMultipleItems, 16)
+}
+
+static void test_pack_MIXERCONTROLW(void)
+{
+    /* MIXERCONTROLW (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLW, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLW, dwControlID, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, dwControlID, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, dwControlID, 4)
+    TEST_FIELD_SIZE  (MIXERCONTROLW, dwControlType, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, dwControlType, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, dwControlType, 8)
+    TEST_FIELD_SIZE  (MIXERCONTROLW, fdwControl, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, fdwControl, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, fdwControl, 12)
+    TEST_FIELD_SIZE  (MIXERCONTROLW, cMultipleItems, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLW, cMultipleItems, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLW, cMultipleItems, 16)
+}
+
+static void test_pack_MIXERCONTROLDETAILS(void)
+{
+    /* MIXERCONTROLDETAILS (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, cbStruct, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, cbStruct, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, cbStruct, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, dwControlID, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, dwControlID, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, dwControlID, 4)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS, cChannels, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS, cChannels, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS, cChannels, 8)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_LISTTEXTA(void)
+{
+    /* MIXERCONTROLDETAILS_LISTTEXTA (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTA, dwParam1, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTA, dwParam2, 4)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_LISTTEXTW(void)
+{
+    /* MIXERCONTROLDETAILS_LISTTEXTW (pack 1) */
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTW, dwParam1, 0)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_LISTTEXTW, dwParam2, 4)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_BOOLEAN(void)
+{
+    /* MIXERCONTROLDETAILS_BOOLEAN (pack 1) */
+    TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_BOOLEAN, 4)
+    TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_BOOLEAN, 1)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_BOOLEAN, fValue, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_BOOLEAN, fValue, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_BOOLEAN, fValue, 0)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_SIGNED(void)
+{
+    /* MIXERCONTROLDETAILS_SIGNED (pack 1) */
+    TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_SIGNED, 4)
+    TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_SIGNED, 1)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_SIGNED, lValue, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_SIGNED, lValue, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_SIGNED, lValue, 0)
+}
+
+static void test_pack_MIXERCONTROLDETAILS_UNSIGNED(void)
+{
+    /* MIXERCONTROLDETAILS_UNSIGNED (pack 1) */
+    TEST_TYPE_SIZE   (MIXERCONTROLDETAILS_UNSIGNED, 4)
+    TEST_TYPE_ALIGN  (MIXERCONTROLDETAILS_UNSIGNED, 1)
+    TEST_FIELD_SIZE  (MIXERCONTROLDETAILS_UNSIGNED, dwValue, 4)
+    TEST_FIELD_ALIGN (MIXERCONTROLDETAILS_UNSIGNED, dwValue, 1)
+    TEST_FIELD_OFFSET(MIXERCONTROLDETAILS_UNSIGNED, dwValue, 0)
+}
+
+static void test_pack_MMIOINFO(void)
+{
+    /* MMIOINFO (pack 1) */
+    TEST_FIELD_SIZE  (MMIOINFO, dwFlags, 4)
+    TEST_FIELD_ALIGN (MMIOINFO, dwFlags, 1)
+    TEST_FIELD_OFFSET(MMIOINFO, dwFlags, 0)
+    TEST_FIELD_SIZE  (MMIOINFO, fccIOProc, 4)
+    TEST_FIELD_ALIGN (MMIOINFO, fccIOProc, 1)
+    TEST_FIELD_OFFSET(MMIOINFO, fccIOProc, 4)
+    TEST_FIELD_SIZE  (MMIOINFO, pIOProc, 4)
+    TEST_FIELD_ALIGN (MMIOINFO, pIOProc, 1)
+    TEST_FIELD_OFFSET(MMIOINFO, pIOProc, 8)
+    TEST_FIELD_SIZE  (MMIOINFO, wErrorRet, 4)
+    TEST_FIELD_ALIGN (MMIOINFO, wErrorRet, 1)
+    TEST_FIELD_OFFSET(MMIOINFO, wErrorRet, 12)
+}
+
+static void test_pack_MMCKINFO(void)
+{
+    /* MMCKINFO (pack 1) */
+    TEST_TYPE_SIZE   (MMCKINFO, 20)
+    TEST_TYPE_ALIGN  (MMCKINFO, 1)
+    TEST_FIELD_SIZE  (MMCKINFO, ckid, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, ckid, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, ckid, 0)
+    TEST_FIELD_SIZE  (MMCKINFO, cksize, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, cksize, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, cksize, 4)
+    TEST_FIELD_SIZE  (MMCKINFO, fccType, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, fccType, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, fccType, 8)
+    TEST_FIELD_SIZE  (MMCKINFO, dwDataOffset, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, dwDataOffset, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, dwDataOffset, 12)
+    TEST_FIELD_SIZE  (MMCKINFO, dwFlags, 4)
+    TEST_FIELD_ALIGN (MMCKINFO, dwFlags, 1)
+    TEST_FIELD_OFFSET(MMCKINFO, dwFlags, 16)
+}
+
+static void test_pack_MCI_GENERIC_PARMS(void)
+{
+    /* MCI_GENERIC_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_GENERIC_PARMS, 4)
+    TEST_TYPE_ALIGN  (MCI_GENERIC_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_GENERIC_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_GENERIC_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_GENERIC_PARMS, dwCallback, 0)
+}
+
+static void test_pack_MCI_OPEN_PARMSA(void)
+{
+    /* MCI_OPEN_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OPEN_PARMSA, 20)
+    TEST_TYPE_ALIGN  (MCI_OPEN_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrDeviceType, 8)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrElementName, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrElementName, 12)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSA, lpstrAlias, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSA, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSA, lpstrAlias, 16)
+}
+
+static void test_pack_MCI_OPEN_PARMSW(void)
+{
+    /* MCI_OPEN_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OPEN_PARMSW, 20)
+    TEST_TYPE_ALIGN  (MCI_OPEN_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrDeviceType, 8)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrElementName, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrElementName, 12)
+    TEST_FIELD_SIZE  (MCI_OPEN_PARMSW, lpstrAlias, 4)
+    TEST_FIELD_ALIGN (MCI_OPEN_PARMSW, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_OPEN_PARMSW, lpstrAlias, 16)
+}
+
+static void test_pack_MCI_PLAY_PARMS(void)
+{
+    /* MCI_PLAY_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_PLAY_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_PLAY_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_SIZE  (MCI_PLAY_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_PLAY_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_PLAY_PARMS, dwTo, 8)
+}
+
+static void test_pack_MCI_SEEK_PARMS(void)
+{
+    /* MCI_SEEK_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SEEK_PARMS, 8)
+    TEST_TYPE_ALIGN  (MCI_SEEK_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_SEEK_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SEEK_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SEEK_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SEEK_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_SEEK_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_SEEK_PARMS, dwTo, 4)
+}
+
+static void test_pack_MCI_STATUS_PARMS(void)
+{
+    /* MCI_STATUS_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_STATUS_PARMS, 16)
+    TEST_TYPE_ALIGN  (MCI_STATUS_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwReturn, 4)
+    TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwReturn, 1)
+    TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwReturn, 4)
+    TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwItem, 4)
+    TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwItem, 1)
+    TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwItem, 8)
+    TEST_FIELD_SIZE  (MCI_STATUS_PARMS, dwTrack, 4)
+    TEST_FIELD_ALIGN (MCI_STATUS_PARMS, dwTrack, 1)
+    TEST_FIELD_OFFSET(MCI_STATUS_PARMS, dwTrack, 12)
+}
+
+static void test_pack_MCI_INFO_PARMSA(void)
+{
+    /* MCI_INFO_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_INFO_PARMSA, 12)
+    TEST_TYPE_ALIGN  (MCI_INFO_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSA, lpstrReturn, 4)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSA, lpstrReturn, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSA, lpstrReturn, 4)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSA, dwRetSize, 4)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSA, dwRetSize, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSA, dwRetSize, 8)
+}
+
+static void test_pack_MCI_INFO_PARMSW(void)
+{
+    /* MCI_INFO_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_INFO_PARMSW, 12)
+    TEST_TYPE_ALIGN  (MCI_INFO_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSW, lpstrReturn, 4)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSW, lpstrReturn, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSW, lpstrReturn, 4)
+    TEST_FIELD_SIZE  (MCI_INFO_PARMSW, dwRetSize, 4)
+    TEST_FIELD_ALIGN (MCI_INFO_PARMSW, dwRetSize, 1)
+    TEST_FIELD_OFFSET(MCI_INFO_PARMSW, dwRetSize, 8)
+}
+
+static void test_pack_MCI_GETDEVCAPS_PARMS(void)
+{
+    /* MCI_GETDEVCAPS_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_GETDEVCAPS_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_GETDEVCAPS_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwReturn, 4)
+    TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwReturn, 1)
+    TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwReturn, 4)
+    TEST_FIELD_SIZE  (MCI_GETDEVCAPS_PARMS, dwItem, 4)
+    TEST_FIELD_ALIGN (MCI_GETDEVCAPS_PARMS, dwItem, 1)
+    TEST_FIELD_OFFSET(MCI_GETDEVCAPS_PARMS, dwItem, 8)
+}
+
+static void test_pack_MCI_SYSINFO_PARMSA(void)
+{
+    /* MCI_SYSINFO_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SYSINFO_PARMSA, 20)
+    TEST_TYPE_ALIGN  (MCI_SYSINFO_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, lpstrReturn, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, lpstrReturn, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, lpstrReturn, 4)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwRetSize, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwRetSize, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwRetSize, 8)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, dwNumber, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, dwNumber, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, dwNumber, 12)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSA, wDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSA, wDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSA, wDeviceType, 16)
+}
+
+static void test_pack_MCI_SYSINFO_PARMSW(void)
+{
+    /* MCI_SYSINFO_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SYSINFO_PARMSW, 20)
+    TEST_TYPE_ALIGN  (MCI_SYSINFO_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, lpstrReturn, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, lpstrReturn, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, lpstrReturn, 4)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwRetSize, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwRetSize, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwRetSize, 8)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, dwNumber, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, dwNumber, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, dwNumber, 12)
+    TEST_FIELD_SIZE  (MCI_SYSINFO_PARMSW, wDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_SYSINFO_PARMSW, wDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_SYSINFO_PARMSW, wDeviceType, 16)
+}
+
+static void test_pack_MCI_SET_PARMS(void)
+{
+    /* MCI_SET_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SET_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_SET_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_SET_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SET_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SET_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_ALIGN (MCI_SET_PARMS, dwTimeFormat, 1)
+    TEST_FIELD_OFFSET(MCI_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_SIZE  (MCI_SET_PARMS, dwAudio, 4)
+    TEST_FIELD_ALIGN (MCI_SET_PARMS, dwAudio, 1)
+    TEST_FIELD_OFFSET(MCI_SET_PARMS, dwAudio, 8)
+}
+
+static void test_pack_MCI_BREAK_PARMS(void)
+{
+    /* MCI_BREAK_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_BREAK_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_BREAK_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_BREAK_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_BREAK_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_BREAK_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_BREAK_PARMS, nVirtKey, 4)
+    TEST_FIELD_ALIGN (MCI_BREAK_PARMS, nVirtKey, 1)
+    TEST_FIELD_OFFSET(MCI_BREAK_PARMS, nVirtKey, 4)
+    TEST_FIELD_SIZE  (MCI_BREAK_PARMS, hwndBreak, 4)
+    TEST_FIELD_ALIGN (MCI_BREAK_PARMS, hwndBreak, 1)
+    TEST_FIELD_OFFSET(MCI_BREAK_PARMS, hwndBreak, 8)
+}
+
+static void test_pack_MCI_SOUND_PARMSA(void)
+{
+    /* MCI_SOUND_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SOUND_PARMSA, 8)
+    TEST_TYPE_ALIGN  (MCI_SOUND_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_SOUND_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SOUND_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SOUND_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SOUND_PARMSA, lpstrSoundName, 4)
+    TEST_FIELD_ALIGN (MCI_SOUND_PARMSA, lpstrSoundName, 1)
+    TEST_FIELD_OFFSET(MCI_SOUND_PARMSA, lpstrSoundName, 4)
+}
+
+static void test_pack_MCI_SOUND_PARMSW(void)
+{
+    /* MCI_SOUND_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SOUND_PARMSW, 8)
+    TEST_TYPE_ALIGN  (MCI_SOUND_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_SOUND_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SOUND_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SOUND_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SOUND_PARMSW, lpstrSoundName, 4)
+    TEST_FIELD_ALIGN (MCI_SOUND_PARMSW, lpstrSoundName, 1)
+    TEST_FIELD_OFFSET(MCI_SOUND_PARMSW, lpstrSoundName, 4)
+}
+
+static void test_pack_MCI_SAVE_PARMSA(void)
+{
+    /* MCI_SAVE_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SAVE_PARMSA, 8)
+    TEST_TYPE_ALIGN  (MCI_SAVE_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_SAVE_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SAVE_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SAVE_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SAVE_PARMSA, lpfilename, 4)
+    TEST_FIELD_ALIGN (MCI_SAVE_PARMSA, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_SAVE_PARMSA, lpfilename, 4)
+}
+
+static void test_pack_MCI_SAVE_PARMSW(void)
+{
+    /* MCI_SAVE_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SAVE_PARMSW, 8)
+    TEST_TYPE_ALIGN  (MCI_SAVE_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_SAVE_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SAVE_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SAVE_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SAVE_PARMSW, lpfilename, 4)
+    TEST_FIELD_ALIGN (MCI_SAVE_PARMSW, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_SAVE_PARMSW, lpfilename, 4)
+}
+
+static void test_pack_MCI_LOAD_PARMSA(void)
+{
+    /* MCI_LOAD_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_LOAD_PARMSA, 8)
+    TEST_TYPE_ALIGN  (MCI_LOAD_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_LOAD_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_LOAD_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_LOAD_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_LOAD_PARMSA, lpfilename, 4)
+    TEST_FIELD_ALIGN (MCI_LOAD_PARMSA, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_LOAD_PARMSA, lpfilename, 4)
+}
+
+static void test_pack_MCI_LOAD_PARMSW(void)
+{
+    /* MCI_LOAD_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_LOAD_PARMSW, 8)
+    TEST_TYPE_ALIGN  (MCI_LOAD_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_LOAD_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_LOAD_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_LOAD_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_LOAD_PARMSW, lpfilename, 4)
+    TEST_FIELD_ALIGN (MCI_LOAD_PARMSW, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_LOAD_PARMSW, lpfilename, 4)
+}
+
+static void test_pack_MCI_RECORD_PARMS(void)
+{
+    /* MCI_RECORD_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_RECORD_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_RECORD_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwFrom, 4)
+    TEST_FIELD_SIZE  (MCI_RECORD_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_RECORD_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_RECORD_PARMS, dwTo, 8)
+}
+
+static void test_pack_MCI_VD_PLAY_PARMS(void)
+{
+    /* MCI_VD_PLAY_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_VD_PLAY_PARMS, 16)
+    TEST_TYPE_ALIGN  (MCI_VD_PLAY_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwTo, 8)
+    TEST_FIELD_SIZE  (MCI_VD_PLAY_PARMS, dwSpeed, 4)
+    TEST_FIELD_ALIGN (MCI_VD_PLAY_PARMS, dwSpeed, 1)
+    TEST_FIELD_OFFSET(MCI_VD_PLAY_PARMS, dwSpeed, 12)
+}
+
+static void test_pack_MCI_VD_STEP_PARMS(void)
+{
+    /* MCI_VD_STEP_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_VD_STEP_PARMS, 8)
+    TEST_TYPE_ALIGN  (MCI_VD_STEP_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_VD_STEP_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_VD_STEP_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_VD_STEP_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_VD_STEP_PARMS, dwFrames, 4)
+    TEST_FIELD_ALIGN (MCI_VD_STEP_PARMS, dwFrames, 1)
+    TEST_FIELD_OFFSET(MCI_VD_STEP_PARMS, dwFrames, 4)
+}
+
+static void test_pack_MCI_VD_ESCAPE_PARMSA(void)
+{
+    /* MCI_VD_ESCAPE_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_VD_ESCAPE_PARMSA, 8)
+    TEST_TYPE_ALIGN  (MCI_VD_ESCAPE_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSA, lpstrCommand, 4)
+    TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSA, lpstrCommand, 1)
+    TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSA, lpstrCommand, 4)
+}
+
+static void test_pack_MCI_VD_ESCAPE_PARMSW(void)
+{
+    /* MCI_VD_ESCAPE_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_VD_ESCAPE_PARMSW, 8)
+    TEST_TYPE_ALIGN  (MCI_VD_ESCAPE_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_VD_ESCAPE_PARMSW, lpstrCommand, 4)
+    TEST_FIELD_ALIGN (MCI_VD_ESCAPE_PARMSW, lpstrCommand, 1)
+    TEST_FIELD_OFFSET(MCI_VD_ESCAPE_PARMSW, lpstrCommand, 4)
+}
+
+static void test_pack_MCI_WAVE_OPEN_PARMSA(void)
+{
+    /* MCI_WAVE_OPEN_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_WAVE_OPEN_PARMSA, 24)
+    TEST_TYPE_ALIGN  (MCI_WAVE_OPEN_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrDeviceType, 8)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrElementName, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrElementName, 12)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, lpstrAlias, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, lpstrAlias, 16)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSA, dwBufferSeconds, 20)
+}
+
+static void test_pack_MCI_WAVE_OPEN_PARMSW(void)
+{
+    /* MCI_WAVE_OPEN_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_WAVE_OPEN_PARMSW, 24)
+    TEST_TYPE_ALIGN  (MCI_WAVE_OPEN_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrDeviceType, 8)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrElementName, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrElementName, 12)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, lpstrAlias, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, lpstrAlias, 16)
+    TEST_FIELD_SIZE  (MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_OPEN_PARMSW, dwBufferSeconds, 20)
+}
+
+static void test_pack_MCI_WAVE_DELETE_PARMS(void)
+{
+    /* MCI_WAVE_DELETE_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_WAVE_DELETE_PARMS, 12)
+    TEST_TYPE_ALIGN  (MCI_WAVE_DELETE_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwFrom, 4)
+    TEST_FIELD_SIZE  (MCI_WAVE_DELETE_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_DELETE_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_DELETE_PARMS, dwTo, 8)
+}
+
+static void test_pack_MCI_WAVE_SET_PARMS(void)
+{
+    /* MCI_WAVE_SET_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_WAVE_SET_PARMS, 44)
+    TEST_TYPE_ALIGN  (MCI_WAVE_SET_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwTimeFormat, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, dwAudio, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, dwAudio, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, dwAudio, 8)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wInput, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wInput, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wInput, 12)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wOutput, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wOutput, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wOutput, 16)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wFormatTag, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wFormatTag, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wFormatTag, 20)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nChannels, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nChannels, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nChannels, 24)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nSamplesPerSec, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nSamplesPerSec, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nSamplesPerSec, 28)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nAvgBytesPerSec, 32)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, nBlockAlign, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, nBlockAlign, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, nBlockAlign, 36)
+    TEST_FIELD_SIZE  (MCI_WAVE_SET_PARMS, wBitsPerSample, 4)
+    TEST_FIELD_ALIGN (MCI_WAVE_SET_PARMS, wBitsPerSample, 1)
+    TEST_FIELD_OFFSET(MCI_WAVE_SET_PARMS, wBitsPerSample, 40)
+}
+
+static void test_pack_MCI_SEQ_SET_PARMS(void)
+{
+    /* MCI_SEQ_SET_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_SEQ_SET_PARMS, 32)
+    TEST_TYPE_ALIGN  (MCI_SEQ_SET_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwTimeFormat, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwTimeFormat, 4)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwAudio, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwAudio, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwAudio, 8)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwTempo, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwTempo, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwTempo, 12)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwPort, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwPort, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwPort, 16)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwSlave, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwSlave, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwSlave, 20)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwMaster, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwMaster, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwMaster, 24)
+    TEST_FIELD_SIZE  (MCI_SEQ_SET_PARMS, dwOffset, 4)
+    TEST_FIELD_ALIGN (MCI_SEQ_SET_PARMS, dwOffset, 1)
+    TEST_FIELD_OFFSET(MCI_SEQ_SET_PARMS, dwOffset, 28)
+}
+
+static void test_pack_MCI_ANIM_OPEN_PARMSA(void)
+{
+    /* MCI_ANIM_OPEN_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_OPEN_PARMSA, 28)
+    TEST_TYPE_ALIGN  (MCI_ANIM_OPEN_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrDeviceType, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrElementName, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrElementName, 12)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, lpstrAlias, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, lpstrAlias, 16)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, dwStyle, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, dwStyle, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, dwStyle, 20)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSA, hWndParent, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSA, hWndParent, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSA, hWndParent, 24)
+}
+
+static void test_pack_MCI_ANIM_OPEN_PARMSW(void)
+{
+    /* MCI_ANIM_OPEN_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_OPEN_PARMSW, 28)
+    TEST_TYPE_ALIGN  (MCI_ANIM_OPEN_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrDeviceType, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrElementName, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrElementName, 12)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, lpstrAlias, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, lpstrAlias, 16)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, dwStyle, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, dwStyle, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, dwStyle, 20)
+    TEST_FIELD_SIZE  (MCI_ANIM_OPEN_PARMSW, hWndParent, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_OPEN_PARMSW, hWndParent, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_OPEN_PARMSW, hWndParent, 24)
+}
+
+static void test_pack_MCI_ANIM_PLAY_PARMS(void)
+{
+    /* MCI_ANIM_PLAY_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_PLAY_PARMS, 16)
+    TEST_TYPE_ALIGN  (MCI_ANIM_PLAY_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwFrom, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwFrom, 4)
+    TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwTo, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwTo, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwTo, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_PLAY_PARMS, dwSpeed, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_PLAY_PARMS, dwSpeed, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_PLAY_PARMS, dwSpeed, 12)
+}
+
+static void test_pack_MCI_ANIM_STEP_PARMS(void)
+{
+    /* MCI_ANIM_STEP_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_STEP_PARMS, 8)
+    TEST_TYPE_ALIGN  (MCI_ANIM_STEP_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_STEP_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_STEP_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_STEP_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_STEP_PARMS, dwFrames, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_STEP_PARMS, dwFrames, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_STEP_PARMS, dwFrames, 4)
+}
+
+static void test_pack_MCI_ANIM_WINDOW_PARMSA(void)
+{
+    /* MCI_ANIM_WINDOW_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_WINDOW_PARMSA, 16)
+    TEST_TYPE_ALIGN  (MCI_ANIM_WINDOW_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, hWnd, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, hWnd, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, hWnd, 4)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, nCmdShow, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, nCmdShow, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, nCmdShow, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSA, lpstrText, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSA, lpstrText, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSA, lpstrText, 12)
+}
+
+static void test_pack_MCI_ANIM_WINDOW_PARMSW(void)
+{
+    /* MCI_ANIM_WINDOW_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_WINDOW_PARMSW, 16)
+    TEST_TYPE_ALIGN  (MCI_ANIM_WINDOW_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, hWnd, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, hWnd, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, hWnd, 4)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, nCmdShow, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, nCmdShow, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, nCmdShow, 8)
+    TEST_FIELD_SIZE  (MCI_ANIM_WINDOW_PARMSW, lpstrText, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_WINDOW_PARMSW, lpstrText, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_WINDOW_PARMSW, lpstrText, 12)
+}
+
+static void test_pack_MCI_ANIM_UPDATE_PARMS(void)
+{
+    /* MCI_ANIM_UPDATE_PARMS (pack 1) */
+    TEST_TYPE_SIZE   (MCI_ANIM_UPDATE_PARMS, 24)
+    TEST_TYPE_ALIGN  (MCI_ANIM_UPDATE_PARMS, 1)
+    TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, rc, 16)
+    TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, rc, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, rc, 4)
+    TEST_FIELD_SIZE  (MCI_ANIM_UPDATE_PARMS, hDC, 4)
+    TEST_FIELD_ALIGN (MCI_ANIM_UPDATE_PARMS, hDC, 1)
+    TEST_FIELD_OFFSET(MCI_ANIM_UPDATE_PARMS, hDC, 20)
+}
+
+static void test_pack_MCI_OVLY_OPEN_PARMSA(void)
+{
+    /* MCI_OVLY_OPEN_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_OPEN_PARMSA, 28)
+    TEST_TYPE_ALIGN  (MCI_OVLY_OPEN_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, wDeviceID, 4)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrDeviceType, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrElementName, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrElementName, 12)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, lpstrAlias, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, lpstrAlias, 16)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, dwStyle, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, dwStyle, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, dwStyle, 20)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSA, hWndParent, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSA, hWndParent, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSA, hWndParent, 24)
+}
+
+static void test_pack_MCI_OVLY_OPEN_PARMSW(void)
+{
+    /* MCI_OVLY_OPEN_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_OPEN_PARMSW, 28)
+    TEST_TYPE_ALIGN  (MCI_OVLY_OPEN_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, wDeviceID, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, wDeviceID, 4)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrDeviceType, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrElementName, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrElementName, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrElementName, 12)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, lpstrAlias, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, lpstrAlias, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, lpstrAlias, 16)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, dwStyle, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, dwStyle, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, dwStyle, 20)
+    TEST_FIELD_SIZE  (MCI_OVLY_OPEN_PARMSW, hWndParent, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_OPEN_PARMSW, hWndParent, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_OPEN_PARMSW, hWndParent, 24)
+}
+
+static void test_pack_MCI_OVLY_WINDOW_PARMSA(void)
+{
+    /* MCI_OVLY_WINDOW_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_WINDOW_PARMSA, 16)
+    TEST_TYPE_ALIGN  (MCI_OVLY_WINDOW_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, hWnd, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, hWnd, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, hWnd, 4)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, nCmdShow, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, nCmdShow, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, nCmdShow, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSA, lpstrText, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSA, lpstrText, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSA, lpstrText, 12)
+}
+
+static void test_pack_MCI_OVLY_WINDOW_PARMSW(void)
+{
+    /* MCI_OVLY_WINDOW_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_WINDOW_PARMSW, 16)
+    TEST_TYPE_ALIGN  (MCI_OVLY_WINDOW_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, hWnd, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, hWnd, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, hWnd, 4)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, nCmdShow, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, nCmdShow, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, nCmdShow, 8)
+    TEST_FIELD_SIZE  (MCI_OVLY_WINDOW_PARMSW, lpstrText, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_WINDOW_PARMSW, lpstrText, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_WINDOW_PARMSW, lpstrText, 12)
+}
+
+static void test_pack_MCI_OVLY_SAVE_PARMSA(void)
+{
+    /* MCI_OVLY_SAVE_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_SAVE_PARMSA, 24)
+    TEST_TYPE_ALIGN  (MCI_OVLY_SAVE_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, lpfilename, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, lpfilename, 4)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSA, rc, 16)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSA, rc, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSA, rc, 8)
+}
+
+static void test_pack_MCI_OVLY_SAVE_PARMSW(void)
+{
+    /* MCI_OVLY_SAVE_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_SAVE_PARMSW, 24)
+    TEST_TYPE_ALIGN  (MCI_OVLY_SAVE_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, lpfilename, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, lpfilename, 4)
+    TEST_FIELD_SIZE  (MCI_OVLY_SAVE_PARMSW, rc, 16)
+    TEST_FIELD_ALIGN (MCI_OVLY_SAVE_PARMSW, rc, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_SAVE_PARMSW, rc, 8)
+}
+
+static void test_pack_MCI_OVLY_LOAD_PARMSA(void)
+{
+    /* MCI_OVLY_LOAD_PARMSA (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_LOAD_PARMSA, 24)
+    TEST_TYPE_ALIGN  (MCI_OVLY_LOAD_PARMSA, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, lpfilename, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, lpfilename, 4)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSA, rc, 16)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSA, rc, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSA, rc, 8)
+}
+
+static void test_pack_MCI_OVLY_LOAD_PARMSW(void)
+{
+    /* MCI_OVLY_LOAD_PARMSW (pack 1) */
+    TEST_TYPE_SIZE   (MCI_OVLY_LOAD_PARMSW, 24)
+    TEST_TYPE_ALIGN  (MCI_OVLY_LOAD_PARMSW, 1)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, dwCallback, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, dwCallback, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, dwCallback, 0)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, lpfilename, 4)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, lpfilename, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, lpfilename, 4)
+    TEST_FIELD_SIZE  (MCI_OVLY_LOAD_PARMSW, rc, 16)
+    TEST_FIELD_ALIGN (MCI_OVLY_LOAD_PARMSW, rc, 1)
+    TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, rc, 8)
+}
+
+#endif /* _WIN64 */
+
+static void test_pack(void)
+{
+    test_pack_AUXCAPS2A();
+    test_pack_AUXCAPS2W();
+    test_pack_AUXCAPSA();
+    test_pack_AUXCAPSW();
+    test_pack_DRVCONFIGINFO();
+    test_pack_JOYCAPS2A();
+    test_pack_JOYCAPS2W();
+    test_pack_JOYCAPSA();
+    test_pack_JOYCAPSW();
+    test_pack_JOYINFO();
+    test_pack_JOYINFOEX();
+    test_pack_MCI_ANIM_OPEN_PARMSA();
+    test_pack_MCI_ANIM_OPEN_PARMSW();
+    test_pack_MCI_ANIM_PLAY_PARMS();
+    test_pack_MCI_ANIM_STEP_PARMS();
+    test_pack_MCI_ANIM_UPDATE_PARMS();
+    test_pack_MCI_ANIM_WINDOW_PARMSA();
+    test_pack_MCI_ANIM_WINDOW_PARMSW();
+    test_pack_MCI_BREAK_PARMS();
+    test_pack_MCI_GENERIC_PARMS();
+    test_pack_MCI_GETDEVCAPS_PARMS();
+    test_pack_MCI_INFO_PARMSA();
+    test_pack_MCI_INFO_PARMSW();
+    test_pack_MCI_LOAD_PARMSA();
+    test_pack_MCI_LOAD_PARMSW();
+    test_pack_MCI_OPEN_PARMSA();
+    test_pack_MCI_OPEN_PARMSW();
+    test_pack_MCI_OVLY_LOAD_PARMSA();
+    test_pack_MCI_OVLY_LOAD_PARMSW();
+    test_pack_MCI_OVLY_OPEN_PARMSA();
+    test_pack_MCI_OVLY_OPEN_PARMSW();
+    test_pack_MCI_OVLY_SAVE_PARMSA();
+    test_pack_MCI_OVLY_SAVE_PARMSW();
+    test_pack_MCI_OVLY_WINDOW_PARMSA();
+    test_pack_MCI_OVLY_WINDOW_PARMSW();
+    test_pack_MCI_PLAY_PARMS();
+    test_pack_MCI_RECORD_PARMS();
+    test_pack_MCI_SAVE_PARMSA();
+    test_pack_MCI_SAVE_PARMSW();
+    test_pack_MCI_SEEK_PARMS();
+    test_pack_MCI_SEQ_SET_PARMS();
+    test_pack_MCI_SET_PARMS();
+    test_pack_MCI_SOUND_PARMSA();
+    test_pack_MCI_SOUND_PARMSW();
+    test_pack_MCI_STATUS_PARMS();
+    test_pack_MCI_SYSINFO_PARMSA();
+    test_pack_MCI_SYSINFO_PARMSW();
+    test_pack_MCI_VD_ESCAPE_PARMSA();
+    test_pack_MCI_VD_ESCAPE_PARMSW();
+    test_pack_MCI_VD_PLAY_PARMS();
+    test_pack_MCI_VD_STEP_PARMS();
+    test_pack_MCI_WAVE_DELETE_PARMS();
+    test_pack_MCI_WAVE_OPEN_PARMSA();
+    test_pack_MCI_WAVE_OPEN_PARMSW();
+    test_pack_MCI_WAVE_SET_PARMS();
+    test_pack_MIDIEVENT();
+    test_pack_MIDIHDR();
+    test_pack_MIDIINCAPS2A();
+    test_pack_MIDIINCAPS2W();
+    test_pack_MIDIINCAPSA();
+    test_pack_MIDIINCAPSW();
+    test_pack_MIDIOUTCAPS2A();
+    test_pack_MIDIOUTCAPS2W();
+    test_pack_MIDIOUTCAPSA();
+    test_pack_MIDIOUTCAPSW();
+    test_pack_MIXERCAPS2A();
+    test_pack_MIXERCAPS2W();
+    test_pack_MIXERCAPSA();
+    test_pack_MIXERCAPSW();
+    test_pack_MIXERCONTROLA();
+    test_pack_MIXERCONTROLDETAILS();
+    test_pack_MIXERCONTROLDETAILS_BOOLEAN();
+    test_pack_MIXERCONTROLDETAILS_LISTTEXTA();
+    test_pack_MIXERCONTROLDETAILS_LISTTEXTW();
+    test_pack_MIXERCONTROLDETAILS_SIGNED();
+    test_pack_MIXERCONTROLDETAILS_UNSIGNED();
+    test_pack_MIXERCONTROLW();
+    test_pack_MIXERLINEA();
+    test_pack_MIXERLINEW();
+    test_pack_MMCKINFO();
+    test_pack_MMIOINFO();
+    test_pack_MMTIME();
+    test_pack_PCMWAVEFORMAT();
+    test_pack_TIMECAPS();
+    test_pack_WAVEFORMAT();
+    test_pack_WAVEFORMATEX();
+    test_pack_WAVEHDR();
+    test_pack_WAVEINCAPS2A();
+    test_pack_WAVEINCAPS2W();
+    test_pack_WAVEINCAPSA();
+    test_pack_WAVEINCAPSW();
+    test_pack_WAVEOUTCAPS2A();
+    test_pack_WAVEOUTCAPS2W();
+    test_pack_WAVEOUTCAPSA();
+    test_pack_WAVEOUTCAPSW();
+}
+
+START_TEST(generated)
+{
+    test_pack();
+}
diff --git a/tools/winapi/tests.dat b/tools/winapi/tests.dat
index 90b490a..4657d6c 100644
--- a/tools/winapi/tests.dat
+++ b/tools/winapi/tests.dat
@@ -1719,3 +1719,125 @@ PFN_AUTH_NOTIFY
 PFN_DIAL_HANDLER
 URL_COMPONENTSA
 URL_COMPONENTSW
+
+%%%dlls/winmm/tests
+
+%%pack
+
+%description
+
+Unit tests for data structure packing
+
+%header
+
+basetsd.h
+winnt.h
+windef.h
+mmsystem.h
+
+%include
+
+"windows.h"
+
+%type
+
+MMTIME
+DRVCONFIGINFO
+WAVEHDR
+WAVEOUTCAPSA
+WAVEOUTCAPSW
+WAVEOUTCAPS2A
+WAVEOUTCAPS2W
+WAVEINCAPSA
+WAVEINCAPSW
+WAVEINCAPS2A
+WAVEINCAPS2W
+WAVEFORMAT
+PCMWAVEFORMAT
+WAVEFORMATEX
+MIDIOUTCAPSA
+MIDIOUTCAPSW
+MIDIOUTCAPS2A
+MIDIOUTCAPS2W
+MIDIINCAPSA
+MIDIINCAPSW
+MIDIINCAPS2A
+MIDIINCAPS2W
+MIDIHDR
+MIDIEVENT
+AUXCAPSA
+AUXCAPSW
+AUXCAPS2A
+AUXCAPS2W
+TIMECAPS
+JOYCAPSA
+JOYCAPSW
+JOYCAPS2A
+JOYCAPS2W
+JOYINFO
+JOYINFOEX
+MIXERCAPSA
+MIXERCAPSW
+MIXERCAPS2A
+MIXERCAPS2W
+MIXERLINEA
+MIXERLINEW
+MIXERCONTROLA
+MIXERCONTROLW
+MIXERLINECONTROLA
+MIXERLINECONTROLW
+MIXERCONTROLDETAILS
+MIXERCONTROLDETAILS_LISTTEXTA
+MIXERCONTROLDETAILS_LISTTEXTW
+MIXERCONTROLDETAILS_BOOLEAN
+MIXERCONTROLDETAILS_SIGNED
+MIXERCONTROLDETAILS_UNSIGNED
+MMIOINFO
+MMCKINFO
+
+MCI_GENERIC_PARMS
+MCI_OPEN_PARMSA
+MCI_OPEN_PARMSW
+MCI_PLAY_PARMS
+MCI_SEEK_PARMS
+MCI_STATUS_PARMS
+MCI_INFO_PARMSA
+MCI_INFO_PARMSW
+MCI_GETDEVCAPS_PARMS
+MCI_SYSINFO_PARMSA
+MCI_SYSINFO_PARMSW
+MCI_SET_PARMS
+MCI_BREAK_PARMS
+MCI_SOUND_PARMSA
+MCI_SOUND_PARMSW
+MCI_SAVE_PARMSA
+MCI_SAVE_PARMSW
+MCI_LOAD_PARMSA
+MCI_LOAD_PARMSW
+MCI_RECORD_PARMS
+MCI_VD_PLAY_PARMS
+MCI_VD_STEP_PARMS
+MCI_VD_ESCAPE_PARMSA
+MCI_VD_ESCAPE_PARMSW
+MCI_WAVE_OPEN_PARMSA
+MCI_WAVE_OPEN_PARMSW
+MCI_WAVE_DELETE_PARMS
+MCI_WAVE_SET_PARMS
+MCI_SEQ_SET_PARMS
+MCI_ANIM_OPEN_PARMSA
+MCI_ANIM_OPEN_PARMSW
+MCI_ANIM_PLAY_PARMS
+MCI_ANIM_STEP_PARMS
+MCI_ANIM_WINDOW_PARMSA
+MCI_ANIM_WINDOW_PARMSW
+!MCI_ANIM_RECT_PARMS	# ifdef puzzles winapi
+MCI_ANIM_UPDATE_PARMS
+MCI_OVLY_OPEN_PARMSA
+MCI_OVLY_OPEN_PARMSW
+MCI_OVLY_WINDOW_PARMSA
+MCI_OVLY_WINDOW_PARMSW
+!MCI_OVLY_RECT_PARMS	# ifdef puzzles winapi
+MCI_OVLY_SAVE_PARMSA
+MCI_OVLY_SAVE_PARMSW
+MCI_OVLY_LOAD_PARMSA
+MCI_OVLY_LOAD_PARMSW






More information about the wine-patches mailing list