From: Bernhard Übelacker Subject: [PATCH] include: Fix packing of digitalv.h (try 2) Message-Id: <1438542800-23165-1-git-send-email-bernhardu@vr-web.de> Date: Sun, 2 Aug 2015 21:13:20 +0200 In wine64 the test winmm:mci is crashing because of this. [1] The reason is mciSendStringW sends a struct MCI_OPEN_PARMSW. This struct contains the pointer lpstrElementName. Then MCIQTZ_taskThread casts this to LPMCI_DGV_OPEN_PARMSW. Unfortunately both structs have currently differnt packing, therefore lpstrElementName is invalid now. Mingw-w64 includes pshpack1.h in both headers containing the structs. [2] [3] This iteration of this patch adds the missing include poppack.h. (Thanks to Dmitry Timoshkov) [1] https://test.winehq.org/data/b3fe96a0a9748c71a24fe0393fd964f0fb2f4ff4/linux_cw-gtx560-wow64/winmm:mci.html [2] http://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/mmsystem.h#l10 [3] http://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/digitalv.h#l10 --- dlls/winmm/tests/generated.c | 1525 ++++++++++++++++++++++++++++++++++++++++++ include/digitalv.h | 4 + tools/winapi/tests.dat | 39 ++ 3 files changed, 1568 insertions(+) diff --git a/dlls/winmm/tests/generated.c b/dlls/winmm/tests/generated.c index ccad9a7..ec25e07 100644 --- a/dlls/winmm/tests/generated.c +++ b/dlls/winmm/tests/generated.c @@ -13,6 +13,7 @@ #include "windef.h" #include "mmsystem.h" +#include "digitalv.h" #include "wine/test.h" @@ -1737,6 +1738,750 @@ static void test_pack_MCI_OVLY_LOAD_PARMSW(void) TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, rc, 16) } +static void test_pack_MCI_DGV_RECT_PARMS(void) +{ + /* MCI_DGV_RECT_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RECT_PARMS, 24) + TEST_TYPE_ALIGN (MCI_DGV_RECT_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_RECT_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_RECT_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECT_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RECT_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_RECT_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECT_PARMS, rc, 8) +} + +static void test_pack_MCI_DGV_CAPTURE_PARMSA(void) +{ + /* MCI_DGV_CAPTURE_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_CAPTURE_PARMSA, 32) + TEST_TYPE_ALIGN (MCI_DGV_CAPTURE_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 8) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 8) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSA, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, rc, 16) +} + +static void test_pack_MCI_DGV_CAPTURE_PARMSW(void) +{ + /* MCI_DGV_CAPTURE_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_CAPTURE_PARMSW, 32) + TEST_TYPE_ALIGN (MCI_DGV_CAPTURE_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 8) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 8) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSW, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, rc, 16) +} + +static void test_pack_MCI_DGV_COPY_PARMS(void) +{ + /* MCI_DGV_COPY_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_COPY_PARMS, 40) + TEST_TYPE_ALIGN (MCI_DGV_COPY_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwFrom, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwFrom, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwFrom, 8) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwTo, 12) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, rc, 16) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwAudioStream, 32) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwVideoStream, 36) +} + +static void test_pack_MCI_DGV_CUE_PARMS(void) +{ + /* MCI_DGV_CUE_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_CUE_PARMS, 12) + TEST_TYPE_ALIGN (MCI_DGV_CUE_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_CUE_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_CUE_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUE_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_CUE_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUE_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUE_PARMS, dwTo, 8) +} + +static void test_pack_MCI_DGV_CUT_PARMS(void) +{ + /* MCI_DGV_CUT_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_CUT_PARMS, 40) + TEST_TYPE_ALIGN (MCI_DGV_CUT_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwFrom, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwFrom, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwFrom, 8) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwTo, 12) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, rc, 16) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwAudioStream, 32) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwVideoStream, 36) +} + +static void test_pack_MCI_DGV_DELETE_PARMS(void) +{ + /* MCI_DGV_DELETE_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_DELETE_PARMS, 40) + TEST_TYPE_ALIGN (MCI_DGV_DELETE_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwFrom, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwFrom, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwFrom, 8) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwTo, 12) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, rc, 16) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwAudioStream, 32) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwVideoStream, 36) +} + +static void test_pack_MCI_DGV_INFO_PARMSA(void) +{ + /* MCI_DGV_INFO_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_INFO_PARMSA, 24) + TEST_TYPE_ALIGN (MCI_DGV_INFO_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSA, lpstrReturn, 8) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, lpstrReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, lpstrReturn, 8) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSA, dwRetSize, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwRetSize, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwRetSize, 16) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwItem, 20) +} + +static void test_pack_MCI_DGV_INFO_PARMSW(void) +{ + /* MCI_DGV_INFO_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_INFO_PARMSW, 24) + TEST_TYPE_ALIGN (MCI_DGV_INFO_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSW, lpstrReturn, 8) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, lpstrReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, lpstrReturn, 8) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSW, dwRetSize, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwRetSize, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwRetSize, 16) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwItem, 20) +} + +static void test_pack_MCI_DGV_LIST_PARMSA(void) +{ + /* MCI_DGV_LIST_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_LIST_PARMSA, 36) + TEST_TYPE_ALIGN (MCI_DGV_LIST_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, lpstrReturn, 8) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, lpstrReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, lpstrReturn, 8) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, dwLength, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwLength, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwLength, 16) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, dwNumber, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwNumber, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwNumber, 20) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwItem, 24) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 8) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 28) +} + +static void test_pack_MCI_DGV_LIST_PARMSW(void) +{ + /* MCI_DGV_LIST_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_LIST_PARMSW, 36) + TEST_TYPE_ALIGN (MCI_DGV_LIST_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, lpstrReturn, 8) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, lpstrReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, lpstrReturn, 8) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, dwLength, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwLength, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwLength, 16) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, dwNumber, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwNumber, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwNumber, 20) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwItem, 24) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 8) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 28) +} + +static void test_pack_MCI_DGV_MONITOR_PARMS(void) +{ + /* MCI_DGV_MONITOR_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_MONITOR_PARMS, 16) + TEST_TYPE_ALIGN (MCI_DGV_MONITOR_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_MONITOR_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_MONITOR_PARMS, dwSource, 4) + TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwSource, 1) + TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwSource, 8) + TEST_FIELD_SIZE (MCI_DGV_MONITOR_PARMS, dwMethod, 4) + TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwMethod, 1) + TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwMethod, 12) +} + +static void test_pack_MCI_DGV_OPEN_PARMSA(void) +{ + /* MCI_DGV_OPEN_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_OPEN_PARMSA, 48) + TEST_TYPE_ALIGN (MCI_DGV_OPEN_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, wDeviceID, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, wDeviceID, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, wDeviceID, 8) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 12) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, lpstrElementName, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrElementName, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrElementName, 20) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, lpstrAlias, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrAlias, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrAlias, 28) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, dwStyle, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, dwStyle, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, dwStyle, 36) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, hWndParent, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, hWndParent, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, hWndParent, 40) +} + +static void test_pack_MCI_DGV_OPEN_PARMSW(void) +{ + /* MCI_DGV_OPEN_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_OPEN_PARMSW, 48) + TEST_TYPE_ALIGN (MCI_DGV_OPEN_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, wDeviceID, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, wDeviceID, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, wDeviceID, 8) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 12) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, lpstrElementName, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrElementName, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrElementName, 20) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, lpstrAlias, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrAlias, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrAlias, 28) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, dwStyle, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, dwStyle, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, dwStyle, 36) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, hWndParent, 8) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, hWndParent, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, hWndParent, 40) +} + +static void test_pack_MCI_DGV_PASTE_PARMS(void) +{ + /* MCI_DGV_PASTE_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_PASTE_PARMS, 36) + TEST_TYPE_ALIGN (MCI_DGV_PASTE_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwTo, 8) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, rc, 12) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwAudioStream, 28) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwVideoStream, 32) +} + +static void test_pack_MCI_DGV_QUALITY_PARMSA(void) +{ + /* MCI_DGV_QUALITY_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_QUALITY_PARMSA, 28) + TEST_TYPE_ALIGN (MCI_DGV_QUALITY_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwItem, 8) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, lpstrName, 8) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, lpstrName, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, lpstrName, 12) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 20) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, dwHandle, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwHandle, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwHandle, 24) +} + +static void test_pack_MCI_DGV_QUALITY_PARMSW(void) +{ + /* MCI_DGV_QUALITY_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_QUALITY_PARMSW, 28) + TEST_TYPE_ALIGN (MCI_DGV_QUALITY_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwItem, 8) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, lpstrName, 8) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, lpstrName, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, lpstrName, 12) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 20) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, dwHandle, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwHandle, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwHandle, 24) +} + +static void test_pack_MCI_DGV_RECORD_PARMS(void) +{ + /* MCI_DGV_RECORD_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RECORD_PARMS, 40) + TEST_TYPE_ALIGN (MCI_DGV_RECORD_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwFrom, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwFrom, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwFrom, 8) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwTo, 12) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, rc, 16) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwAudioStream, 32) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwVideoStream, 36) +} + +static void test_pack_MCI_DGV_RESERVE_PARMSA(void) +{ + /* MCI_DGV_RESERVE_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RESERVE_PARMSA, 20) + TEST_TYPE_ALIGN (MCI_DGV_RESERVE_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSA, lpstrPath, 8) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, lpstrPath, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, lpstrPath, 8) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSA, dwSize, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, dwSize, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, dwSize, 16) +} + +static void test_pack_MCI_DGV_RESERVE_PARMSW(void) +{ + /* MCI_DGV_RESERVE_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RESERVE_PARMSW, 20) + TEST_TYPE_ALIGN (MCI_DGV_RESERVE_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSW, lpstrPath, 8) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, lpstrPath, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, lpstrPath, 8) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSW, dwSize, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, dwSize, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, dwSize, 16) +} + +static void test_pack_MCI_DGV_RESTORE_PARMSA(void) +{ + /* MCI_DGV_RESTORE_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RESTORE_PARMSA, 32) + TEST_TYPE_ALIGN (MCI_DGV_RESTORE_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSA, lpstrFileName, 8) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, lpstrFileName, 8) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSA, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, rc, 16) +} + +static void test_pack_MCI_DGV_RESTORE_PARMSW(void) +{ + /* MCI_DGV_RESTORE_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RESTORE_PARMSW, 32) + TEST_TYPE_ALIGN (MCI_DGV_RESTORE_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSW, lpstrFileName, 8) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, lpstrFileName, 8) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSW, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, rc, 16) +} + +static void test_pack_MCI_DGV_SAVE_PARMSA(void) +{ + /* MCI_DGV_SAVE_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SAVE_PARMSA, 32) + TEST_TYPE_ALIGN (MCI_DGV_SAVE_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSA, lpstrFileName, 8) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, lpstrFileName, 8) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSA, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, rc, 16) +} + +static void test_pack_MCI_DGV_SAVE_PARMSW(void) +{ + /* MCI_DGV_SAVE_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SAVE_PARMSW, 32) + TEST_TYPE_ALIGN (MCI_DGV_SAVE_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSW, lpstrFileName, 8) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, lpstrFileName, 8) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSW, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, rc, 16) +} + +static void test_pack_MCI_DGV_SET_PARMS(void) +{ + /* MCI_DGV_SET_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SET_PARMS, 24) + TEST_TYPE_ALIGN (MCI_DGV_SET_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwTimeFormat, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwTimeFormat, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwTimeFormat, 8) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwAudio, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwAudio, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwAudio, 12) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwFileFormat, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwFileFormat, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwFileFormat, 16) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwSpeed, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwSpeed, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwSpeed, 20) +} + +static void test_pack_MCI_DGV_SETAUDIO_PARMSA(void) +{ + /* MCI_DGV_SETAUDIO_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SETAUDIO_PARMSA, 36) + TEST_TYPE_ALIGN (MCI_DGV_SETAUDIO_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwItem, 8) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, dwValue, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwValue, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwValue, 12) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, dwOver, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwOver, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwOver, 16) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 20) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 28) +} + +static void test_pack_MCI_DGV_SETAUDIO_PARMSW(void) +{ + /* MCI_DGV_SETAUDIO_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SETAUDIO_PARMSW, 36) + TEST_TYPE_ALIGN (MCI_DGV_SETAUDIO_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwItem, 8) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, dwValue, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwValue, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwValue, 12) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, dwOver, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwOver, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwOver, 16) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 20) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 28) +} + +static void test_pack_MCI_DGV_SIGNAL_PARMS(void) +{ + /* MCI_DGV_SIGNAL_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SIGNAL_PARMS, 20) + TEST_TYPE_ALIGN (MCI_DGV_SIGNAL_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_SIGNAL_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SIGNAL_PARMS, dwPosition, 4) + TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwPosition, 1) + TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwPosition, 8) + TEST_FIELD_SIZE (MCI_DGV_SIGNAL_PARMS, dwPeriod, 4) + TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwPeriod, 1) + TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwPeriod, 12) + TEST_FIELD_SIZE (MCI_DGV_SIGNAL_PARMS, dwUserParm, 4) + TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwUserParm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwUserParm, 16) +} + +static void test_pack_MCI_DGV_SETVIDEO_PARMSA(void) +{ + /* MCI_DGV_SETVIDEO_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SETVIDEO_PARMSA, 40) + TEST_TYPE_ALIGN (MCI_DGV_SETVIDEO_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwItem, 8) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwValue, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwValue, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwValue, 12) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwOver, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwOver, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwOver, 16) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 20) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 28) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 36) +} + +static void test_pack_MCI_DGV_SETVIDEO_PARMSW(void) +{ + /* MCI_DGV_SETVIDEO_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SETVIDEO_PARMSW, 40) + TEST_TYPE_ALIGN (MCI_DGV_SETVIDEO_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwItem, 8) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwValue, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwValue, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwValue, 12) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwOver, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwOver, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwOver, 16) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 20) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 8) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 28) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 36) +} + +static void test_pack_MCI_DGV_STATUS_PARMSA(void) +{ + /* MCI_DGV_STATUS_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_STATUS_PARMSA, 36) + TEST_TYPE_ALIGN (MCI_DGV_STATUS_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwReturn, 8) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwReturn, 8) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwItem, 16) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwTrack, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwTrack, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwTrack, 20) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, lpstrDrive, 8) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, lpstrDrive, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, lpstrDrive, 24) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwReference, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwReference, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwReference, 32) +} + +static void test_pack_MCI_DGV_STATUS_PARMSW(void) +{ + /* MCI_DGV_STATUS_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_STATUS_PARMSW, 36) + TEST_TYPE_ALIGN (MCI_DGV_STATUS_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwReturn, 8) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwReturn, 8) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwItem, 16) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwTrack, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwTrack, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwTrack, 20) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, lpstrDrive, 8) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, lpstrDrive, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, lpstrDrive, 24) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwReference, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwReference, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwReference, 32) +} + +static void test_pack_MCI_DGV_STEP_PARMS(void) +{ + /* MCI_DGV_STEP_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_STEP_PARMS, 12) + TEST_TYPE_ALIGN (MCI_DGV_STEP_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_STEP_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_STEP_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_STEP_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_STEP_PARMS, dwFrames, 4) + TEST_FIELD_ALIGN (MCI_DGV_STEP_PARMS, dwFrames, 1) + TEST_FIELD_OFFSET(MCI_DGV_STEP_PARMS, dwFrames, 8) +} + +static void test_pack_MCI_DGV_UPDATE_PARMS(void) +{ + /* MCI_DGV_UPDATE_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_UPDATE_PARMS, 32) + TEST_TYPE_ALIGN (MCI_DGV_UPDATE_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_UPDATE_PARMS, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_UPDATE_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, rc, 8) + TEST_FIELD_SIZE (MCI_DGV_UPDATE_PARMS, hDC, 8) + TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, hDC, 1) + TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, hDC, 24) +} + +static void test_pack_MCI_DGV_WINDOW_PARMSA(void) +{ + /* MCI_DGV_WINDOW_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_WINDOW_PARMSA, 28) + TEST_TYPE_ALIGN (MCI_DGV_WINDOW_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSA, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSA, hWnd, 8) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, hWnd, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, hWnd, 8) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSA, nCmdShow, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, nCmdShow, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, nCmdShow, 16) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSA, lpstrText, 8) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, lpstrText, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, lpstrText, 20) +} + +static void test_pack_MCI_DGV_WINDOW_PARMSW(void) +{ + /* MCI_DGV_WINDOW_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_WINDOW_PARMSW, 28) + TEST_TYPE_ALIGN (MCI_DGV_WINDOW_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSW, dwCallback, 8) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSW, hWnd, 8) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, hWnd, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, hWnd, 8) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSW, nCmdShow, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, nCmdShow, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, nCmdShow, 16) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSW, lpstrText, 8) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, lpstrText, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, lpstrText, 20) +} + #else /* _WIN64 */ static void test_pack_MMTIME(void) @@ -3398,6 +4143,750 @@ static void test_pack_MCI_OVLY_LOAD_PARMSW(void) TEST_FIELD_OFFSET(MCI_OVLY_LOAD_PARMSW, rc, 8) } +static void test_pack_MCI_DGV_RECT_PARMS(void) +{ + /* MCI_DGV_RECT_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RECT_PARMS, 20) + TEST_TYPE_ALIGN (MCI_DGV_RECT_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_RECT_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECT_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECT_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RECT_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_RECT_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECT_PARMS, rc, 4) +} + +static void test_pack_MCI_DGV_CAPTURE_PARMSA(void) +{ + /* MCI_DGV_CAPTURE_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_CAPTURE_PARMSA, 24) + TEST_TYPE_ALIGN (MCI_DGV_CAPTURE_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 4) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, lpstrFileName, 4) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSA, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSA, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSA, rc, 8) +} + +static void test_pack_MCI_DGV_CAPTURE_PARMSW(void) +{ + /* MCI_DGV_CAPTURE_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_CAPTURE_PARMSW, 24) + TEST_TYPE_ALIGN (MCI_DGV_CAPTURE_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 4) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, lpstrFileName, 4) + TEST_FIELD_SIZE (MCI_DGV_CAPTURE_PARMSW, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_CAPTURE_PARMSW, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_CAPTURE_PARMSW, rc, 8) +} + +static void test_pack_MCI_DGV_COPY_PARMS(void) +{ + /* MCI_DGV_COPY_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_COPY_PARMS, 36) + TEST_TYPE_ALIGN (MCI_DGV_COPY_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwFrom, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwFrom, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwFrom, 4) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwTo, 8) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, rc, 12) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwAudioStream, 28) + TEST_FIELD_SIZE (MCI_DGV_COPY_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_COPY_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_COPY_PARMS, dwVideoStream, 32) +} + +static void test_pack_MCI_DGV_CUE_PARMS(void) +{ + /* MCI_DGV_CUE_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_CUE_PARMS, 8) + TEST_TYPE_ALIGN (MCI_DGV_CUE_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_CUE_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUE_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUE_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_CUE_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUE_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUE_PARMS, dwTo, 4) +} + +static void test_pack_MCI_DGV_CUT_PARMS(void) +{ + /* MCI_DGV_CUT_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_CUT_PARMS, 36) + TEST_TYPE_ALIGN (MCI_DGV_CUT_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwFrom, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwFrom, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwFrom, 4) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwTo, 8) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, rc, 12) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwAudioStream, 28) + TEST_FIELD_SIZE (MCI_DGV_CUT_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_CUT_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_CUT_PARMS, dwVideoStream, 32) +} + +static void test_pack_MCI_DGV_DELETE_PARMS(void) +{ + /* MCI_DGV_DELETE_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_DELETE_PARMS, 36) + TEST_TYPE_ALIGN (MCI_DGV_DELETE_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwFrom, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwFrom, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwFrom, 4) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwTo, 8) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, rc, 12) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwAudioStream, 28) + TEST_FIELD_SIZE (MCI_DGV_DELETE_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_DELETE_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_DELETE_PARMS, dwVideoStream, 32) +} + +static void test_pack_MCI_DGV_INFO_PARMSA(void) +{ + /* MCI_DGV_INFO_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_INFO_PARMSA, 16) + TEST_TYPE_ALIGN (MCI_DGV_INFO_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSA, lpstrReturn, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, lpstrReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, lpstrReturn, 4) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSA, dwRetSize, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwRetSize, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwRetSize, 8) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSA, dwItem, 12) +} + +static void test_pack_MCI_DGV_INFO_PARMSW(void) +{ + /* MCI_DGV_INFO_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_INFO_PARMSW, 16) + TEST_TYPE_ALIGN (MCI_DGV_INFO_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSW, lpstrReturn, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, lpstrReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, lpstrReturn, 4) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSW, dwRetSize, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwRetSize, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwRetSize, 8) + TEST_FIELD_SIZE (MCI_DGV_INFO_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_INFO_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_INFO_PARMSW, dwItem, 12) +} + +static void test_pack_MCI_DGV_LIST_PARMSA(void) +{ + /* MCI_DGV_LIST_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_LIST_PARMSA, 24) + TEST_TYPE_ALIGN (MCI_DGV_LIST_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, lpstrReturn, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, lpstrReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, lpstrReturn, 4) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, dwLength, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwLength, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwLength, 8) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, dwNumber, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwNumber, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwNumber, 12) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, dwItem, 16) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSA, lpstrAlgorithm, 20) +} + +static void test_pack_MCI_DGV_LIST_PARMSW(void) +{ + /* MCI_DGV_LIST_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_LIST_PARMSW, 24) + TEST_TYPE_ALIGN (MCI_DGV_LIST_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, lpstrReturn, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, lpstrReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, lpstrReturn, 4) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, dwLength, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwLength, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwLength, 8) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, dwNumber, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwNumber, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwNumber, 12) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, dwItem, 16) + TEST_FIELD_SIZE (MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_LIST_PARMSW, lpstrAlgorithm, 20) +} + +static void test_pack_MCI_DGV_MONITOR_PARMS(void) +{ + /* MCI_DGV_MONITOR_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_MONITOR_PARMS, 12) + TEST_TYPE_ALIGN (MCI_DGV_MONITOR_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_MONITOR_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_MONITOR_PARMS, dwSource, 4) + TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwSource, 1) + TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwSource, 4) + TEST_FIELD_SIZE (MCI_DGV_MONITOR_PARMS, dwMethod, 4) + TEST_FIELD_ALIGN (MCI_DGV_MONITOR_PARMS, dwMethod, 1) + TEST_FIELD_OFFSET(MCI_DGV_MONITOR_PARMS, dwMethod, 8) +} + +static void test_pack_MCI_DGV_OPEN_PARMSA(void) +{ + /* MCI_DGV_OPEN_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_OPEN_PARMSA, 28) + TEST_TYPE_ALIGN (MCI_DGV_OPEN_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, wDeviceID, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, wDeviceID, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, wDeviceID, 4) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrDeviceType, 8) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, lpstrElementName, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrElementName, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrElementName, 12) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, lpstrAlias, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, lpstrAlias, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, lpstrAlias, 16) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, dwStyle, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, dwStyle, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, dwStyle, 20) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSA, hWndParent, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSA, hWndParent, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSA, hWndParent, 24) +} + +static void test_pack_MCI_DGV_OPEN_PARMSW(void) +{ + /* MCI_DGV_OPEN_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_OPEN_PARMSW, 28) + TEST_TYPE_ALIGN (MCI_DGV_OPEN_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, wDeviceID, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, wDeviceID, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, wDeviceID, 4) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrDeviceType, 8) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, lpstrElementName, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrElementName, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrElementName, 12) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, lpstrAlias, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, lpstrAlias, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, lpstrAlias, 16) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, dwStyle, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, dwStyle, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, dwStyle, 20) + TEST_FIELD_SIZE (MCI_DGV_OPEN_PARMSW, hWndParent, 4) + TEST_FIELD_ALIGN (MCI_DGV_OPEN_PARMSW, hWndParent, 1) + TEST_FIELD_OFFSET(MCI_DGV_OPEN_PARMSW, hWndParent, 24) +} + +static void test_pack_MCI_DGV_PASTE_PARMS(void) +{ + /* MCI_DGV_PASTE_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_PASTE_PARMS, 32) + TEST_TYPE_ALIGN (MCI_DGV_PASTE_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwTo, 4) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, rc, 8) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwAudioStream, 24) + TEST_FIELD_SIZE (MCI_DGV_PASTE_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_PASTE_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_PASTE_PARMS, dwVideoStream, 28) +} + +static void test_pack_MCI_DGV_QUALITY_PARMSA(void) +{ + /* MCI_DGV_QUALITY_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_QUALITY_PARMSA, 20) + TEST_TYPE_ALIGN (MCI_DGV_QUALITY_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwItem, 4) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, lpstrName, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, lpstrName, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, lpstrName, 8) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, lpstrAlgorithm, 12) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSA, dwHandle, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSA, dwHandle, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSA, dwHandle, 16) +} + +static void test_pack_MCI_DGV_QUALITY_PARMSW(void) +{ + /* MCI_DGV_QUALITY_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_QUALITY_PARMSW, 20) + TEST_TYPE_ALIGN (MCI_DGV_QUALITY_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwItem, 4) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, lpstrName, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, lpstrName, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, lpstrName, 8) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, lpstrAlgorithm, 12) + TEST_FIELD_SIZE (MCI_DGV_QUALITY_PARMSW, dwHandle, 4) + TEST_FIELD_ALIGN (MCI_DGV_QUALITY_PARMSW, dwHandle, 1) + TEST_FIELD_OFFSET(MCI_DGV_QUALITY_PARMSW, dwHandle, 16) +} + +static void test_pack_MCI_DGV_RECORD_PARMS(void) +{ + /* MCI_DGV_RECORD_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RECORD_PARMS, 36) + TEST_TYPE_ALIGN (MCI_DGV_RECORD_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwFrom, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwFrom, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwFrom, 4) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwTo, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwTo, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwTo, 8) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, rc, 12) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwAudioStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwAudioStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwAudioStream, 28) + TEST_FIELD_SIZE (MCI_DGV_RECORD_PARMS, dwVideoStream, 4) + TEST_FIELD_ALIGN (MCI_DGV_RECORD_PARMS, dwVideoStream, 1) + TEST_FIELD_OFFSET(MCI_DGV_RECORD_PARMS, dwVideoStream, 32) +} + +static void test_pack_MCI_DGV_RESERVE_PARMSA(void) +{ + /* MCI_DGV_RESERVE_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RESERVE_PARMSA, 12) + TEST_TYPE_ALIGN (MCI_DGV_RESERVE_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSA, lpstrPath, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, lpstrPath, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, lpstrPath, 4) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSA, dwSize, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSA, dwSize, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSA, dwSize, 8) +} + +static void test_pack_MCI_DGV_RESERVE_PARMSW(void) +{ + /* MCI_DGV_RESERVE_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RESERVE_PARMSW, 12) + TEST_TYPE_ALIGN (MCI_DGV_RESERVE_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSW, lpstrPath, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, lpstrPath, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, lpstrPath, 4) + TEST_FIELD_SIZE (MCI_DGV_RESERVE_PARMSW, dwSize, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESERVE_PARMSW, dwSize, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESERVE_PARMSW, dwSize, 8) +} + +static void test_pack_MCI_DGV_RESTORE_PARMSA(void) +{ + /* MCI_DGV_RESTORE_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RESTORE_PARMSA, 24) + TEST_TYPE_ALIGN (MCI_DGV_RESTORE_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSA, lpstrFileName, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, lpstrFileName, 4) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSA, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSA, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSA, rc, 8) +} + +static void test_pack_MCI_DGV_RESTORE_PARMSW(void) +{ + /* MCI_DGV_RESTORE_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_RESTORE_PARMSW, 24) + TEST_TYPE_ALIGN (MCI_DGV_RESTORE_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSW, lpstrFileName, 4) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, lpstrFileName, 4) + TEST_FIELD_SIZE (MCI_DGV_RESTORE_PARMSW, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_RESTORE_PARMSW, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_RESTORE_PARMSW, rc, 8) +} + +static void test_pack_MCI_DGV_SAVE_PARMSA(void) +{ + /* MCI_DGV_SAVE_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SAVE_PARMSA, 24) + TEST_TYPE_ALIGN (MCI_DGV_SAVE_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSA, lpstrFileName, 4) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, lpstrFileName, 4) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSA, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSA, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSA, rc, 8) +} + +static void test_pack_MCI_DGV_SAVE_PARMSW(void) +{ + /* MCI_DGV_SAVE_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SAVE_PARMSW, 24) + TEST_TYPE_ALIGN (MCI_DGV_SAVE_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSW, lpstrFileName, 4) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, lpstrFileName, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, lpstrFileName, 4) + TEST_FIELD_SIZE (MCI_DGV_SAVE_PARMSW, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_SAVE_PARMSW, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_SAVE_PARMSW, rc, 8) +} + +static void test_pack_MCI_DGV_SET_PARMS(void) +{ + /* MCI_DGV_SET_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SET_PARMS, 20) + TEST_TYPE_ALIGN (MCI_DGV_SET_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwTimeFormat, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwTimeFormat, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwTimeFormat, 4) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwAudio, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwAudio, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwAudio, 8) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwFileFormat, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwFileFormat, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwFileFormat, 12) + TEST_FIELD_SIZE (MCI_DGV_SET_PARMS, dwSpeed, 4) + TEST_FIELD_ALIGN (MCI_DGV_SET_PARMS, dwSpeed, 1) + TEST_FIELD_OFFSET(MCI_DGV_SET_PARMS, dwSpeed, 16) +} + +static void test_pack_MCI_DGV_SETAUDIO_PARMSA(void) +{ + /* MCI_DGV_SETAUDIO_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SETAUDIO_PARMSA, 24) + TEST_TYPE_ALIGN (MCI_DGV_SETAUDIO_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwItem, 4) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, dwValue, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwValue, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwValue, 8) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, dwOver, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, dwOver, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, dwOver, 12) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, lpstrAlgorithm, 16) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSA, lpstrQuality, 20) +} + +static void test_pack_MCI_DGV_SETAUDIO_PARMSW(void) +{ + /* MCI_DGV_SETAUDIO_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SETAUDIO_PARMSW, 24) + TEST_TYPE_ALIGN (MCI_DGV_SETAUDIO_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwItem, 4) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, dwValue, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwValue, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwValue, 8) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, dwOver, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, dwOver, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, dwOver, 12) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, lpstrAlgorithm, 16) + TEST_FIELD_SIZE (MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETAUDIO_PARMSW, lpstrQuality, 20) +} + +static void test_pack_MCI_DGV_SIGNAL_PARMS(void) +{ + /* MCI_DGV_SIGNAL_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SIGNAL_PARMS, 16) + TEST_TYPE_ALIGN (MCI_DGV_SIGNAL_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_SIGNAL_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SIGNAL_PARMS, dwPosition, 4) + TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwPosition, 1) + TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwPosition, 4) + TEST_FIELD_SIZE (MCI_DGV_SIGNAL_PARMS, dwPeriod, 4) + TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwPeriod, 1) + TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwPeriod, 8) + TEST_FIELD_SIZE (MCI_DGV_SIGNAL_PARMS, dwUserParm, 4) + TEST_FIELD_ALIGN (MCI_DGV_SIGNAL_PARMS, dwUserParm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SIGNAL_PARMS, dwUserParm, 12) +} + +static void test_pack_MCI_DGV_SETVIDEO_PARMSA(void) +{ + /* MCI_DGV_SETVIDEO_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SETVIDEO_PARMSA, 28) + TEST_TYPE_ALIGN (MCI_DGV_SETVIDEO_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwItem, 4) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwValue, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwValue, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwValue, 8) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwOver, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwOver, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwOver, 12) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, lpstrAlgorithm, 16) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, lpstrQuality, 20) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSA, dwSourceNumber, 24) +} + +static void test_pack_MCI_DGV_SETVIDEO_PARMSW(void) +{ + /* MCI_DGV_SETVIDEO_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_SETVIDEO_PARMSW, 28) + TEST_TYPE_ALIGN (MCI_DGV_SETVIDEO_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwItem, 4) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwValue, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwValue, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwValue, 8) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwOver, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwOver, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwOver, 12) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, lpstrAlgorithm, 16) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, lpstrQuality, 20) + TEST_FIELD_SIZE (MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 4) + TEST_FIELD_ALIGN (MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 1) + TEST_FIELD_OFFSET(MCI_DGV_SETVIDEO_PARMSW, dwSourceNumber, 24) +} + +static void test_pack_MCI_DGV_STATUS_PARMSA(void) +{ + /* MCI_DGV_STATUS_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_STATUS_PARMSA, 24) + TEST_TYPE_ALIGN (MCI_DGV_STATUS_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwReturn, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwReturn, 4) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwItem, 8) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwTrack, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwTrack, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwTrack, 12) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, lpstrDrive, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, lpstrDrive, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, lpstrDrive, 16) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSA, dwReference, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSA, dwReference, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSA, dwReference, 20) +} + +static void test_pack_MCI_DGV_STATUS_PARMSW(void) +{ + /* MCI_DGV_STATUS_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_STATUS_PARMSW, 24) + TEST_TYPE_ALIGN (MCI_DGV_STATUS_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwReturn, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwReturn, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwReturn, 4) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwItem, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwItem, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwItem, 8) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwTrack, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwTrack, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwTrack, 12) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, lpstrDrive, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, lpstrDrive, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, lpstrDrive, 16) + TEST_FIELD_SIZE (MCI_DGV_STATUS_PARMSW, dwReference, 4) + TEST_FIELD_ALIGN (MCI_DGV_STATUS_PARMSW, dwReference, 1) + TEST_FIELD_OFFSET(MCI_DGV_STATUS_PARMSW, dwReference, 20) +} + +static void test_pack_MCI_DGV_STEP_PARMS(void) +{ + /* MCI_DGV_STEP_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_STEP_PARMS, 8) + TEST_TYPE_ALIGN (MCI_DGV_STEP_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_STEP_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_STEP_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_STEP_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_STEP_PARMS, dwFrames, 4) + TEST_FIELD_ALIGN (MCI_DGV_STEP_PARMS, dwFrames, 1) + TEST_FIELD_OFFSET(MCI_DGV_STEP_PARMS, dwFrames, 4) +} + +static void test_pack_MCI_DGV_UPDATE_PARMS(void) +{ + /* MCI_DGV_UPDATE_PARMS (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_UPDATE_PARMS, 24) + TEST_TYPE_ALIGN (MCI_DGV_UPDATE_PARMS, 1) + TEST_FIELD_SIZE (MCI_DGV_UPDATE_PARMS, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_UPDATE_PARMS, rc, 16) + TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, rc, 1) + TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, rc, 4) + TEST_FIELD_SIZE (MCI_DGV_UPDATE_PARMS, hDC, 4) + TEST_FIELD_ALIGN (MCI_DGV_UPDATE_PARMS, hDC, 1) + TEST_FIELD_OFFSET(MCI_DGV_UPDATE_PARMS, hDC, 20) +} + +static void test_pack_MCI_DGV_WINDOW_PARMSA(void) +{ + /* MCI_DGV_WINDOW_PARMSA (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_WINDOW_PARMSA, 16) + TEST_TYPE_ALIGN (MCI_DGV_WINDOW_PARMSA, 1) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSA, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSA, hWnd, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, hWnd, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, hWnd, 4) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSA, nCmdShow, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, nCmdShow, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, nCmdShow, 8) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSA, lpstrText, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSA, lpstrText, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSA, lpstrText, 12) +} + +static void test_pack_MCI_DGV_WINDOW_PARMSW(void) +{ + /* MCI_DGV_WINDOW_PARMSW (pack 1) */ + TEST_TYPE_SIZE (MCI_DGV_WINDOW_PARMSW, 16) + TEST_TYPE_ALIGN (MCI_DGV_WINDOW_PARMSW, 1) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSW, dwCallback, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, dwCallback, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, dwCallback, 0) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSW, hWnd, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, hWnd, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, hWnd, 4) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSW, nCmdShow, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, nCmdShow, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, nCmdShow, 8) + TEST_FIELD_SIZE (MCI_DGV_WINDOW_PARMSW, lpstrText, 4) + TEST_FIELD_ALIGN (MCI_DGV_WINDOW_PARMSW, lpstrText, 1) + TEST_FIELD_OFFSET(MCI_DGV_WINDOW_PARMSW, lpstrText, 12) +} + #endif /* _WIN64 */ static void test_pack(void) @@ -3421,6 +4910,42 @@ static void test_pack(void) test_pack_MCI_ANIM_WINDOW_PARMSA(); test_pack_MCI_ANIM_WINDOW_PARMSW(); test_pack_MCI_BREAK_PARMS(); + test_pack_MCI_DGV_CAPTURE_PARMSA(); + test_pack_MCI_DGV_CAPTURE_PARMSW(); + test_pack_MCI_DGV_COPY_PARMS(); + test_pack_MCI_DGV_CUE_PARMS(); + test_pack_MCI_DGV_CUT_PARMS(); + test_pack_MCI_DGV_DELETE_PARMS(); + test_pack_MCI_DGV_INFO_PARMSA(); + test_pack_MCI_DGV_INFO_PARMSW(); + test_pack_MCI_DGV_LIST_PARMSA(); + test_pack_MCI_DGV_LIST_PARMSW(); + test_pack_MCI_DGV_MONITOR_PARMS(); + test_pack_MCI_DGV_OPEN_PARMSA(); + test_pack_MCI_DGV_OPEN_PARMSW(); + test_pack_MCI_DGV_PASTE_PARMS(); + test_pack_MCI_DGV_QUALITY_PARMSA(); + test_pack_MCI_DGV_QUALITY_PARMSW(); + test_pack_MCI_DGV_RECORD_PARMS(); + test_pack_MCI_DGV_RECT_PARMS(); + test_pack_MCI_DGV_RESERVE_PARMSA(); + test_pack_MCI_DGV_RESERVE_PARMSW(); + test_pack_MCI_DGV_RESTORE_PARMSA(); + test_pack_MCI_DGV_RESTORE_PARMSW(); + test_pack_MCI_DGV_SAVE_PARMSA(); + test_pack_MCI_DGV_SAVE_PARMSW(); + test_pack_MCI_DGV_SETAUDIO_PARMSA(); + test_pack_MCI_DGV_SETAUDIO_PARMSW(); + test_pack_MCI_DGV_SETVIDEO_PARMSA(); + test_pack_MCI_DGV_SETVIDEO_PARMSW(); + test_pack_MCI_DGV_SET_PARMS(); + test_pack_MCI_DGV_SIGNAL_PARMS(); + test_pack_MCI_DGV_STATUS_PARMSA(); + test_pack_MCI_DGV_STATUS_PARMSW(); + test_pack_MCI_DGV_STEP_PARMS(); + test_pack_MCI_DGV_UPDATE_PARMS(); + test_pack_MCI_DGV_WINDOW_PARMSA(); + test_pack_MCI_DGV_WINDOW_PARMSW(); test_pack_MCI_GENERIC_PARMS(); test_pack_MCI_GETDEVCAPS_PARMS(); test_pack_MCI_INFO_PARMSA(); diff --git a/include/digitalv.h b/include/digitalv.h index a4ceb54..b2930fe 100644 --- a/include/digitalv.h +++ b/include/digitalv.h @@ -23,6 +23,8 @@ * Wine Digital Video extensions */ +#include + #ifdef __cplusplus extern "C" { #endif @@ -863,4 +865,6 @@ DECL_WINELIB_TYPE_AW(MCI_DGV_WINDOW_PARMS) } #endif +#include + #endif /* __WINE_DIGITALV_H */ diff --git a/tools/winapi/tests.dat b/tools/winapi/tests.dat index 4632a8b..9179d94 100644 --- a/tools/winapi/tests.dat +++ b/tools/winapi/tests.dat @@ -1734,11 +1734,13 @@ basetsd.h winnt.h windef.h mmsystem.h +digitalv.h %include "windef.h" "mmsystem.h" +"digitalv.h" %type @@ -1842,3 +1844,40 @@ MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMSW MCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMSW + +MCI_DGV_RECT_PARMS +MCI_DGV_CAPTURE_PARMSA +MCI_DGV_CAPTURE_PARMSW +MCI_DGV_COPY_PARMS +MCI_DGV_CUE_PARMS +MCI_DGV_CUT_PARMS +MCI_DGV_DELETE_PARMS +MCI_DGV_INFO_PARMSA +MCI_DGV_INFO_PARMSW +MCI_DGV_LIST_PARMSA +MCI_DGV_LIST_PARMSW +MCI_DGV_MONITOR_PARMS +MCI_DGV_OPEN_PARMSA +MCI_DGV_OPEN_PARMSW +MCI_DGV_PASTE_PARMS +MCI_DGV_QUALITY_PARMSA +MCI_DGV_QUALITY_PARMSW +MCI_DGV_RECORD_PARMS +MCI_DGV_RESERVE_PARMSA +MCI_DGV_RESERVE_PARMSW +MCI_DGV_RESTORE_PARMSA +MCI_DGV_RESTORE_PARMSW +MCI_DGV_SAVE_PARMSA +MCI_DGV_SAVE_PARMSW +MCI_DGV_SET_PARMS +MCI_DGV_SETAUDIO_PARMSA +MCI_DGV_SETAUDIO_PARMSW +MCI_DGV_SIGNAL_PARMS +MCI_DGV_SETVIDEO_PARMSA +MCI_DGV_SETVIDEO_PARMSW +MCI_DGV_STATUS_PARMSA +MCI_DGV_STATUS_PARMSW +MCI_DGV_STEP_PARMS +MCI_DGV_UPDATE_PARMS +MCI_DGV_WINDOW_PARMSA +MCI_DGV_WINDOW_PARMSW -- 2.1.4