Updated the auto-generated tests.

diff --git a/dlls/gdi/tests/generated.c b/dlls/gdi/tests/generated.c
index 09176d9..f1b3f7c 100644
--- a/dlls/gdi/tests/generated.c
+++ b/dlls/gdi/tests/generated.c
@@ -332,19 +332,25 @@
 static void test_pack_DISPLAY_DEVICEA(void)
 {
     /* DISPLAY_DEVICEA (pack 4) */
+    TEST_TYPE(DISPLAY_DEVICEA, 424, 4);
     TEST_FIELD(DISPLAY_DEVICEA, DWORD, cb, 0, 4, 4);
     TEST_FIELD(DISPLAY_DEVICEA, CHAR[32], DeviceName, 4, 32, 1);
     TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceString, 36, 128, 1);
     TEST_FIELD(DISPLAY_DEVICEA, DWORD, StateFlags, 164, 4, 4);
+    TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceID, 168, 128, 1);
+    TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceKey, 296, 128, 1);
 }
 
 static void test_pack_DISPLAY_DEVICEW(void)
 {
     /* DISPLAY_DEVICEW (pack 4) */
+    TEST_TYPE(DISPLAY_DEVICEW, 840, 4);
     TEST_FIELD(DISPLAY_DEVICEW, DWORD, cb, 0, 4, 4);
     TEST_FIELD(DISPLAY_DEVICEW, WCHAR[32], DeviceName, 4, 64, 2);
     TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceString, 68, 256, 2);
     TEST_FIELD(DISPLAY_DEVICEW, DWORD, StateFlags, 324, 4, 4);
+    TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceID, 328, 256, 2);
+    TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceKey, 584, 256, 2);
 }
 
 static void test_pack_DOCINFOA(void)
@@ -470,6 +476,27 @@
     TEST_FIELD(EMRCREATEBRUSHINDIRECT, LOGBRUSH, lb, 12, 12, 4);
 }
 
+static void test_pack_EMRCREATECOLORSPACE(void)
+{
+    /* EMRCREATECOLORSPACE (pack 4) */
+    TEST_TYPE(EMRCREATECOLORSPACE, 340, 4);
+    TEST_FIELD(EMRCREATECOLORSPACE, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRCREATECOLORSPACE, DWORD, ihCS, 8, 4, 4);
+    TEST_FIELD(EMRCREATECOLORSPACE, LOGCOLORSPACEA, lcs, 12, 328, 4);
+}
+
+static void test_pack_EMRCREATECOLORSPACEW(void)
+{
+    /* EMRCREATECOLORSPACEW (pack 4) */
+    TEST_TYPE(EMRCREATECOLORSPACEW, 612, 4);
+    TEST_FIELD(EMRCREATECOLORSPACEW, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, ihCS, 8, 4, 4);
+    TEST_FIELD(EMRCREATECOLORSPACEW, LOGCOLORSPACEW, lcs, 12, 588, 4);
+    TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, dwFlags, 600, 4, 4);
+    TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, cbData, 604, 4, 4);
+    TEST_FIELD(EMRCREATECOLORSPACEW, BYTE[1], Data, 608, 1, 1);
+}
+
 static void test_pack_EMRCREATEDIBPATTERNBRUSHPT(void)
 {
     /* EMRCREATEDIBPATTERNBRUSHPT (pack 4) */
@@ -696,6 +723,14 @@
     TEST_FIELD(EMRGLSRECORD, BYTE[1], Data, 12, 1, 1);
 }
 
+static void test_pack_EMRINTERSECTCLIPRECT(void)
+{
+    /* EMRINTERSECTCLIPRECT (pack 4) */
+    TEST_TYPE(EMRINTERSECTCLIPRECT, 24, 4);
+    TEST_FIELD(EMRINTERSECTCLIPRECT, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRINTERSECTCLIPRECT, RECTL, rclClip, 8, 16, 4);
+}
+
 static void test_pack_EMRINVERTRGN(void)
 {
     /* EMRINVERTRGN (pack 4) */
@@ -706,14 +741,6 @@
     TEST_FIELD(EMRINVERTRGN, BYTE[1], RgnData, 28, 1, 1);
 }
 
-static void test_pack_EMRINTERSECTCLIPRECT(void)
-{
-    /* EMRINTERSECTCLIPRECT (pack 4) */
-    TEST_TYPE(EMRINTERSECTCLIPRECT, 24, 4);
-    TEST_FIELD(EMRINTERSECTCLIPRECT, EMR, emr, 0, 8, 4);
-    TEST_FIELD(EMRINTERSECTCLIPRECT, RECTL, rclClip, 8, 16, 4);
-}
-
 static void test_pack_EMRLINETO(void)
 {
     /* EMRLINETO (pack 4) */
@@ -841,6 +868,16 @@
     TEST_FIELD(EMRPOLYBEZIER, POINTL[1], aptl, 28, 8, 4);
 }
 
+static void test_pack_EMRPOLYBEZIER16(void)
+{
+    /* EMRPOLYBEZIER16 (pack 4) */
+    TEST_TYPE(EMRPOLYBEZIER16, 32, 4);
+    TEST_FIELD(EMRPOLYBEZIER16, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRPOLYBEZIER16, RECTL, rclBounds, 8, 16, 4);
+    TEST_FIELD(EMRPOLYBEZIER16, DWORD, cpts, 24, 4, 4);
+    TEST_FIELD(EMRPOLYBEZIER16, POINTS[1], apts, 28, 4, 2);
+}
+
 static void test_pack_EMRPOLYBEZIERTO(void)
 {
     /* EMRPOLYBEZIERTO (pack 4) */
@@ -851,6 +888,16 @@
     TEST_FIELD(EMRPOLYBEZIERTO, POINTL[1], aptl, 28, 8, 4);
 }
 
+static void test_pack_EMRPOLYBEZIERTO16(void)
+{
+    /* EMRPOLYBEZIERTO16 (pack 4) */
+    TEST_TYPE(EMRPOLYBEZIERTO16, 32, 4);
+    TEST_FIELD(EMRPOLYBEZIERTO16, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRPOLYBEZIERTO16, RECTL, rclBounds, 8, 16, 4);
+    TEST_FIELD(EMRPOLYBEZIERTO16, DWORD, cpts, 24, 4, 4);
+    TEST_FIELD(EMRPOLYBEZIERTO16, POINTS[1], apts, 28, 4, 2);
+}
+
 static void test_pack_EMRPOLYDRAW(void)
 {
     /* EMRPOLYDRAW (pack 4) */
@@ -862,6 +909,17 @@
     TEST_FIELD(EMRPOLYDRAW, BYTE[1], abTypes, 36, 1, 1);
 }
 
+static void test_pack_EMRPOLYDRAW16(void)
+{
+    /* EMRPOLYDRAW16 (pack 4) */
+    TEST_TYPE(EMRPOLYDRAW16, 36, 4);
+    TEST_FIELD(EMRPOLYDRAW16, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRPOLYDRAW16, RECTL, rclBounds, 8, 16, 4);
+    TEST_FIELD(EMRPOLYDRAW16, DWORD, cpts, 24, 4, 4);
+    TEST_FIELD(EMRPOLYDRAW16, POINTS[1], apts, 28, 4, 2);
+    TEST_FIELD(EMRPOLYDRAW16, BYTE[1], abTypes, 32, 1, 1);
+}
+
 static void test_pack_EMRPOLYGON(void)
 {
     /* EMRPOLYGON (pack 4) */
@@ -872,6 +930,16 @@
     TEST_FIELD(EMRPOLYGON, POINTL[1], aptl, 28, 8, 4);
 }
 
+static void test_pack_EMRPOLYGON16(void)
+{
+    /* EMRPOLYGON16 (pack 4) */
+    TEST_TYPE(EMRPOLYGON16, 32, 4);
+    TEST_FIELD(EMRPOLYGON16, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRPOLYGON16, RECTL, rclBounds, 8, 16, 4);
+    TEST_FIELD(EMRPOLYGON16, DWORD, cpts, 24, 4, 4);
+    TEST_FIELD(EMRPOLYGON16, POINTS[1], apts, 28, 4, 2);
+}
+
 static void test_pack_EMRPOLYLINE(void)
 {
     /* EMRPOLYLINE (pack 4) */
@@ -882,6 +950,16 @@
     TEST_FIELD(EMRPOLYLINE, POINTL[1], aptl, 28, 8, 4);
 }
 
+static void test_pack_EMRPOLYLINE16(void)
+{
+    /* EMRPOLYLINE16 (pack 4) */
+    TEST_TYPE(EMRPOLYLINE16, 32, 4);
+    TEST_FIELD(EMRPOLYLINE16, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRPOLYLINE16, RECTL, rclBounds, 8, 16, 4);
+    TEST_FIELD(EMRPOLYLINE16, DWORD, cpts, 24, 4, 4);
+    TEST_FIELD(EMRPOLYLINE16, POINTS[1], apts, 28, 4, 2);
+}
+
 static void test_pack_EMRPOLYLINETO(void)
 {
     /* EMRPOLYLINETO (pack 4) */
@@ -892,6 +970,16 @@
     TEST_FIELD(EMRPOLYLINETO, POINTL[1], aptl, 28, 8, 4);
 }
 
+static void test_pack_EMRPOLYLINETO16(void)
+{
+    /* EMRPOLYLINETO16 (pack 4) */
+    TEST_TYPE(EMRPOLYLINETO16, 32, 4);
+    TEST_FIELD(EMRPOLYLINETO16, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRPOLYLINETO16, RECTL, rclBounds, 8, 16, 4);
+    TEST_FIELD(EMRPOLYLINETO16, DWORD, cpts, 24, 4, 4);
+    TEST_FIELD(EMRPOLYLINETO16, POINTS[1], apts, 28, 4, 2);
+}
+
 static void test_pack_EMRPOLYPOLYGON(void)
 {
     /* EMRPOLYPOLYGON (pack 4) */
@@ -904,6 +992,18 @@
     TEST_FIELD(EMRPOLYPOLYGON, POINTL[1], aptl, 36, 8, 4);
 }
 
+static void test_pack_EMRPOLYPOLYGON16(void)
+{
+    /* EMRPOLYPOLYGON16 (pack 4) */
+    TEST_TYPE(EMRPOLYPOLYGON16, 40, 4);
+    TEST_FIELD(EMRPOLYPOLYGON16, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRPOLYPOLYGON16, RECTL, rclBounds, 8, 16, 4);
+    TEST_FIELD(EMRPOLYPOLYGON16, DWORD, nPolys, 24, 4, 4);
+    TEST_FIELD(EMRPOLYPOLYGON16, DWORD, cpts, 28, 4, 4);
+    TEST_FIELD(EMRPOLYPOLYGON16, DWORD[1], aPolyCounts, 32, 4, 4);
+    TEST_FIELD(EMRPOLYPOLYGON16, POINTS[1], apts, 36, 4, 2);
+}
+
 static void test_pack_EMRPOLYPOLYLINE(void)
 {
     /* EMRPOLYPOLYLINE (pack 4) */
@@ -916,6 +1016,18 @@
     TEST_FIELD(EMRPOLYPOLYLINE, POINTL[1], aptl, 36, 8, 4);
 }
 
+static void test_pack_EMRPOLYPOLYLINE16(void)
+{
+    /* EMRPOLYPOLYLINE16 (pack 4) */
+    TEST_TYPE(EMRPOLYPOLYLINE16, 40, 4);
+    TEST_FIELD(EMRPOLYPOLYLINE16, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRPOLYPOLYLINE16, RECTL, rclBounds, 8, 16, 4);
+    TEST_FIELD(EMRPOLYPOLYLINE16, DWORD, nPolys, 24, 4, 4);
+    TEST_FIELD(EMRPOLYPOLYLINE16, DWORD, cpts, 28, 4, 4);
+    TEST_FIELD(EMRPOLYPOLYLINE16, DWORD[1], aPolyCounts, 32, 4, 4);
+    TEST_FIELD(EMRPOLYPOLYLINE16, POINTS[1], apts, 36, 4, 2);
+}
+
 static void test_pack_EMRPOLYTEXTOUTA(void)
 {
     /* EMRPOLYTEXTOUTA (pack 4) */
@@ -1084,6 +1196,14 @@
     TEST_FIELD(EMRSETCOLORADJUSTMENT, COLORADJUSTMENT, ColorAdjustment, 8, 24, 2);
 }
 
+static void test_pack_EMRSETCOLORSPACE(void)
+{
+    /* EMRSETCOLORSPACE (pack 4) */
+    TEST_TYPE(EMRSETCOLORSPACE, 12, 4);
+    TEST_FIELD(EMRSETCOLORSPACE, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRSETCOLORSPACE, DWORD, ihCS, 8, 4, 4);
+}
+
 static void test_pack_EMRSETDIBITSTODEVICE(void)
 {
     /* EMRSETDIBITSTODEVICE (pack 4) */
@@ -1113,6 +1233,14 @@
     TEST_FIELD(EMRSETICMMODE, DWORD, iMode, 8, 4, 4);
 }
 
+static void test_pack_EMRSETLAYOUT(void)
+{
+    /* EMRSETLAYOUT (pack 4) */
+    TEST_TYPE(EMRSETLAYOUT, 12, 4);
+    TEST_FIELD(EMRSETLAYOUT, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRSETLAYOUT, DWORD, iMode, 8, 4, 4);
+}
+
 static void test_pack_EMRSETMAPMODE(void)
 {
     /* EMRSETMAPMODE (pack 4) */
@@ -1193,6 +1321,15 @@
     TEST_FIELD(EMRSETTEXTCOLOR, COLORREF, crColor, 8, 4, 4);
 }
 
+static void test_pack_EMRSETTEXTJUSTIFICATION(void)
+{
+    /* EMRSETTEXTJUSTIFICATION (pack 4) */
+    TEST_TYPE(EMRSETTEXTJUSTIFICATION, 16, 4);
+    TEST_FIELD(EMRSETTEXTJUSTIFICATION, EMR, emr, 0, 8, 4);
+    TEST_FIELD(EMRSETTEXTJUSTIFICATION, INT, nBreakExtra, 8, 4, 4);
+    TEST_FIELD(EMRSETTEXTJUSTIFICATION, INT, nBreakCount, 12, 4, 4);
+}
+
 static void test_pack_EMRSETVIEWPORTEXTEX(void)
 {
     /* EMRSETVIEWPORTEXTEX (pack 4) */
@@ -1317,6 +1454,7 @@
 static void test_pack_ENHMETAHEADER(void)
 {
     /* ENHMETAHEADER (pack 4) */
+    TEST_TYPE(ENHMETAHEADER, 108, 4);
     TEST_FIELD(ENHMETAHEADER, DWORD, iType, 0, 4, 4);
     TEST_FIELD(ENHMETAHEADER, DWORD, nSize, 4, 4, 4);
     TEST_FIELD(ENHMETAHEADER, RECTL, rclBounds, 8, 16, 4);
@@ -1335,6 +1473,7 @@
     TEST_FIELD(ENHMETAHEADER, DWORD, cbPixelFormat, 88, 4, 4);
     TEST_FIELD(ENHMETAHEADER, DWORD, offPixelFormat, 92, 4, 4);
     TEST_FIELD(ENHMETAHEADER, DWORD, bOpenGL, 96, 4, 4);
+    TEST_FIELD(ENHMETAHEADER, SIZEL, szlMicrometers, 100, 8, 4);
 }
 
 static void test_pack_ENHMETARECORD(void)
@@ -1435,6 +1574,18 @@
     TEST_FIELD(EXTLOGPEN, DWORD[1], elpStyleEntry, 24, 4, 4);
 }
 
+static void test_pack_EnumICMProfilesProcCallbackA(void)
+{
+    /* EnumICMProfilesProcCallbackA */
+    TEST_TYPE(EnumICMProfilesProcCallbackA, 4, 4);
+}
+
+static void test_pack_EnumICMProfilesProcCallbackW(void)
+{
+    /* EnumICMProfilesProcCallbackW */
+    TEST_TYPE(EnumICMProfilesProcCallbackW, 4, 4);
+}
+
 static void test_pack_FIXED(void)
 {
     /* FIXED (pack 4) */
@@ -1478,17 +1629,31 @@
 static void test_pack_GCP_RESULTSA(void)
 {
     /* GCP_RESULTSA (pack 4) */
+    TEST_TYPE(GCP_RESULTSA, 36, 4);
     TEST_FIELD(GCP_RESULTSA, DWORD, lStructSize, 0, 4, 4);
+    TEST_FIELD(GCP_RESULTSA, LPSTR, lpOutString, 4, 4, 4);
+    TEST_FIELD(GCP_RESULTSA, UINT *, lpOrder, 8, 4, 4);
+    TEST_FIELD(GCP_RESULTSA, INT *, lpDx, 12, 4, 4);
+    TEST_FIELD(GCP_RESULTSA, INT *, lpCaretPos, 16, 4, 4);
+    TEST_FIELD(GCP_RESULTSA, LPSTR, lpClass, 20, 4, 4);
+    TEST_FIELD(GCP_RESULTSA, LPWSTR, lpGlyphs, 24, 4, 4);
+    TEST_FIELD(GCP_RESULTSA, UINT, nGlyphs, 28, 4, 4);
+    TEST_FIELD(GCP_RESULTSA, UINT, nMaxFit, 32, 4, 4);
 }
 
 static void test_pack_GCP_RESULTSW(void)
 {
     /* GCP_RESULTSW (pack 4) */
+    TEST_TYPE(GCP_RESULTSW, 36, 4);
     TEST_FIELD(GCP_RESULTSW, DWORD, lStructSize, 0, 4, 4);
     TEST_FIELD(GCP_RESULTSW, LPWSTR, lpOutString, 4, 4, 4);
     TEST_FIELD(GCP_RESULTSW, UINT *, lpOrder, 8, 4, 4);
     TEST_FIELD(GCP_RESULTSW, INT *, lpDx, 12, 4, 4);
     TEST_FIELD(GCP_RESULTSW, INT *, lpCaretPos, 16, 4, 4);
+    TEST_FIELD(GCP_RESULTSW, LPSTR, lpClass, 20, 4, 4);
+    TEST_FIELD(GCP_RESULTSW, LPWSTR, lpGlyphs, 24, 4, 4);
+    TEST_FIELD(GCP_RESULTSW, UINT, nGlyphs, 28, 4, 4);
+    TEST_FIELD(GCP_RESULTSW, UINT, nMaxFit, 32, 4, 4);
 }
 
 static void test_pack_GLYPHMETRICS(void)
@@ -1532,6 +1697,18 @@
     TEST_FIELD(HANDLETABLE, HGDIOBJ[1], objectHandle, 0, 4, 4);
 }
 
+static void test_pack_ICMENUMPROCA(void)
+{
+    /* ICMENUMPROCA */
+    TEST_TYPE(ICMENUMPROCA, 4, 4);
+}
+
+static void test_pack_ICMENUMPROCW(void)
+{
+    /* ICMENUMPROCW */
+    TEST_TYPE(ICMENUMPROCW, 4, 4);
+}
+
 static void test_pack_KERNINGPAIR(void)
 {
     /* KERNINGPAIR (pack 4) */
@@ -1749,18 +1926,6 @@
     TEST_TYPE_POINTER(LPCOLORADJUSTMENT, 24, 2);
 }
 
-static void test_pack_LPDEVMODEA(void)
-{
-    /* LPDEVMODEA */
-    TEST_TYPE(LPDEVMODEA, 4, 4);
-}
-
-static void test_pack_LPDEVMODEW(void)
-{
-    /* LPDEVMODEW */
-    TEST_TYPE(LPDEVMODEW, 4, 4);
-}
-
 static void test_pack_LPDIBSECTION(void)
 {
     /* LPDIBSECTION */
@@ -1772,12 +1937,14 @@
 {
     /* LPDISPLAY_DEVICEA */
     TEST_TYPE(LPDISPLAY_DEVICEA, 4, 4);
+    TEST_TYPE_POINTER(LPDISPLAY_DEVICEA, 424, 4);
 }
 
 static void test_pack_LPDISPLAY_DEVICEW(void)
 {
     /* LPDISPLAY_DEVICEW */
     TEST_TYPE(LPDISPLAY_DEVICEW, 4, 4);
+    TEST_TYPE_POINTER(LPDISPLAY_DEVICEW, 840, 4);
 }
 
 static void test_pack_LPDOCINFOA(void)
@@ -1798,6 +1965,7 @@
 {
     /* LPENHMETAHEADER */
     TEST_TYPE(LPENHMETAHEADER, 4, 4);
+    TEST_TYPE_POINTER(LPENHMETAHEADER, 108, 4);
 }
 
 static void test_pack_LPENHMETARECORD(void)
@@ -1867,12 +2035,14 @@
 {
     /* LPGCP_RESULTSA */
     TEST_TYPE(LPGCP_RESULTSA, 4, 4);
+    TEST_TYPE_POINTER(LPGCP_RESULTSA, 36, 4);
 }
 
 static void test_pack_LPGCP_RESULTSW(void)
 {
     /* LPGCP_RESULTSW */
     TEST_TYPE(LPGCP_RESULTSW, 4, 4);
+    TEST_TYPE_POINTER(LPGCP_RESULTSW, 36, 4);
 }
 
 static void test_pack_LPGLYPHMETRICS(void)
@@ -2005,12 +2175,14 @@
 {
     /* LPOUTLINETEXTMETRICA */
     TEST_TYPE(LPOUTLINETEXTMETRICA, 4, 4);
+    TEST_TYPE_POINTER(LPOUTLINETEXTMETRICA, 212, 4);
 }
 
 static void test_pack_LPOUTLINETEXTMETRICW(void)
 {
     /* LPOUTLINETEXTMETRICW */
     TEST_TYPE(LPOUTLINETEXTMETRICW, 4, 4);
+    TEST_TYPE_POINTER(LPOUTLINETEXTMETRICW, 216, 4);
 }
 
 static void test_pack_LPPANOSE(void)
@@ -2249,6 +2421,12 @@
     TEST_TYPE_POINTER(NPEXTLOGPEN, 28, 4);
 }
 
+static void test_pack_OLDFONTENUMPROC(void)
+{
+    /* OLDFONTENUMPROC */
+    TEST_TYPE(OLDFONTENUMPROC, 4, 4);
+}
+
 static void test_pack_OLDFONTENUMPROCA(void)
 {
     /* OLDFONTENUMPROCA */
@@ -2264,6 +2442,7 @@
 static void test_pack_OUTLINETEXTMETRICA(void)
 {
     /* OUTLINETEXTMETRICA (pack 4) */
+    TEST_TYPE(OUTLINETEXTMETRICA, 212, 4);
     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmSize, 0, 4, 4);
     TEST_FIELD(OUTLINETEXTMETRICA, TEXTMETRICA, otmTextMetrics, 4, 56, 4);
     TEST_FIELD(OUTLINETEXTMETRICA, BYTE, otmFiller, 60, 1, 1);
@@ -2292,11 +2471,16 @@
     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsStrikeoutPosition, 184, 4, 4);
     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsUnderscoreSize, 188, 4, 4);
     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsUnderscorePosition, 192, 4, 4);
+    TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFamilyName, 196, 4, 4);
+    TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFaceName, 200, 4, 4);
+    TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpStyleName, 204, 4, 4);
+    TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFullName, 208, 4, 4);
 }
 
 static void test_pack_OUTLINETEXTMETRICW(void)
 {
     /* OUTLINETEXTMETRICW (pack 4) */
+    TEST_TYPE(OUTLINETEXTMETRICW, 216, 4);
     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmSize, 0, 4, 4);
     TEST_FIELD(OUTLINETEXTMETRICW, TEXTMETRICW, otmTextMetrics, 4, 60, 4);
     TEST_FIELD(OUTLINETEXTMETRICW, BYTE, otmFiller, 64, 1, 1);
@@ -2325,6 +2509,10 @@
     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsStrikeoutPosition, 188, 4, 4);
     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsUnderscoreSize, 192, 4, 4);
     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsUnderscorePosition, 196, 4, 4);
+    TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFamilyName, 200, 4, 4);
+    TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFaceName, 204, 4, 4);
+    TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpStyleName, 208, 4, 4);
+    TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFullName, 212, 4, 4);
 }
 
 static void test_pack_PABC(void)
@@ -2463,12 +2651,14 @@
 {
     /* PDISPLAY_DEVICEA */
     TEST_TYPE(PDISPLAY_DEVICEA, 4, 4);
+    TEST_TYPE_POINTER(PDISPLAY_DEVICEA, 424, 4);
 }
 
 static void test_pack_PDISPLAY_DEVICEW(void)
 {
     /* PDISPLAY_DEVICEW */
     TEST_TYPE(PDISPLAY_DEVICEW, 4, 4);
+    TEST_TYPE_POINTER(PDISPLAY_DEVICEW, 840, 4);
 }
 
 static void test_pack_PELARRAY(void)
@@ -2552,6 +2742,20 @@
     TEST_TYPE_POINTER(PEMRCREATEBRUSHINDIRECT, 24, 4);
 }
 
+static void test_pack_PEMRCREATECOLORSPACE(void)
+{
+    /* PEMRCREATECOLORSPACE */
+    TEST_TYPE(PEMRCREATECOLORSPACE, 4, 4);
+    TEST_TYPE_POINTER(PEMRCREATECOLORSPACE, 340, 4);
+}
+
+static void test_pack_PEMRCREATECOLORSPACEW(void)
+{
+    /* PEMRCREATECOLORSPACEW */
+    TEST_TYPE(PEMRCREATECOLORSPACEW, 4, 4);
+    TEST_TYPE_POINTER(PEMRCREATECOLORSPACEW, 612, 4);
+}
+
 static void test_pack_PEMRCREATEDIBPATTERNBRUSHPT(void)
 {
     /* PEMRCREATEDIBPATTERNBRUSHPT */
@@ -2804,6 +3008,13 @@
     TEST_TYPE_POINTER(PEMRPOLYBEZIER, 36, 4);
 }
 
+static void test_pack_PEMRPOLYBEZIER16(void)
+{
+    /* PEMRPOLYBEZIER16 */
+    TEST_TYPE(PEMRPOLYBEZIER16, 4, 4);
+    TEST_TYPE_POINTER(PEMRPOLYBEZIER16, 32, 4);
+}
+
 static void test_pack_PEMRPOLYBEZIERTO(void)
 {
     /* PEMRPOLYBEZIERTO */
@@ -2811,6 +3022,13 @@
     TEST_TYPE_POINTER(PEMRPOLYBEZIERTO, 36, 4);
 }
 
+static void test_pack_PEMRPOLYBEZIERTO16(void)
+{
+    /* PEMRPOLYBEZIERTO16 */
+    TEST_TYPE(PEMRPOLYBEZIERTO16, 4, 4);
+    TEST_TYPE_POINTER(PEMRPOLYBEZIERTO16, 32, 4);
+}
+
 static void test_pack_PEMRPOLYDRAW(void)
 {
     /* PEMRPOLYDRAW */
@@ -2818,6 +3036,13 @@
     TEST_TYPE_POINTER(PEMRPOLYDRAW, 40, 4);
 }
 
+static void test_pack_PEMRPOLYDRAW16(void)
+{
+    /* PEMRPOLYDRAW16 */
+    TEST_TYPE(PEMRPOLYDRAW16, 4, 4);
+    TEST_TYPE_POINTER(PEMRPOLYDRAW16, 36, 4);
+}
+
 static void test_pack_PEMRPOLYGON(void)
 {
     /* PEMRPOLYGON */
@@ -2825,6 +3050,13 @@
     TEST_TYPE_POINTER(PEMRPOLYGON, 36, 4);
 }
 
+static void test_pack_PEMRPOLYGON16(void)
+{
+    /* PEMRPOLYGON16 */
+    TEST_TYPE(PEMRPOLYGON16, 4, 4);
+    TEST_TYPE_POINTER(PEMRPOLYGON16, 32, 4);
+}
+
 static void test_pack_PEMRPOLYLINE(void)
 {
     /* PEMRPOLYLINE */
@@ -2832,6 +3064,13 @@
     TEST_TYPE_POINTER(PEMRPOLYLINE, 36, 4);
 }
 
+static void test_pack_PEMRPOLYLINE16(void)
+{
+    /* PEMRPOLYLINE16 */
+    TEST_TYPE(PEMRPOLYLINE16, 4, 4);
+    TEST_TYPE_POINTER(PEMRPOLYLINE16, 32, 4);
+}
+
 static void test_pack_PEMRPOLYLINETO(void)
 {
     /* PEMRPOLYLINETO */
@@ -2839,6 +3078,13 @@
     TEST_TYPE_POINTER(PEMRPOLYLINETO, 36, 4);
 }
 
+static void test_pack_PEMRPOLYLINETO16(void)
+{
+    /* PEMRPOLYLINETO16 */
+    TEST_TYPE(PEMRPOLYLINETO16, 4, 4);
+    TEST_TYPE_POINTER(PEMRPOLYLINETO16, 32, 4);
+}
+
 static void test_pack_PEMRPOLYPOLYGON(void)
 {
     /* PEMRPOLYPOLYGON */
@@ -2846,6 +3092,13 @@
     TEST_TYPE_POINTER(PEMRPOLYPOLYGON, 44, 4);
 }
 
+static void test_pack_PEMRPOLYPOLYGON16(void)
+{
+    /* PEMRPOLYPOLYGON16 */
+    TEST_TYPE(PEMRPOLYPOLYGON16, 4, 4);
+    TEST_TYPE_POINTER(PEMRPOLYPOLYGON16, 40, 4);
+}
+
 static void test_pack_PEMRPOLYPOLYLINE(void)
 {
     /* PEMRPOLYPOLYLINE */
@@ -2853,6 +3106,13 @@
     TEST_TYPE_POINTER(PEMRPOLYPOLYLINE, 44, 4);
 }
 
+static void test_pack_PEMRPOLYPOLYLINE16(void)
+{
+    /* PEMRPOLYPOLYLINE16 */
+    TEST_TYPE(PEMRPOLYPOLYLINE16, 4, 4);
+    TEST_TYPE_POINTER(PEMRPOLYPOLYLINE16, 40, 4);
+}
+
 static void test_pack_PEMRPOLYTEXTOUTA(void)
 {
     /* PEMRPOLYTEXTOUTA */
@@ -2986,6 +3246,13 @@
     TEST_TYPE_POINTER(PEMRSETCOLORADJUSTMENT, 32, 4);
 }
 
+static void test_pack_PEMRSETCOLORSPACE(void)
+{
+    /* PEMRSETCOLORSPACE */
+    TEST_TYPE(PEMRSETCOLORSPACE, 4, 4);
+    TEST_TYPE_POINTER(PEMRSETCOLORSPACE, 12, 4);
+}
+
 static void test_pack_PEMRSETDIBITSTODEVICE(void)
 {
     /* PEMRSETDIBITSTODEVICE */
@@ -3000,6 +3267,13 @@
     TEST_TYPE_POINTER(PEMRSETICMMODE, 12, 4);
 }
 
+static void test_pack_PEMRSETLAYOUT(void)
+{
+    /* PEMRSETLAYOUT */
+    TEST_TYPE(PEMRSETLAYOUT, 4, 4);
+    TEST_TYPE_POINTER(PEMRSETLAYOUT, 12, 4);
+}
+
 static void test_pack_PEMRSETMAPMODE(void)
 {
     /* PEMRSETMAPMODE */
@@ -3158,6 +3432,7 @@
 {
     /* PENHMETAHEADER */
     TEST_TYPE(PENHMETAHEADER, 4, 4);
+    TEST_TYPE_POINTER(PENHMETAHEADER, 108, 4);
 }
 
 static void test_pack_PEXTLOGFONTA(void)
@@ -3335,12 +3610,14 @@
 {
     /* POUTLINETEXTMETRICA */
     TEST_TYPE(POUTLINETEXTMETRICA, 4, 4);
+    TEST_TYPE_POINTER(POUTLINETEXTMETRICA, 212, 4);
 }
 
 static void test_pack_POUTLINETEXTMETRICW(void)
 {
     /* POUTLINETEXTMETRICW */
     TEST_TYPE(POUTLINETEXTMETRICW, 4, 4);
+    TEST_TYPE_POINTER(POUTLINETEXTMETRICW, 216, 4);
 }
 
 static void test_pack_PPELARRAY(void)
@@ -3588,6 +3865,8 @@
     test_pack_EMRCHORD();
     test_pack_EMRCLOSEFIGURE();
     test_pack_EMRCREATEBRUSHINDIRECT();
+    test_pack_EMRCREATECOLORSPACE();
+    test_pack_EMRCREATECOLORSPACEW();
     test_pack_EMRCREATEDIBPATTERNBRUSHPT();
     test_pack_EMRCREATEMONOBRUSH();
     test_pack_EMRCREATEPEN();
@@ -3623,13 +3902,21 @@
     test_pack_EMRPIXELFORMAT();
     test_pack_EMRPLGBLT();
     test_pack_EMRPOLYBEZIER();
+    test_pack_EMRPOLYBEZIER16();
     test_pack_EMRPOLYBEZIERTO();
+    test_pack_EMRPOLYBEZIERTO16();
     test_pack_EMRPOLYDRAW();
+    test_pack_EMRPOLYDRAW16();
     test_pack_EMRPOLYGON();
+    test_pack_EMRPOLYGON16();
     test_pack_EMRPOLYLINE();
+    test_pack_EMRPOLYLINE16();
     test_pack_EMRPOLYLINETO();
+    test_pack_EMRPOLYLINETO16();
     test_pack_EMRPOLYPOLYGON();
+    test_pack_EMRPOLYPOLYGON16();
     test_pack_EMRPOLYPOLYLINE();
+    test_pack_EMRPOLYPOLYLINE16();
     test_pack_EMRPOLYTEXTOUTA();
     test_pack_EMRPOLYTEXTOUTW();
     test_pack_EMRREALIZEPALETTE();
@@ -3649,8 +3936,10 @@
     test_pack_EMRSETBKMODE();
     test_pack_EMRSETBRUSHORGEX();
     test_pack_EMRSETCOLORADJUSTMENT();
+    test_pack_EMRSETCOLORSPACE();
     test_pack_EMRSETDIBITSTODEVICE();
     test_pack_EMRSETICMMODE();
+    test_pack_EMRSETLAYOUT();
     test_pack_EMRSETMAPMODE();
     test_pack_EMRSETMAPPERFLAGS();
     test_pack_EMRSETMETARGN();
@@ -3661,6 +3950,7 @@
     test_pack_EMRSETSTRETCHBLTMODE();
     test_pack_EMRSETTEXTALIGN();
     test_pack_EMRSETTEXTCOLOR();
+    test_pack_EMRSETTEXTJUSTIFICATION();
     test_pack_EMRSETVIEWPORTEXTEX();
     test_pack_EMRSETVIEWPORTORGEX();
     test_pack_EMRSETWINDOWEXTEX();
@@ -3682,6 +3972,8 @@
     test_pack_EXTLOGFONTA();
     test_pack_EXTLOGFONTW();
     test_pack_EXTLOGPEN();
+    test_pack_EnumICMProfilesProcCallbackA();
+    test_pack_EnumICMProfilesProcCallbackW();
     test_pack_FIXED();
     test_pack_FONTENUMPROCA();
     test_pack_FONTENUMPROCW();
@@ -3695,6 +3987,8 @@
     test_pack_GRADIENT_RECT();
     test_pack_GRADIENT_TRIANGLE();
     test_pack_HANDLETABLE();
+    test_pack_ICMENUMPROCA();
+    test_pack_ICMENUMPROCW();
     test_pack_KERNINGPAIR();
     test_pack_LCSCSTYPE();
     test_pack_LCSGAMUTMATCH();
@@ -3719,8 +4013,6 @@
     test_pack_LPCIEXYZ();
     test_pack_LPCIEXYZTRIPLE();
     test_pack_LPCOLORADJUSTMENT();
-    test_pack_LPDEVMODEA();
-    test_pack_LPDEVMODEW();
     test_pack_LPDIBSECTION();
     test_pack_LPDISPLAY_DEVICEA();
     test_pack_LPDISPLAY_DEVICEW();
@@ -3783,6 +4075,7 @@
     test_pack_NEWTEXTMETRICEXW();
     test_pack_NEWTEXTMETRICW();
     test_pack_NPEXTLOGPEN();
+    test_pack_OLDFONTENUMPROC();
     test_pack_OLDFONTENUMPROCA();
     test_pack_OLDFONTENUMPROCW();
     test_pack_OUTLINETEXTMETRICA();
@@ -3818,6 +4111,8 @@
     test_pack_PEMRCHORD();
     test_pack_PEMRCLOSEFIGURE();
     test_pack_PEMRCREATEBRUSHINDIRECT();
+    test_pack_PEMRCREATECOLORSPACE();
+    test_pack_PEMRCREATECOLORSPACEW();
     test_pack_PEMRCREATEDIBPATTERNBRUSHPT();
     test_pack_PEMRCREATEMONOBRUSH();
     test_pack_PEMRCREATEPALETTE();
@@ -3854,13 +4149,21 @@
     test_pack_PEMRPIXELFORMAT();
     test_pack_PEMRPLGBLT();
     test_pack_PEMRPOLYBEZIER();
+    test_pack_PEMRPOLYBEZIER16();
     test_pack_PEMRPOLYBEZIERTO();
+    test_pack_PEMRPOLYBEZIERTO16();
     test_pack_PEMRPOLYDRAW();
+    test_pack_PEMRPOLYDRAW16();
     test_pack_PEMRPOLYGON();
+    test_pack_PEMRPOLYGON16();
     test_pack_PEMRPOLYLINE();
+    test_pack_PEMRPOLYLINE16();
     test_pack_PEMRPOLYLINETO();
+    test_pack_PEMRPOLYLINETO16();
     test_pack_PEMRPOLYPOLYGON();
+    test_pack_PEMRPOLYPOLYGON16();
     test_pack_PEMRPOLYPOLYLINE();
+    test_pack_PEMRPOLYPOLYLINE16();
     test_pack_PEMRPOLYTEXTOUTA();
     test_pack_PEMRPOLYTEXTOUTW();
     test_pack_PEMRREALIZEPALETTE();
@@ -3880,8 +4183,10 @@
     test_pack_PEMRSETBKMODE();
     test_pack_PEMRSETBRUSHORGEX();
     test_pack_PEMRSETCOLORADJUSTMENT();
+    test_pack_PEMRSETCOLORSPACE();
     test_pack_PEMRSETDIBITSTODEVICE();
     test_pack_PEMRSETICMMODE();
+    test_pack_PEMRSETLAYOUT();
     test_pack_PEMRSETMAPMODE();
     test_pack_PEMRSETMAPPERFLAGS();
     test_pack_PEMRSETMETARGN();
diff --git a/dlls/kernel/tests/generated.c b/dlls/kernel/tests/generated.c
index 886ff5f..d1ceedf 100644
--- a/dlls/kernel/tests/generated.c
+++ b/dlls/kernel/tests/generated.c
@@ -109,6 +109,221 @@
 #define TEST_TYPE_UNSIGNED(type) \
      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
 
+static void test_pack_LPOSVERSIONINFOA(void)
+{
+    /* LPOSVERSIONINFOA */
+    TEST_TYPE(LPOSVERSIONINFOA, 4, 4);
+    TEST_TYPE_POINTER(LPOSVERSIONINFOA, 148, 4);
+}
+
+static void test_pack_LPOSVERSIONINFOEXA(void)
+{
+    /* LPOSVERSIONINFOEXA */
+    TEST_TYPE(LPOSVERSIONINFOEXA, 4, 4);
+    TEST_TYPE_POINTER(LPOSVERSIONINFOEXA, 156, 4);
+}
+
+static void test_pack_LPOSVERSIONINFOEXW(void)
+{
+    /* LPOSVERSIONINFOEXW */
+    TEST_TYPE(LPOSVERSIONINFOEXW, 4, 4);
+    TEST_TYPE_POINTER(LPOSVERSIONINFOEXW, 284, 4);
+}
+
+static void test_pack_LPOSVERSIONINFOW(void)
+{
+    /* LPOSVERSIONINFOW */
+    TEST_TYPE(LPOSVERSIONINFOW, 4, 4);
+    TEST_TYPE_POINTER(LPOSVERSIONINFOW, 276, 4);
+}
+
+static void test_pack_OSVERSIONINFOA(void)
+{
+    /* OSVERSIONINFOA (pack 4) */
+    TEST_TYPE(OSVERSIONINFOA, 148, 4);
+    TEST_FIELD(OSVERSIONINFOA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
+    TEST_FIELD(OSVERSIONINFOA, DWORD, dwMajorVersion, 4, 4, 4);
+    TEST_FIELD(OSVERSIONINFOA, DWORD, dwMinorVersion, 8, 4, 4);
+    TEST_FIELD(OSVERSIONINFOA, DWORD, dwBuildNumber, 12, 4, 4);
+    TEST_FIELD(OSVERSIONINFOA, DWORD, dwPlatformId, 16, 4, 4);
+    TEST_FIELD(OSVERSIONINFOA, CHAR[128], szCSDVersion, 20, 128, 1);
+}
+
+static void test_pack_OSVERSIONINFOEXA(void)
+{
+    /* OSVERSIONINFOEXA (pack 4) */
+    TEST_TYPE(OSVERSIONINFOEXA, 156, 4);
+    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMajorVersion, 4, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMinorVersion, 8, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwBuildNumber, 12, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwPlatformId, 16, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXA, CHAR[128], szCSDVersion, 20, 128, 1);
+    TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMajor, 148, 2, 2);
+    TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMinor, 150, 2, 2);
+    TEST_FIELD(OSVERSIONINFOEXA, WORD, wSuiteMask, 152, 2, 2);
+    TEST_FIELD(OSVERSIONINFOEXA, BYTE, wProductType, 154, 1, 1);
+    TEST_FIELD(OSVERSIONINFOEXA, BYTE, wReserved, 155, 1, 1);
+}
+
+static void test_pack_OSVERSIONINFOEXW(void)
+{
+    /* OSVERSIONINFOEXW (pack 4) */
+    TEST_TYPE(OSVERSIONINFOEXW, 284, 4);
+    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMajorVersion, 4, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMinorVersion, 8, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwBuildNumber, 12, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwPlatformId, 16, 4, 4);
+    TEST_FIELD(OSVERSIONINFOEXW, WCHAR[128], szCSDVersion, 20, 256, 2);
+    TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMajor, 276, 2, 2);
+    TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMinor, 278, 2, 2);
+    TEST_FIELD(OSVERSIONINFOEXW, WORD, wSuiteMask, 280, 2, 2);
+    TEST_FIELD(OSVERSIONINFOEXW, BYTE, wProductType, 282, 1, 1);
+    TEST_FIELD(OSVERSIONINFOEXW, BYTE, wReserved, 283, 1, 1);
+}
+
+static void test_pack_OSVERSIONINFOW(void)
+{
+    /* OSVERSIONINFOW (pack 4) */
+    TEST_TYPE(OSVERSIONINFOW, 276, 4);
+    TEST_FIELD(OSVERSIONINFOW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
+    TEST_FIELD(OSVERSIONINFOW, DWORD, dwMajorVersion, 4, 4, 4);
+    TEST_FIELD(OSVERSIONINFOW, DWORD, dwMinorVersion, 8, 4, 4);
+    TEST_FIELD(OSVERSIONINFOW, DWORD, dwBuildNumber, 12, 4, 4);
+    TEST_FIELD(OSVERSIONINFOW, DWORD, dwPlatformId, 16, 4, 4);
+    TEST_FIELD(OSVERSIONINFOW, WCHAR[128], szCSDVersion, 20, 256, 2);
+}
+
+static void test_pack_POSVERSIONINFOA(void)
+{
+    /* POSVERSIONINFOA */
+    TEST_TYPE(POSVERSIONINFOA, 4, 4);
+    TEST_TYPE_POINTER(POSVERSIONINFOA, 148, 4);
+}
+
+static void test_pack_POSVERSIONINFOEXA(void)
+{
+    /* POSVERSIONINFOEXA */
+    TEST_TYPE(POSVERSIONINFOEXA, 4, 4);
+    TEST_TYPE_POINTER(POSVERSIONINFOEXA, 156, 4);
+}
+
+static void test_pack_POSVERSIONINFOEXW(void)
+{
+    /* POSVERSIONINFOEXW */
+    TEST_TYPE(POSVERSIONINFOEXW, 4, 4);
+    TEST_TYPE_POINTER(POSVERSIONINFOEXW, 284, 4);
+}
+
+static void test_pack_POSVERSIONINFOW(void)
+{
+    /* POSVERSIONINFOW */
+    TEST_TYPE(POSVERSIONINFOW, 4, 4);
+    TEST_TYPE_POINTER(POSVERSIONINFOW, 276, 4);
+}
+
+static void test_pack_LPLONG(void)
+{
+    /* LPLONG */
+    TEST_TYPE(LPLONG, 4, 4);
+}
+
+static void test_pack_LPVOID(void)
+{
+    /* LPVOID */
+    TEST_TYPE(LPVOID, 4, 4);
+}
+
+static void test_pack_PHKEY(void)
+{
+    /* PHKEY */
+    TEST_TYPE(PHKEY, 4, 4);
+}
+
+static void test_pack_ACTCTXA(void)
+{
+    /* ACTCTXA (pack 4) */
+    TEST_TYPE(ACTCTXA, 32, 4);
+    TEST_FIELD(ACTCTXA, ULONG, cbSize, 0, 4, 4);
+    TEST_FIELD(ACTCTXA, DWORD, dwFlags, 4, 4, 4);
+    TEST_FIELD(ACTCTXA, LPCSTR, lpSource, 8, 4, 4);
+    TEST_FIELD(ACTCTXA, USHORT, wProcessorArchitecture, 12, 2, 2);
+    TEST_FIELD(ACTCTXA, LANGID, wLangId, 14, 2, 2);
+    TEST_FIELD(ACTCTXA, LPCSTR, lpAssemblyDirectory, 16, 4, 4);
+    TEST_FIELD(ACTCTXA, LPCSTR, lpResourceName, 20, 4, 4);
+    TEST_FIELD(ACTCTXA, LPCSTR, lpApplicationName, 24, 4, 4);
+    TEST_FIELD(ACTCTXA, HMODULE, hModule, 28, 4, 4);
+}
+
+static void test_pack_ACTCTXW(void)
+{
+    /* ACTCTXW (pack 4) */
+    TEST_TYPE(ACTCTXW, 32, 4);
+    TEST_FIELD(ACTCTXW, ULONG, cbSize, 0, 4, 4);
+    TEST_FIELD(ACTCTXW, DWORD, dwFlags, 4, 4, 4);
+    TEST_FIELD(ACTCTXW, LPCWSTR, lpSource, 8, 4, 4);
+    TEST_FIELD(ACTCTXW, USHORT, wProcessorArchitecture, 12, 2, 2);
+    TEST_FIELD(ACTCTXW, LANGID, wLangId, 14, 2, 2);
+    TEST_FIELD(ACTCTXW, LPCWSTR, lpAssemblyDirectory, 16, 4, 4);
+    TEST_FIELD(ACTCTXW, LPCWSTR, lpResourceName, 20, 4, 4);
+    TEST_FIELD(ACTCTXW, LPCWSTR, lpApplicationName, 24, 4, 4);
+    TEST_FIELD(ACTCTXW, HMODULE, hModule, 28, 4, 4);
+}
+
+static void test_pack_ACTCTX_SECTION_KEYED_DATA(void)
+{
+    /* ACTCTX_SECTION_KEYED_DATA (pack 4) */
+    TEST_TYPE(ACTCTX_SECTION_KEYED_DATA, 64, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, cbSize, 0, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulDataFormatVersion, 4, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpData, 8, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulLength, 12, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpSectionGlobalData, 16, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulSectionGlobalDataLength, 20, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpSectionBase, 24, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulSectionTotalLength, 28, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, HANDLE, hActCtx, 32, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulAssemblyRosterIndex, 36, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulFlags, 40, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, AssemblyMetadata, 44, 20, 4);
+}
+
+static void test_pack_ACTCTX_SECTION_KEYED_DATA_2600(void)
+{
+    /* ACTCTX_SECTION_KEYED_DATA_2600 (pack 4) */
+    TEST_TYPE(ACTCTX_SECTION_KEYED_DATA_2600, 40, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, cbSize, 0, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulDataFormatVersion, 4, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpData, 8, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulLength, 12, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpSectionGlobalData, 16, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulSectionGlobalDataLength, 20, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpSectionBase, 24, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulSectionTotalLength, 28, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, HANDLE, hActCtx, 32, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulAssemblyRosterIndex, 36, 4, 4);
+}
+
+static void test_pack_ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void)
+{
+    /* ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA (pack 4) */
+    TEST_TYPE(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpInformation, 0, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpSectionBase, 4, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ULONG, ulSectionLength, 8, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpSectionGlobalDataBase, 12, 4, 4);
+    TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ULONG, ulSectionGlobalDataLength, 16, 4, 4);
+}
+
+static void test_pack_ACTIVATION_CONTEXT_BASIC_INFORMATION(void)
+{
+    /* ACTIVATION_CONTEXT_BASIC_INFORMATION (pack 4) */
+    TEST_TYPE(ACTIVATION_CONTEXT_BASIC_INFORMATION, 8, 4);
+    TEST_FIELD(ACTIVATION_CONTEXT_BASIC_INFORMATION, HANDLE, hActCtx, 0, 4, 4);
+    TEST_FIELD(ACTIVATION_CONTEXT_BASIC_INFORMATION, DWORD, dwFlags, 4, 4, 4);
+}
+
 static void test_pack_BY_HANDLE_FILE_INFORMATION(void)
 {
     /* BY_HANDLE_FILE_INFORMATION (pack 4) */
@@ -125,14 +340,6 @@
     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexLow, 48, 4, 4);
 }
 
-static void test_pack_COMMCONFIG(void)
-{
-    /* COMMCONFIG (pack 4) */
-    TEST_FIELD(COMMCONFIG, DWORD, dwSize, 0, 4, 4);
-    TEST_FIELD(COMMCONFIG, WORD, wVersion, 4, 2, 2);
-    TEST_FIELD(COMMCONFIG, WORD, wReserved, 6, 2, 2);
-}
-
 static void test_pack_COMMPROP(void)
 {
     /* COMMPROP (pack 4) */
@@ -168,14 +375,6 @@
     TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutConstant, 16, 4, 4);
 }
 
-static void test_pack_COMSTAT(void)
-{
-    /* COMSTAT (pack 4) */
-    TEST_TYPE(COMSTAT, 12, 4);
-    TEST_FIELD(COMSTAT, DWORD, cbInQue, 4, 4, 4);
-    TEST_FIELD(COMSTAT, DWORD, cbOutQue, 8, 4, 4);
-}
-
 static void test_pack_CREATE_PROCESS_DEBUG_INFO(void)
 {
     /* CREATE_PROCESS_DEBUG_INFO (pack 4) */
@@ -213,19 +412,40 @@
     TEST_TYPE(CRITICAL_SECTION_DEBUG, 32, 4);
 }
 
-static void test_pack_DCB(void)
+static void test_pack_ENUMRESLANGPROCA(void)
 {
-    /* DCB (pack 4) */
-    TEST_FIELD(DCB, DWORD, DCBlength, 0, 4, 4);
-    TEST_FIELD(DCB, DWORD, BaudRate, 4, 4, 4);
+    /* ENUMRESLANGPROCA */
+    TEST_TYPE(ENUMRESLANGPROCA, 4, 4);
 }
 
-static void test_pack_DEBUG_EVENT(void)
+static void test_pack_ENUMRESLANGPROCW(void)
 {
-    /* DEBUG_EVENT (pack 4) */
-    TEST_FIELD(DEBUG_EVENT, DWORD, dwDebugEventCode, 0, 4, 4);
-    TEST_FIELD(DEBUG_EVENT, DWORD, dwProcessId, 4, 4, 4);
-    TEST_FIELD(DEBUG_EVENT, DWORD, dwThreadId, 8, 4, 4);
+    /* ENUMRESLANGPROCW */
+    TEST_TYPE(ENUMRESLANGPROCW, 4, 4);
+}
+
+static void test_pack_ENUMRESNAMEPROCA(void)
+{
+    /* ENUMRESNAMEPROCA */
+    TEST_TYPE(ENUMRESNAMEPROCA, 4, 4);
+}
+
+static void test_pack_ENUMRESNAMEPROCW(void)
+{
+    /* ENUMRESNAMEPROCW */
+    TEST_TYPE(ENUMRESNAMEPROCW, 4, 4);
+}
+
+static void test_pack_ENUMRESTYPEPROCA(void)
+{
+    /* ENUMRESTYPEPROCA */
+    TEST_TYPE(ENUMRESTYPEPROCA, 4, 4);
+}
+
+static void test_pack_ENUMRESTYPEPROCW(void)
+{
+    /* ENUMRESTYPEPROCW */
+    TEST_TYPE(ENUMRESTYPEPROCW, 4, 4);
 }
 
 static void test_pack_EXCEPTION_DEBUG_INFO(void)
@@ -268,13 +488,6 @@
     TEST_FIELD(HW_PROFILE_INFOW, WCHAR[MAX_PROFILE_LEN], szHwProfileName, 82, 160, 2);
 }
 
-static void test_pack_LDT_ENTRY(void)
-{
-    /* LDT_ENTRY (pack 4) */
-    TEST_FIELD(LDT_ENTRY, WORD, LimitLow, 0, 2, 2);
-    TEST_FIELD(LDT_ENTRY, WORD, BaseLow, 2, 2, 2);
-}
-
 static void test_pack_LOAD_DLL_DEBUG_INFO(void)
 {
     /* LOAD_DLL_DEBUG_INFO (pack 4) */
@@ -294,12 +507,6 @@
     TEST_TYPE_POINTER(LPBY_HANDLE_FILE_INFORMATION, 52, 4);
 }
 
-static void test_pack_LPCOMMCONFIG(void)
-{
-    /* LPCOMMCONFIG */
-    TEST_TYPE(LPCOMMCONFIG, 4, 4);
-}
-
 static void test_pack_LPCOMMPROP(void)
 {
     /* LPCOMMPROP */
@@ -314,19 +521,6 @@
     TEST_TYPE_POINTER(LPCOMMTIMEOUTS, 20, 4);
 }
 
-static void test_pack_LPCOMSTAT(void)
-{
-    /* LPCOMSTAT */
-    TEST_TYPE(LPCOMSTAT, 4, 4);
-    TEST_TYPE_POINTER(LPCOMSTAT, 12, 4);
-}
-
-static void test_pack_LPCONTEXT(void)
-{
-    /* LPCONTEXT */
-    TEST_TYPE(LPCONTEXT, 4, 4);
-}
-
 static void test_pack_LPCRITICAL_SECTION(void)
 {
     /* LPCRITICAL_SECTION */
@@ -339,18 +533,6 @@
     TEST_TYPE(LPCRITICAL_SECTION_DEBUG, 4, 4);
 }
 
-static void test_pack_LPDCB(void)
-{
-    /* LPDCB */
-    TEST_TYPE(LPDCB, 4, 4);
-}
-
-static void test_pack_LPDEBUG_EVENT(void)
-{
-    /* LPDEBUG_EVENT */
-    TEST_TYPE(LPDEBUG_EVENT, 4, 4);
-}
-
 static void test_pack_LPEXCEPTION_POINTERS(void)
 {
     /* LPEXCEPTION_POINTERS */
@@ -383,12 +565,6 @@
     TEST_TYPE_POINTER(LPHW_PROFILE_INFOW, 244, 4);
 }
 
-static void test_pack_LPLDT_ENTRY(void)
-{
-    /* LPLDT_ENTRY */
-    TEST_TYPE(LPLDT_ENTRY, 4, 4);
-}
-
 static void test_pack_LPMEMORYSTATUS(void)
 {
     /* LPMEMORYSTATUS */
@@ -403,32 +579,6 @@
     TEST_TYPE_POINTER(LPOFSTRUCT, 136, 2);
 }
 
-static void test_pack_LPOSVERSIONINFOA(void)
-{
-    /* LPOSVERSIONINFOA */
-    TEST_TYPE(LPOSVERSIONINFOA, 4, 4);
-    TEST_TYPE_POINTER(LPOSVERSIONINFOA, 148, 4);
-}
-
-static void test_pack_LPOSVERSIONINFOEXA(void)
-{
-    /* LPOSVERSIONINFOEXA */
-    TEST_TYPE(LPOSVERSIONINFOEXA, 4, 4);
-}
-
-static void test_pack_LPOSVERSIONINFOEXW(void)
-{
-    /* LPOSVERSIONINFOEXW */
-    TEST_TYPE(LPOSVERSIONINFOEXW, 4, 4);
-}
-
-static void test_pack_LPOSVERSIONINFOW(void)
-{
-    /* LPOSVERSIONINFOW */
-    TEST_TYPE(LPOSVERSIONINFOW, 4, 4);
-    TEST_TYPE_POINTER(LPOSVERSIONINFOW, 276, 4);
-}
-
 static void test_pack_LPOVERLAPPED(void)
 {
     /* LPOVERLAPPED */
@@ -442,12 +592,6 @@
     TEST_TYPE(LPOVERLAPPED_COMPLETION_ROUTINE, 4, 4);
 }
 
-static void test_pack_LPPROCESS_HEAP_ENTRY(void)
-{
-    /* LPPROCESS_HEAP_ENTRY */
-    TEST_TYPE(LPPROCESS_HEAP_ENTRY, 4, 4);
-}
-
 static void test_pack_LPPROCESS_INFORMATION(void)
 {
     /* LPPROCESS_INFORMATION */
@@ -472,6 +616,7 @@
 {
     /* LPSTARTUPINFOA */
     TEST_TYPE(LPSTARTUPINFOA, 4, 4);
+    TEST_TYPE_POINTER(LPSTARTUPINFOA, 68, 4);
 }
 
 static void test_pack_LPSTARTUPINFOW(void)
@@ -488,12 +633,6 @@
     TEST_TYPE_POINTER(LPSYSTEMTIME, 16, 2);
 }
 
-static void test_pack_LPSYSTEM_INFO(void)
-{
-    /* LPSYSTEM_INFO */
-    TEST_TYPE(LPSYSTEM_INFO, 4, 4);
-}
-
 static void test_pack_LPSYSTEM_POWER_STATUS(void)
 {
     /* LPSYSTEM_POWER_STATUS */
@@ -535,13 +674,6 @@
     TEST_TYPE_POINTER(LPWIN32_FIND_DATAW, 592, 4);
 }
 
-static void test_pack_LPWIN32_STREAM_ID(void)
-{
-    /* LPWIN32_STREAM_ID */
-    TEST_TYPE(LPWIN32_STREAM_ID, 4, 4);
-    TEST_TYPE_POINTER(LPWIN32_STREAM_ID, 24, 4);
-}
-
 static void test_pack_MEMORYSTATUS(void)
 {
     /* MEMORYSTATUS (pack 4) */
@@ -568,59 +700,13 @@
     TEST_FIELD(OFSTRUCT, BYTE[OFS_MAXPATHNAME], szPathName, 8, 128, 1);
 }
 
-static void test_pack_OSVERSIONINFOA(void)
-{
-    /* OSVERSIONINFOA (pack 4) */
-    TEST_TYPE(OSVERSIONINFOA, 148, 4);
-    TEST_FIELD(OSVERSIONINFOA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
-    TEST_FIELD(OSVERSIONINFOA, DWORD, dwMajorVersion, 4, 4, 4);
-    TEST_FIELD(OSVERSIONINFOA, DWORD, dwMinorVersion, 8, 4, 4);
-    TEST_FIELD(OSVERSIONINFOA, DWORD, dwBuildNumber, 12, 4, 4);
-    TEST_FIELD(OSVERSIONINFOA, DWORD, dwPlatformId, 16, 4, 4);
-    TEST_FIELD(OSVERSIONINFOA, CHAR[128], szCSDVersion, 20, 128, 1);
-}
-
-static void test_pack_OSVERSIONINFOEXA(void)
-{
-    /* OSVERSIONINFOEXA (pack 4) */
-    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMajorVersion, 4, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMinorVersion, 8, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwBuildNumber, 12, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwPlatformId, 16, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXA, CHAR[128], szCSDVersion, 20, 128, 1);
-    TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMajor, 148, 2, 2);
-    TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMinor, 150, 2, 2);
-}
-
-static void test_pack_OSVERSIONINFOEXW(void)
-{
-    /* OSVERSIONINFOEXW (pack 4) */
-    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMajorVersion, 4, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMinorVersion, 8, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwBuildNumber, 12, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwPlatformId, 16, 4, 4);
-    TEST_FIELD(OSVERSIONINFOEXW, WCHAR[128], szCSDVersion, 20, 256, 2);
-    TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMajor, 276, 2, 2);
-    TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMinor, 278, 2, 2);
-}
-
-static void test_pack_OSVERSIONINFOW(void)
-{
-    /* OSVERSIONINFOW (pack 4) */
-    TEST_TYPE(OSVERSIONINFOW, 276, 4);
-    TEST_FIELD(OSVERSIONINFOW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
-    TEST_FIELD(OSVERSIONINFOW, DWORD, dwMajorVersion, 4, 4, 4);
-    TEST_FIELD(OSVERSIONINFOW, DWORD, dwMinorVersion, 8, 4, 4);
-    TEST_FIELD(OSVERSIONINFOW, DWORD, dwBuildNumber, 12, 4, 4);
-    TEST_FIELD(OSVERSIONINFOW, DWORD, dwPlatformId, 16, 4, 4);
-    TEST_FIELD(OSVERSIONINFOW, WCHAR[128], szCSDVersion, 20, 256, 2);
-}
-
 static void test_pack_OUTPUT_DEBUG_STRING_INFO(void)
 {
     /* OUTPUT_DEBUG_STRING_INFO (pack 4) */
+    TEST_TYPE(OUTPUT_DEBUG_STRING_INFO, 8, 4);
+    TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, LPSTR, lpDebugStringData, 0, 4, 4);
+    TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, WORD, fUnicode, 4, 2, 2);
+    TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, WORD, nDebugStringLength, 6, 2, 2);
 }
 
 static void test_pack_OVERLAPPED(void)
@@ -634,6 +720,48 @@
     TEST_FIELD(OVERLAPPED, HANDLE, hEvent, 16, 4, 4);
 }
 
+static void test_pack_PACTCTXA(void)
+{
+    /* PACTCTXA */
+    TEST_TYPE(PACTCTXA, 4, 4);
+    TEST_TYPE_POINTER(PACTCTXA, 32, 4);
+}
+
+static void test_pack_PACTCTXW(void)
+{
+    /* PACTCTXW */
+    TEST_TYPE(PACTCTXW, 4, 4);
+    TEST_TYPE_POINTER(PACTCTXW, 32, 4);
+}
+
+static void test_pack_PACTCTX_SECTION_KEYED_DATA(void)
+{
+    /* PACTCTX_SECTION_KEYED_DATA */
+    TEST_TYPE(PACTCTX_SECTION_KEYED_DATA, 4, 4);
+    TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA, 64, 4);
+}
+
+static void test_pack_PACTCTX_SECTION_KEYED_DATA_2600(void)
+{
+    /* PACTCTX_SECTION_KEYED_DATA_2600 */
+    TEST_TYPE(PACTCTX_SECTION_KEYED_DATA_2600, 4, 4);
+    TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA_2600, 40, 4);
+}
+
+static void test_pack_PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void)
+{
+    /* PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */
+    TEST_TYPE(PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 4, 4);
+    TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20, 4);
+}
+
+static void test_pack_PACTIVATION_CONTEXT_BASIC_INFORMATION(void)
+{
+    /* PACTIVATION_CONTEXT_BASIC_INFORMATION */
+    TEST_TYPE(PACTIVATION_CONTEXT_BASIC_INFORMATION, 4, 4);
+    TEST_TYPE_POINTER(PACTIVATION_CONTEXT_BASIC_INFORMATION, 8, 4);
+}
+
 static void test_pack_PAPCFUNC(void)
 {
     /* PAPCFUNC */
@@ -647,6 +775,41 @@
     TEST_TYPE_POINTER(PBY_HANDLE_FILE_INFORMATION, 52, 4);
 }
 
+static void test_pack_PCACTCTXA(void)
+{
+    /* PCACTCTXA */
+    TEST_TYPE(PCACTCTXA, 4, 4);
+    TEST_TYPE_POINTER(PCACTCTXA, 32, 4);
+}
+
+static void test_pack_PCACTCTXW(void)
+{
+    /* PCACTCTXW */
+    TEST_TYPE(PCACTCTXW, 4, 4);
+    TEST_TYPE_POINTER(PCACTCTXW, 32, 4);
+}
+
+static void test_pack_PCACTCTX_SECTION_KEYED_DATA(void)
+{
+    /* PCACTCTX_SECTION_KEYED_DATA */
+    TEST_TYPE(PCACTCTX_SECTION_KEYED_DATA, 4, 4);
+    TEST_TYPE_POINTER(PCACTCTX_SECTION_KEYED_DATA, 64, 4);
+}
+
+static void test_pack_PCACTCTX_SECTION_KEYED_DATA_2600(void)
+{
+    /* PCACTCTX_SECTION_KEYED_DATA_2600 */
+    TEST_TYPE(PCACTCTX_SECTION_KEYED_DATA_2600, 4, 4);
+    TEST_TYPE_POINTER(PCACTCTX_SECTION_KEYED_DATA_2600, 40, 4);
+}
+
+static void test_pack_PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void)
+{
+    /* PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */
+    TEST_TYPE(PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 4, 4);
+    TEST_TYPE_POINTER(PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20, 4);
+}
+
 static void test_pack_PCRITICAL_SECTION(void)
 {
     /* PCRITICAL_SECTION */
@@ -672,38 +835,6 @@
     TEST_TYPE_POINTER(POFSTRUCT, 136, 2);
 }
 
-static void test_pack_POSVERSIONINFOA(void)
-{
-    /* POSVERSIONINFOA */
-    TEST_TYPE(POSVERSIONINFOA, 4, 4);
-    TEST_TYPE_POINTER(POSVERSIONINFOA, 148, 4);
-}
-
-static void test_pack_POSVERSIONINFOEXA(void)
-{
-    /* POSVERSIONINFOEXA */
-    TEST_TYPE(POSVERSIONINFOEXA, 4, 4);
-}
-
-static void test_pack_POSVERSIONINFOEXW(void)
-{
-    /* POSVERSIONINFOEXW */
-    TEST_TYPE(POSVERSIONINFOEXW, 4, 4);
-}
-
-static void test_pack_POSVERSIONINFOW(void)
-{
-    /* POSVERSIONINFOW */
-    TEST_TYPE(POSVERSIONINFOW, 4, 4);
-    TEST_TYPE_POINTER(POSVERSIONINFOW, 276, 4);
-}
-
-static void test_pack_PPROCESS_HEAP_ENTRY(void)
-{
-    /* PPROCESS_HEAP_ENTRY */
-    TEST_TYPE(PPROCESS_HEAP_ENTRY, 4, 4);
-}
-
 static void test_pack_PPROCESS_INFORMATION(void)
 {
     /* PPROCESS_INFORMATION */
@@ -711,14 +842,10 @@
     TEST_TYPE_POINTER(PPROCESS_INFORMATION, 16, 4);
 }
 
-static void test_pack_PROCESS_HEAP_ENTRY(void)
+static void test_pack_PQUERYACTCTXW_FUNC(void)
 {
-    /* PROCESS_HEAP_ENTRY (pack 4) */
-    TEST_FIELD(PROCESS_HEAP_ENTRY, LPVOID, lpData, 0, 4, 4);
-    TEST_FIELD(PROCESS_HEAP_ENTRY, DWORD, cbData, 4, 4, 4);
-    TEST_FIELD(PROCESS_HEAP_ENTRY, BYTE, cbOverhead, 8, 1, 1);
-    TEST_FIELD(PROCESS_HEAP_ENTRY, BYTE, iRegionIndex, 9, 1, 1);
-    TEST_FIELD(PROCESS_HEAP_ENTRY, WORD, wFlags, 10, 2, 2);
+    /* PQUERYACTCTXW_FUNC */
+    TEST_TYPE(PQUERYACTCTXW_FUNC, 4, 4);
 }
 
 static void test_pack_PROCESS_INFORMATION(void)
@@ -792,7 +919,25 @@
 static void test_pack_STARTUPINFOA(void)
 {
     /* STARTUPINFOA (pack 4) */
+    TEST_TYPE(STARTUPINFOA, 68, 4);
     TEST_FIELD(STARTUPINFOA, DWORD, cb, 0, 4, 4);
+    TEST_FIELD(STARTUPINFOA, LPSTR, lpReserved, 4, 4, 4);
+    TEST_FIELD(STARTUPINFOA, LPSTR, lpDesktop, 8, 4, 4);
+    TEST_FIELD(STARTUPINFOA, LPSTR, lpTitle, 12, 4, 4);
+    TEST_FIELD(STARTUPINFOA, DWORD, dwX, 16, 4, 4);
+    TEST_FIELD(STARTUPINFOA, DWORD, dwY, 20, 4, 4);
+    TEST_FIELD(STARTUPINFOA, DWORD, dwXSize, 24, 4, 4);
+    TEST_FIELD(STARTUPINFOA, DWORD, dwYSize, 28, 4, 4);
+    TEST_FIELD(STARTUPINFOA, DWORD, dwXCountChars, 32, 4, 4);
+    TEST_FIELD(STARTUPINFOA, DWORD, dwYCountChars, 36, 4, 4);
+    TEST_FIELD(STARTUPINFOA, DWORD, dwFillAttribute, 40, 4, 4);
+    TEST_FIELD(STARTUPINFOA, DWORD, dwFlags, 44, 4, 4);
+    TEST_FIELD(STARTUPINFOA, WORD, wShowWindow, 48, 2, 2);
+    TEST_FIELD(STARTUPINFOA, WORD, cbReserved2, 50, 2, 2);
+    TEST_FIELD(STARTUPINFOA, BYTE *, lpReserved2, 52, 4, 4);
+    TEST_FIELD(STARTUPINFOA, HANDLE, hStdInput, 56, 4, 4);
+    TEST_FIELD(STARTUPINFOA, HANDLE, hStdOutput, 60, 4, 4);
+    TEST_FIELD(STARTUPINFOA, HANDLE, hStdError, 64, 4, 4);
 }
 
 static void test_pack_STARTUPINFOW(void)
@@ -819,6 +964,14 @@
     TEST_FIELD(STARTUPINFOW, HANDLE, hStdError, 64, 4, 4);
 }
 
+static void test_pack_SYSLEVEL(void)
+{
+    /* SYSLEVEL (pack 4) */
+    TEST_TYPE(SYSLEVEL, 28, 4);
+    TEST_FIELD(SYSLEVEL, CRITICAL_SECTION, crst, 0, 24, 4);
+    TEST_FIELD(SYSLEVEL, INT, level, 24, 4, 4);
+}
+
 static void test_pack_SYSTEMTIME(void)
 {
     /* SYSTEMTIME (pack 4) */
@@ -865,6 +1018,12 @@
     TEST_FIELD(UNLOAD_DLL_DEBUG_INFO, LPVOID, lpBaseOfDll, 0, 4, 4);
 }
 
+static void test_pack_WAITORTIMERCALLBACK(void)
+{
+    /* WAITORTIMERCALLBACK */
+    TEST_TYPE(WAITORTIMERCALLBACK, 4, 4);
+}
+
 static void test_pack_WIN32_FILE_ATTRIBUTE_DATA(void)
 {
     /* WIN32_FILE_ATTRIBUTE_DATA (pack 4) */
@@ -911,40 +1070,42 @@
 
 static void test_pack(void)
 {
+    test_pack_ACTCTXA();
+    test_pack_ACTCTXW();
+    test_pack_ACTCTX_SECTION_KEYED_DATA();
+    test_pack_ACTCTX_SECTION_KEYED_DATA_2600();
+    test_pack_ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA();
+    test_pack_ACTIVATION_CONTEXT_BASIC_INFORMATION();
     test_pack_BY_HANDLE_FILE_INFORMATION();
-    test_pack_COMMCONFIG();
     test_pack_COMMPROP();
     test_pack_COMMTIMEOUTS();
-    test_pack_COMSTAT();
     test_pack_CREATE_PROCESS_DEBUG_INFO();
     test_pack_CREATE_THREAD_DEBUG_INFO();
     test_pack_CRITICAL_SECTION();
     test_pack_CRITICAL_SECTION_DEBUG();
-    test_pack_DCB();
-    test_pack_DEBUG_EVENT();
+    test_pack_ENUMRESLANGPROCA();
+    test_pack_ENUMRESLANGPROCW();
+    test_pack_ENUMRESNAMEPROCA();
+    test_pack_ENUMRESNAMEPROCW();
+    test_pack_ENUMRESTYPEPROCA();
+    test_pack_ENUMRESTYPEPROCW();
     test_pack_EXCEPTION_DEBUG_INFO();
     test_pack_EXIT_PROCESS_DEBUG_INFO();
     test_pack_EXIT_THREAD_DEBUG_INFO();
     test_pack_HW_PROFILE_INFOA();
     test_pack_HW_PROFILE_INFOW();
-    test_pack_LDT_ENTRY();
     test_pack_LOAD_DLL_DEBUG_INFO();
     test_pack_LPBY_HANDLE_FILE_INFORMATION();
-    test_pack_LPCOMMCONFIG();
     test_pack_LPCOMMPROP();
     test_pack_LPCOMMTIMEOUTS();
-    test_pack_LPCOMSTAT();
-    test_pack_LPCONTEXT();
     test_pack_LPCRITICAL_SECTION();
     test_pack_LPCRITICAL_SECTION_DEBUG();
-    test_pack_LPDCB();
-    test_pack_LPDEBUG_EVENT();
     test_pack_LPEXCEPTION_POINTERS();
     test_pack_LPEXCEPTION_RECORD();
     test_pack_LPFIBER_START_ROUTINE();
     test_pack_LPHW_PROFILE_INFOA();
     test_pack_LPHW_PROFILE_INFOW();
-    test_pack_LPLDT_ENTRY();
+    test_pack_LPLONG();
     test_pack_LPMEMORYSTATUS();
     test_pack_LPOFSTRUCT();
     test_pack_LPOSVERSIONINFOA();
@@ -953,21 +1114,19 @@
     test_pack_LPOSVERSIONINFOW();
     test_pack_LPOVERLAPPED();
     test_pack_LPOVERLAPPED_COMPLETION_ROUTINE();
-    test_pack_LPPROCESS_HEAP_ENTRY();
     test_pack_LPPROCESS_INFORMATION();
     test_pack_LPPROGRESS_ROUTINE();
     test_pack_LPSECURITY_ATTRIBUTES();
     test_pack_LPSTARTUPINFOA();
     test_pack_LPSTARTUPINFOW();
     test_pack_LPSYSTEMTIME();
-    test_pack_LPSYSTEM_INFO();
     test_pack_LPSYSTEM_POWER_STATUS();
     test_pack_LPTHREAD_START_ROUTINE();
     test_pack_LPTIME_ZONE_INFORMATION();
+    test_pack_LPVOID();
     test_pack_LPWIN32_FILE_ATTRIBUTE_DATA();
     test_pack_LPWIN32_FIND_DATAA();
     test_pack_LPWIN32_FIND_DATAW();
-    test_pack_LPWIN32_STREAM_ID();
     test_pack_MEMORYSTATUS();
     test_pack_OFSTRUCT();
     test_pack_OSVERSIONINFOA();
@@ -976,19 +1135,30 @@
     test_pack_OSVERSIONINFOW();
     test_pack_OUTPUT_DEBUG_STRING_INFO();
     test_pack_OVERLAPPED();
+    test_pack_PACTCTXA();
+    test_pack_PACTCTXW();
+    test_pack_PACTCTX_SECTION_KEYED_DATA();
+    test_pack_PACTCTX_SECTION_KEYED_DATA_2600();
+    test_pack_PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA();
+    test_pack_PACTIVATION_CONTEXT_BASIC_INFORMATION();
     test_pack_PAPCFUNC();
     test_pack_PBY_HANDLE_FILE_INFORMATION();
+    test_pack_PCACTCTXA();
+    test_pack_PCACTCTXW();
+    test_pack_PCACTCTX_SECTION_KEYED_DATA();
+    test_pack_PCACTCTX_SECTION_KEYED_DATA_2600();
+    test_pack_PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA();
     test_pack_PCRITICAL_SECTION();
     test_pack_PCRITICAL_SECTION_DEBUG();
     test_pack_PFIBER_START_ROUTINE();
+    test_pack_PHKEY();
     test_pack_POFSTRUCT();
     test_pack_POSVERSIONINFOA();
     test_pack_POSVERSIONINFOEXA();
     test_pack_POSVERSIONINFOEXW();
     test_pack_POSVERSIONINFOW();
-    test_pack_PPROCESS_HEAP_ENTRY();
     test_pack_PPROCESS_INFORMATION();
-    test_pack_PROCESS_HEAP_ENTRY();
+    test_pack_PQUERYACTCTXW_FUNC();
     test_pack_PROCESS_INFORMATION();
     test_pack_PSECURITY_ATTRIBUTES();
     test_pack_PSYSTEMTIME();
@@ -1000,10 +1170,12 @@
     test_pack_SECURITY_ATTRIBUTES();
     test_pack_STARTUPINFOA();
     test_pack_STARTUPINFOW();
+    test_pack_SYSLEVEL();
     test_pack_SYSTEMTIME();
     test_pack_SYSTEM_POWER_STATUS();
     test_pack_TIME_ZONE_INFORMATION();
     test_pack_UNLOAD_DLL_DEBUG_INFO();
+    test_pack_WAITORTIMERCALLBACK();
     test_pack_WIN32_FILE_ATTRIBUTE_DATA();
     test_pack_WIN32_FIND_DATAA();
     test_pack_WIN32_FIND_DATAW();
diff --git a/dlls/ntdll/tests/generated.c b/dlls/ntdll/tests/generated.c
index ae4a9b8..c8c0815 100644
--- a/dlls/ntdll/tests/generated.c
+++ b/dlls/ntdll/tests/generated.c
@@ -117,6 +117,13 @@
     TEST_TYPE_UNSIGNED(DWORD32);
 }
 
+static void test_pack_DWORD64(void)
+{
+    /* DWORD64 */
+    TEST_TYPE(DWORD64, 8, 8);
+    TEST_TYPE_UNSIGNED(DWORD64);
+}
+
 static void test_pack_DWORD_PTR(void)
 {
     /* DWORD_PTR */
@@ -130,6 +137,13 @@
     TEST_TYPE_SIGNED(HALF_PTR);
 }
 
+static void test_pack_INT16(void)
+{
+    /* INT16 */
+    TEST_TYPE(INT16, 2, 2);
+    TEST_TYPE_SIGNED(INT16);
+}
+
 static void test_pack_INT32(void)
 {
     /* INT32 */
@@ -137,6 +151,20 @@
     TEST_TYPE_SIGNED(INT32);
 }
 
+static void test_pack_INT64(void)
+{
+    /* INT64 */
+    TEST_TYPE(INT64, 8, 8);
+    TEST_TYPE_SIGNED(INT64);
+}
+
+static void test_pack_INT8(void)
+{
+    /* INT8 */
+    TEST_TYPE(INT8, 1, 1);
+    TEST_TYPE_SIGNED(INT8);
+}
+
 static void test_pack_INT_PTR(void)
 {
     /* INT_PTR */
@@ -151,6 +179,13 @@
     TEST_TYPE_SIGNED(LONG32);
 }
 
+static void test_pack_LONG64(void)
+{
+    /* LONG64 */
+    TEST_TYPE(LONG64, 8, 8);
+    TEST_TYPE_SIGNED(LONG64);
+}
+
 static void test_pack_LONG_PTR(void)
 {
     /* LONG_PTR */
@@ -177,6 +212,13 @@
     TEST_TYPE_UNSIGNED(UHALF_PTR);
 }
 
+static void test_pack_UINT16(void)
+{
+    /* UINT16 */
+    TEST_TYPE(UINT16, 2, 2);
+    TEST_TYPE_UNSIGNED(UINT16);
+}
+
 static void test_pack_UINT32(void)
 {
     /* UINT32 */
@@ -184,6 +226,20 @@
     TEST_TYPE_UNSIGNED(UINT32);
 }
 
+static void test_pack_UINT64(void)
+{
+    /* UINT64 */
+    TEST_TYPE(UINT64, 8, 8);
+    TEST_TYPE_UNSIGNED(UINT64);
+}
+
+static void test_pack_UINT8(void)
+{
+    /* UINT8 */
+    TEST_TYPE(UINT8, 1, 1);
+    TEST_TYPE_UNSIGNED(UINT8);
+}
+
 static void test_pack_UINT_PTR(void)
 {
     /* UINT_PTR */
@@ -198,6 +254,13 @@
     TEST_TYPE_UNSIGNED(ULONG32);
 }
 
+static void test_pack_ULONG64(void)
+{
+    /* ULONG64 */
+    TEST_TYPE(ULONG64, 8, 8);
+    TEST_TYPE_UNSIGNED(ULONG64);
+}
+
 static void test_pack_ULONG_PTR(void)
 {
     /* ULONG_PTR */
@@ -227,6 +290,7 @@
 {
     /* ACCESS_MASK */
     TEST_TYPE(ACCESS_MASK, 4, 4);
+    TEST_TYPE_UNSIGNED(ACCESS_MASK);
 }
 
 static void test_pack_ACE_HEADER(void)
@@ -249,24 +313,27 @@
     TEST_FIELD(ACL, WORD, Sbz2, 6, 2, 2);
 }
 
-static void test_pack_BOOL(void)
+static void test_pack_ACL_REVISION_INFORMATION(void)
 {
-    /* BOOL */
-    TEST_TYPE(BOOL, 4, 4);
-    TEST_TYPE_SIGNED(BOOL);
+    /* ACL_REVISION_INFORMATION (pack 4) */
+    TEST_TYPE(ACL_REVISION_INFORMATION, 4, 4);
+    TEST_FIELD(ACL_REVISION_INFORMATION, DWORD, AclRevision, 0, 4, 4);
+}
+
+static void test_pack_ACL_SIZE_INFORMATION(void)
+{
+    /* ACL_SIZE_INFORMATION (pack 4) */
+    TEST_TYPE(ACL_SIZE_INFORMATION, 12, 4);
+    TEST_FIELD(ACL_SIZE_INFORMATION, DWORD, AceCount, 0, 4, 4);
+    TEST_FIELD(ACL_SIZE_INFORMATION, DWORD, AclBytesInUse, 4, 4, 4);
+    TEST_FIELD(ACL_SIZE_INFORMATION, DWORD, AclBytesFree, 8, 4, 4);
 }
 
 static void test_pack_BOOLEAN(void)
 {
     /* BOOLEAN */
     TEST_TYPE(BOOLEAN, 1, 1);
-}
-
-static void test_pack_BYTE(void)
-{
-    /* BYTE */
-    TEST_TYPE(BYTE, 1, 1);
-    TEST_TYPE_UNSIGNED(BYTE);
+    TEST_TYPE_UNSIGNED(BOOLEAN);
 }
 
 static void test_pack_CCHAR(void)
@@ -283,11 +350,41 @@
     TEST_TYPE_SIGNED(CHAR);
 }
 
-static void test_pack_DWORD(void)
+static void test_pack_CONTEXT86(void)
 {
-    /* DWORD */
-    TEST_TYPE(DWORD, 4, 4);
-    TEST_TYPE_UNSIGNED(DWORD);
+    /* CONTEXT86 (pack 4) */
+    TEST_TYPE(CONTEXT86, 716, 4);
+    TEST_FIELD(CONTEXT86, DWORD, ContextFlags, 0, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Dr0, 4, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Dr1, 8, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Dr2, 12, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Dr3, 16, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Dr6, 20, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Dr7, 24, 4, 4);
+    TEST_FIELD(CONTEXT86, FLOATING_SAVE_AREA, FloatSave, 28, 112, 4);
+    TEST_FIELD(CONTEXT86, DWORD, SegGs, 140, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, SegFs, 144, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, SegEs, 148, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, SegDs, 152, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Edi, 156, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Esi, 160, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Ebx, 164, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Edx, 168, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Ecx, 172, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Eax, 176, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Ebp, 180, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Eip, 184, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, SegCs, 188, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, EFlags, 192, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, Esp, 196, 4, 4);
+    TEST_FIELD(CONTEXT86, DWORD, SegSs, 200, 4, 4);
+    TEST_FIELD(CONTEXT86, BYTE[MAXIMUM_SUPPORTED_EXTENSION], ExtendedRegisters, 204, 512, 1);
+}
+
+static void test_pack_DWORDLONG(void)
+{
+    /* DWORDLONG */
+    TEST_TYPE(DWORDLONG, 8, 8);
 }
 
 static void test_pack_EXCEPTION_POINTERS(void)
@@ -310,16 +407,19 @@
     TEST_FIELD(EXCEPTION_RECORD, DWORD[EXCEPTION_MAXIMUM_PARAMETERS], ExceptionInformation, 20, 60, 4);
 }
 
+static void test_pack_EXCEPTION_REGISTRATION_RECORD(void)
+{
+    /* EXCEPTION_REGISTRATION_RECORD (pack 4) */
+    TEST_TYPE(EXCEPTION_REGISTRATION_RECORD, 8, 4);
+    TEST_FIELD(EXCEPTION_REGISTRATION_RECORD, struct _EXCEPTION_REGISTRATION_RECORD *, Prev, 0, 4, 4);
+    TEST_FIELD(EXCEPTION_REGISTRATION_RECORD, PEXCEPTION_HANDLER, Handler, 4, 4, 4);
+}
+
 static void test_pack_EXECUTION_STATE(void)
 {
     /* EXECUTION_STATE */
     TEST_TYPE(EXECUTION_STATE, 4, 4);
-}
-
-static void test_pack_FLOAT(void)
-{
-    /* FLOAT */
-    TEST_TYPE(FLOAT, 4, 4);
+    TEST_TYPE_UNSIGNED(EXECUTION_STATE);
 }
 
 static void test_pack_FLOATING_SAVE_AREA(void)
@@ -337,15 +437,6 @@
     TEST_FIELD(FLOATING_SAVE_AREA, DWORD, Cr0NpxState, 108, 4, 4);
 }
 
-static void test_pack_FPO_DATA(void)
-{
-    /* FPO_DATA (pack 4) */
-    TEST_FIELD(FPO_DATA, DWORD, ulOffStart, 0, 4, 4);
-    TEST_FIELD(FPO_DATA, DWORD, cbProcSize, 4, 4, 4);
-    TEST_FIELD(FPO_DATA, DWORD, cdwLocals, 8, 4, 4);
-    TEST_FIELD(FPO_DATA, WORD, cdwParams, 12, 2, 2);
-}
-
 static void test_pack_GENERIC_MAPPING(void)
 {
     /* GENERIC_MAPPING (pack 4) */
@@ -356,12 +447,6 @@
     TEST_FIELD(GENERIC_MAPPING, ACCESS_MASK, GenericAll, 12, 4, 4);
 }
 
-static void test_pack_HANDLE(void)
-{
-    /* HANDLE */
-    TEST_TYPE(HANDLE, 4, 4);
-}
-
 static void test_pack_HRESULT(void)
 {
     /* HRESULT */
@@ -531,6 +616,11 @@
     TEST_FIELD(IMAGE_IMPORT_BY_NAME, BYTE[1], Name, 2, 1, 1);
 }
 
+static void test_pack_IMAGE_IMPORT_DESCRIPTOR(void)
+{
+    /* IMAGE_IMPORT_DESCRIPTOR (pack 4) */
+}
+
 static void test_pack_IMAGE_LOAD_CONFIG_DIRECTORY(void)
 {
     /* IMAGE_LOAD_CONFIG_DIRECTORY (pack 4) */
@@ -640,9 +730,11 @@
 static void test_pack_IMAGE_RESOURCE_DATA_ENTRY(void)
 {
     /* IMAGE_RESOURCE_DATA_ENTRY (pack 4) */
+    TEST_TYPE(IMAGE_RESOURCE_DATA_ENTRY, 16, 4);
     TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, OffsetToData, 0, 4, 4);
     TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, Size, 4, 4, 4);
     TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, CodePage, 8, 4, 4);
+    TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, ResourceHandle, 12, 4, 4);
 }
 
 static void test_pack_IMAGE_RESOURCE_DIRECTORY(void)
@@ -657,11 +749,6 @@
     TEST_FIELD(IMAGE_RESOURCE_DIRECTORY, WORD, NumberOfIdEntries, 14, 2, 2);
 }
 
-static void test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY(void)
-{
-    /* IMAGE_RESOURCE_DIRECTORY_ENTRY (pack 4) */
-}
-
 static void test_pack_IMAGE_RESOURCE_DIRECTORY_STRING(void)
 {
     /* IMAGE_RESOURCE_DIRECTORY_STRING (pack 4) */
@@ -697,11 +784,6 @@
     TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD[ 2 ], Reserved, 40, 8, 4);
 }
 
-static void test_pack_IMAGE_THUNK_DATA(void)
-{
-    /* IMAGE_THUNK_DATA (pack 4) */
-}
-
 static void test_pack_IMAGE_TLS_DIRECTORY(void)
 {
     /* IMAGE_TLS_DIRECTORY (pack 4) */
@@ -771,23 +853,23 @@
     TEST_FIELD(IMAGE_VXD_HEADER, WORD, e32_ddkver, 194, 2, 2);
 }
 
-static void test_pack_INT(void)
-{
-    /* INT */
-    TEST_TYPE(INT, 4, 4);
-    TEST_TYPE_SIGNED(INT);
-}
-
 static void test_pack_LANGID(void)
 {
     /* LANGID */
     TEST_TYPE(LANGID, 2, 2);
+    TEST_TYPE_UNSIGNED(LANGID);
+}
+
+static void test_pack_LARGE_INTEGER(void)
+{
+    /* LARGE_INTEGER (pack 4) */
 }
 
 static void test_pack_LCID(void)
 {
     /* LCID */
     TEST_TYPE(LCID, 4, 4);
+    TEST_TYPE_UNSIGNED(LCID);
 }
 
 static void test_pack_LIST_ENTRY(void)
@@ -805,10 +887,11 @@
     TEST_TYPE_SIGNED(LONG);
 }
 
-static void test_pack_LPCVOID(void)
+static void test_pack_LONGLONG(void)
 {
-    /* LPCVOID */
-    TEST_TYPE(LPCVOID, 4, 4);
+    /* LONGLONG */
+    TEST_TYPE(LONGLONG, 8, 8);
+    TEST_TYPE_SIGNED(LONGLONG);
 }
 
 static void test_pack_LPTOP_LEVEL_EXCEPTION_FILTER(void)
@@ -872,6 +955,15 @@
     TEST_FIELD(MESSAGE_RESOURCE_ENTRY, BYTE[1], Text, 4, 1, 1);
 }
 
+static void test_pack_OBJECT_TYPE_LIST(void)
+{
+    /* OBJECT_TYPE_LIST (pack 4) */
+    TEST_TYPE(OBJECT_TYPE_LIST, 8, 4);
+    TEST_FIELD(OBJECT_TYPE_LIST, WORD, Level, 0, 2, 2);
+    TEST_FIELD(OBJECT_TYPE_LIST, WORD, Sbz, 2, 2, 2);
+    TEST_FIELD(OBJECT_TYPE_LIST, GUID *, ObjectType, 4, 4, 4);
+}
+
 static void test_pack_PACCESS_ALLOWED_ACE(void)
 {
     /* PACCESS_ALLOWED_ACE */
@@ -906,6 +998,20 @@
     TEST_TYPE_POINTER(PACL, 8, 2);
 }
 
+static void test_pack_PACL_REVISION_INFORMATION(void)
+{
+    /* PACL_REVISION_INFORMATION */
+    TEST_TYPE(PACL_REVISION_INFORMATION, 4, 4);
+    TEST_TYPE_POINTER(PACL_REVISION_INFORMATION, 4, 4);
+}
+
+static void test_pack_PACL_SIZE_INFORMATION(void)
+{
+    /* PACL_SIZE_INFORMATION */
+    TEST_TYPE(PACL_SIZE_INFORMATION, 4, 4);
+    TEST_TYPE_POINTER(PACL_SIZE_INFORMATION, 12, 4);
+}
+
 static void test_pack_PCCH(void)
 {
     /* PCCH */
@@ -927,6 +1033,12 @@
     TEST_TYPE_POINTER(PCSTR, 1, 1);
 }
 
+static void test_pack_PCTSTR(void)
+{
+    /* PCTSTR */
+    TEST_TYPE(PCTSTR, 4, 4);
+}
+
 static void test_pack_PCWCH(void)
 {
     /* PCWCH */
@@ -941,6 +1053,12 @@
     TEST_TYPE_POINTER(PCWSTR, 2, 2);
 }
 
+static void test_pack_PEXCEPTION_HANDLER(void)
+{
+    /* PEXCEPTION_HANDLER */
+    TEST_TYPE(PEXCEPTION_HANDLER, 4, 4);
+}
+
 static void test_pack_PEXCEPTION_POINTERS(void)
 {
     /* PEXCEPTION_POINTERS */
@@ -955,6 +1073,13 @@
     TEST_TYPE_POINTER(PEXCEPTION_RECORD, 80, 4);
 }
 
+static void test_pack_PEXCEPTION_REGISTRATION_RECORD(void)
+{
+    /* PEXCEPTION_REGISTRATION_RECORD */
+    TEST_TYPE(PEXCEPTION_REGISTRATION_RECORD, 4, 4);
+    TEST_TYPE_POINTER(PEXCEPTION_REGISTRATION_RECORD, 8, 4);
+}
+
 static void test_pack_PFLOATING_SAVE_AREA(void)
 {
     /* PFLOATING_SAVE_AREA */
@@ -962,12 +1087,6 @@
     TEST_TYPE_POINTER(PFLOATING_SAVE_AREA, 112, 4);
 }
 
-static void test_pack_PFPO_DATA(void)
-{
-    /* PFPO_DATA */
-    TEST_TYPE(PFPO_DATA, 4, 4);
-}
-
 static void test_pack_PGENERIC_MAPPING(void)
 {
     /* PGENERIC_MAPPING */
@@ -1085,12 +1204,6 @@
     TEST_TYPE(PIMAGE_IMPORT_DESCRIPTOR, 4, 4);
 }
 
-static void test_pack_PIMAGE_LINENUMBER(void)
-{
-    /* PIMAGE_LINENUMBER */
-    TEST_TYPE(PIMAGE_LINENUMBER, 4, 4);
-}
-
 static void test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY(void)
 {
     /* PIMAGE_LOAD_CONFIG_DIRECTORY */
@@ -1119,16 +1232,11 @@
     TEST_TYPE_POINTER(PIMAGE_OS2_HEADER, 64, 2);
 }
 
-static void test_pack_PIMAGE_RELOCATION(void)
-{
-    /* PIMAGE_RELOCATION */
-    TEST_TYPE(PIMAGE_RELOCATION, 4, 4);
-}
-
 static void test_pack_PIMAGE_RESOURCE_DATA_ENTRY(void)
 {
     /* PIMAGE_RESOURCE_DATA_ENTRY */
     TEST_TYPE(PIMAGE_RESOURCE_DATA_ENTRY, 4, 4);
+    TEST_TYPE_POINTER(PIMAGE_RESOURCE_DATA_ENTRY, 16, 4);
 }
 
 static void test_pack_PIMAGE_RESOURCE_DIRECTORY(void)
@@ -1138,12 +1246,6 @@
     TEST_TYPE_POINTER(PIMAGE_RESOURCE_DIRECTORY, 16, 4);
 }
 
-static void test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY(void)
-{
-    /* PIMAGE_RESOURCE_DIRECTORY_ENTRY */
-    TEST_TYPE(PIMAGE_RESOURCE_DIRECTORY_ENTRY, 4, 4);
-}
-
 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING(void)
 {
     /* PIMAGE_RESOURCE_DIRECTORY_STRING */
@@ -1158,12 +1260,6 @@
     TEST_TYPE_POINTER(PIMAGE_RESOURCE_DIR_STRING_U, 4, 2);
 }
 
-static void test_pack_PIMAGE_SECTION_HEADER(void)
-{
-    /* PIMAGE_SECTION_HEADER */
-    TEST_TYPE(PIMAGE_SECTION_HEADER, 4, 4);
-}
-
 static void test_pack_PIMAGE_SEPARATE_DEBUG_HEADER(void)
 {
     /* PIMAGE_SEPARATE_DEBUG_HEADER */
@@ -1171,18 +1267,6 @@
     TEST_TYPE_POINTER(PIMAGE_SEPARATE_DEBUG_HEADER, 48, 4);
 }
 
-static void test_pack_PIMAGE_SYMBOL(void)
-{
-    /* PIMAGE_SYMBOL */
-    TEST_TYPE(PIMAGE_SYMBOL, 4, 4);
-}
-
-static void test_pack_PIMAGE_THUNK_DATA(void)
-{
-    /* PIMAGE_THUNK_DATA */
-    TEST_TYPE(PIMAGE_THUNK_DATA, 4, 4);
-}
-
 static void test_pack_PIMAGE_TLS_CALLBACK(void)
 {
     /* PIMAGE_TLS_CALLBACK */
@@ -1230,6 +1314,13 @@
     TEST_TYPE_POINTER(PLUID, 8, 4);
 }
 
+static void test_pack_PLUID_AND_ATTRIBUTES(void)
+{
+    /* PLUID_AND_ATTRIBUTES */
+    TEST_TYPE(PLUID_AND_ATTRIBUTES, 4, 4);
+    TEST_TYPE_POINTER(PLUID_AND_ATTRIBUTES, 12, 4);
+}
+
 static void test_pack_PMEMORY_BASIC_INFORMATION(void)
 {
     /* PMEMORY_BASIC_INFORMATION */
@@ -1258,10 +1349,11 @@
     TEST_TYPE_POINTER(PMESSAGE_RESOURCE_ENTRY, 6, 2);
 }
 
-static void test_pack_PNT_TIB(void)
+static void test_pack_POBJECT_TYPE_LIST(void)
 {
-    /* PNT_TIB */
-    TEST_TYPE(PNT_TIB, 4, 4);
+    /* POBJECT_TYPE_LIST */
+    TEST_TYPE(POBJECT_TYPE_LIST, 4, 4);
+    TEST_TYPE_POINTER(POBJECT_TYPE_LIST, 8, 4);
 }
 
 static void test_pack_PPRIVILEGE_SET(void)
@@ -1301,6 +1393,20 @@
     TEST_TYPE_POINTER(PRTL_CRITICAL_SECTION_DEBUG, 32, 4);
 }
 
+static void test_pack_PRTL_OSVERSIONINFOEXW(void)
+{
+    /* PRTL_OSVERSIONINFOEXW */
+    TEST_TYPE(PRTL_OSVERSIONINFOEXW, 4, 4);
+    TEST_TYPE_POINTER(PRTL_OSVERSIONINFOEXW, 284, 4);
+}
+
+static void test_pack_PRTL_OSVERSIONINFOW(void)
+{
+    /* PRTL_OSVERSIONINFOW */
+    TEST_TYPE(PRTL_OSVERSIONINFOW, 4, 4);
+    TEST_TYPE_POINTER(PRTL_OSVERSIONINFOW, 276, 4);
+}
+
 static void test_pack_PRTL_RESOURCE_DEBUG(void)
 {
     /* PRTL_RESOURCE_DEBUG */
@@ -1308,10 +1414,18 @@
     TEST_TYPE_POINTER(PRTL_RESOURCE_DEBUG, 32, 4);
 }
 
-static void test_pack_PSECURITY_QUALITY_OF_SERVICE(void)
+static void test_pack_PSECURITY_DESCRIPTOR(void)
 {
-    /* PSECURITY_QUALITY_OF_SERVICE */
-    TEST_TYPE(PSECURITY_QUALITY_OF_SERVICE, 4, 4);
+    /* PSECURITY_DESCRIPTOR */
+    TEST_TYPE(PSECURITY_DESCRIPTOR, 4, 4);
+    TEST_TYPE_POINTER(PSECURITY_DESCRIPTOR, 20, 4);
+}
+
+static void test_pack_PSID(void)
+{
+    /* PSID */
+    TEST_TYPE(PSID, 4, 4);
+    TEST_TYPE_POINTER(PSID, 12, 4);
 }
 
 static void test_pack_PSID_IDENTIFIER_AUTHORITY(void)
@@ -1365,6 +1479,7 @@
 static void test_pack_PTSTR(void)
 {
     /* PTSTR */
+    TEST_TYPE(PTSTR, 4, 4);
 }
 
 static void test_pack_PULARGE_INTEGER(void)
@@ -1373,6 +1488,12 @@
     TEST_TYPE(PULARGE_INTEGER, 4, 4);
 }
 
+static void test_pack_PVECTORED_EXCEPTION_HANDLER(void)
+{
+    /* PVECTORED_EXCEPTION_HANDLER */
+    TEST_TYPE(PVECTORED_EXCEPTION_HANDLER, 4, 4);
+}
+
 static void test_pack_PVOID(void)
 {
     /* PVOID */
@@ -1418,6 +1539,35 @@
     TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, DWORD[ 2 ], Spare, 24, 8, 4);
 }
 
+static void test_pack_RTL_OSVERSIONINFOEXW(void)
+{
+    /* RTL_OSVERSIONINFOEXW (pack 4) */
+    TEST_TYPE(RTL_OSVERSIONINFOEXW, 284, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, DWORD, dwMajorVersion, 4, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, DWORD, dwMinorVersion, 8, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, DWORD, dwBuildNumber, 12, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, DWORD, dwPlatformId, 16, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, WCHAR[128], szCSDVersion, 20, 256, 2);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, WORD, wServicePackMajor, 276, 2, 2);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, WORD, wServicePackMinor, 278, 2, 2);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, WORD, wSuiteMask, 280, 2, 2);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, BYTE, wProductType, 282, 1, 1);
+    TEST_FIELD(RTL_OSVERSIONINFOEXW, BYTE, wReserved, 283, 1, 1);
+}
+
+static void test_pack_RTL_OSVERSIONINFOW(void)
+{
+    /* RTL_OSVERSIONINFOW (pack 4) */
+    TEST_TYPE(RTL_OSVERSIONINFOW, 276, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOW, DWORD, dwMajorVersion, 4, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOW, DWORD, dwMinorVersion, 8, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOW, DWORD, dwBuildNumber, 12, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOW, DWORD, dwPlatformId, 16, 4, 4);
+    TEST_FIELD(RTL_OSVERSIONINFOW, WCHAR[128], szCSDVersion, 20, 256, 2);
+}
+
 static void test_pack_RTL_RESOURCE_DEBUG(void)
 {
     /* RTL_RESOURCE_DEBUG (pack 4) */
@@ -1454,6 +1604,7 @@
 {
     /* SECURITY_DESCRIPTOR_CONTROL */
     TEST_TYPE(SECURITY_DESCRIPTOR_CONTROL, 2, 2);
+    TEST_TYPE_UNSIGNED(SECURITY_DESCRIPTOR_CONTROL);
 }
 
 static void test_pack_SECURITY_DESCRIPTOR_RELATIVE(void)
@@ -1473,6 +1624,7 @@
 {
     /* SECURITY_INFORMATION */
     TEST_TYPE(SECURITY_INFORMATION, 4, 4);
+    TEST_TYPE_UNSIGNED(SECURITY_INFORMATION);
 }
 
 static void test_pack_SHORT(void)
@@ -1590,32 +1742,16 @@
     TEST_FIELD(TOKEN_USER, SID_AND_ATTRIBUTES, User, 0, 8, 4);
 }
 
-static void test_pack_UCHAR(void)
+static void test_pack_ULARGE_INTEGER(void)
 {
-    /* UCHAR */
-    TEST_TYPE(UCHAR, 1, 1);
-    TEST_TYPE_UNSIGNED(UCHAR);
+    /* ULARGE_INTEGER (pack 4) */
 }
 
-static void test_pack_UINT(void)
+static void test_pack_ULONGLONG(void)
 {
-    /* UINT */
-    TEST_TYPE(UINT, 4, 4);
-    TEST_TYPE_UNSIGNED(UINT);
-}
-
-static void test_pack_ULONG(void)
-{
-    /* ULONG */
-    TEST_TYPE(ULONG, 4, 4);
-    TEST_TYPE_UNSIGNED(ULONG);
-}
-
-static void test_pack_USHORT(void)
-{
-    /* USHORT */
-    TEST_TYPE(USHORT, 2, 2);
-    TEST_TYPE_UNSIGNED(USHORT);
+    /* ULONGLONG */
+    TEST_TYPE(ULONGLONG, 8, 8);
+    TEST_TYPE_UNSIGNED(ULONGLONG);
 }
 
 static void test_pack_WAITORTIMERCALLBACKFUNC(void)
@@ -1631,23 +1767,39 @@
     TEST_TYPE_UNSIGNED(WCHAR);
 }
 
-static void test_pack_WORD(void)
-{
-    /* WORD */
-    TEST_TYPE(WORD, 2, 2);
-    TEST_TYPE_UNSIGNED(WORD);
-}
-
 static void test_pack_ATOM(void)
 {
     /* ATOM */
     TEST_TYPE(ATOM, 2, 2);
+    TEST_TYPE_UNSIGNED(ATOM);
+}
+
+static void test_pack_BOOL(void)
+{
+    /* BOOL */
+    TEST_TYPE(BOOL, 4, 4);
+    TEST_TYPE_SIGNED(BOOL);
+}
+
+static void test_pack_BYTE(void)
+{
+    /* BYTE */
+    TEST_TYPE(BYTE, 1, 1);
+    TEST_TYPE_UNSIGNED(BYTE);
 }
 
 static void test_pack_COLORREF(void)
 {
     /* COLORREF */
     TEST_TYPE(COLORREF, 4, 4);
+    TEST_TYPE_UNSIGNED(COLORREF);
+}
+
+static void test_pack_DWORD(void)
+{
+    /* DWORD */
+    TEST_TYPE(DWORD, 4, 4);
+    TEST_TYPE_UNSIGNED(DWORD);
 }
 
 static void test_pack_FARPROC(void)
@@ -1656,6 +1808,12 @@
     TEST_TYPE(FARPROC, 4, 4);
 }
 
+static void test_pack_FLOAT(void)
+{
+    /* FLOAT */
+    TEST_TYPE(FLOAT, 4, 4);
+}
+
 static void test_pack_GLOBALHANDLE(void)
 {
     /* GLOBALHANDLE */
@@ -1701,6 +1859,13 @@
     TEST_TYPE_UNSIGNED(HMODULE);
 }
 
+static void test_pack_INT(void)
+{
+    /* INT */
+    TEST_TYPE(INT, 4, 4);
+    TEST_TYPE_SIGNED(INT);
+}
+
 static void test_pack_LOCALHANDLE(void)
 {
     /* LOCALHANDLE */
@@ -1727,6 +1892,12 @@
     TEST_TYPE_POINTER(LPCRECTL, 16, 4);
 }
 
+static void test_pack_LPCVOID(void)
+{
+    /* LPCVOID */
+    TEST_TYPE(LPCVOID, 4, 4);
+}
+
 static void test_pack_LPPOINT(void)
 {
     /* LPPOINT */
@@ -1837,10 +2008,10 @@
 {
     /* RECT (pack 4) */
     TEST_TYPE(RECT, 16, 4);
-    TEST_FIELD(RECT, INT, left, 0, 4, 4);
-    TEST_FIELD(RECT, INT, top, 4, 4, 4);
-    TEST_FIELD(RECT, INT, right, 8, 4, 4);
-    TEST_FIELD(RECT, INT, bottom, 12, 4, 4);
+    TEST_FIELD(RECT, LONG, left, 0, 4, 4);
+    TEST_FIELD(RECT, LONG, top, 4, 4, 4);
+    TEST_FIELD(RECT, LONG, right, 8, 4, 4);
+    TEST_FIELD(RECT, LONG, bottom, 12, 4, 4);
 }
 
 static void test_pack_RECTL(void)
@@ -1867,6 +2038,41 @@
     TEST_TYPE(SIZEL, 8, 4);
 }
 
+static void test_pack_UCHAR(void)
+{
+    /* UCHAR */
+    TEST_TYPE(UCHAR, 1, 1);
+    TEST_TYPE_UNSIGNED(UCHAR);
+}
+
+static void test_pack_UINT(void)
+{
+    /* UINT */
+    TEST_TYPE(UINT, 4, 4);
+    TEST_TYPE_UNSIGNED(UINT);
+}
+
+static void test_pack_ULONG(void)
+{
+    /* ULONG */
+    TEST_TYPE(ULONG, 4, 4);
+    TEST_TYPE_UNSIGNED(ULONG);
+}
+
+static void test_pack_USHORT(void)
+{
+    /* USHORT */
+    TEST_TYPE(USHORT, 2, 2);
+    TEST_TYPE_UNSIGNED(USHORT);
+}
+
+static void test_pack_WORD(void)
+{
+    /* WORD */
+    TEST_TYPE(WORD, 2, 2);
+    TEST_TYPE_UNSIGNED(WORD);
+}
+
 static void test_pack_WPARAM(void)
 {
     /* WPARAM */
@@ -1880,6 +2086,8 @@
     test_pack_ACCESS_MASK();
     test_pack_ACE_HEADER();
     test_pack_ACL();
+    test_pack_ACL_REVISION_INFORMATION();
+    test_pack_ACL_SIZE_INFORMATION();
     test_pack_ATOM();
     test_pack_BOOL();
     test_pack_BOOLEAN();
@@ -1887,20 +2095,22 @@
     test_pack_CCHAR();
     test_pack_CHAR();
     test_pack_COLORREF();
+    test_pack_CONTEXT86();
     test_pack_DWORD();
     test_pack_DWORD32();
+    test_pack_DWORD64();
+    test_pack_DWORDLONG();
     test_pack_DWORD_PTR();
     test_pack_EXCEPTION_POINTERS();
     test_pack_EXCEPTION_RECORD();
+    test_pack_EXCEPTION_REGISTRATION_RECORD();
     test_pack_EXECUTION_STATE();
     test_pack_FARPROC();
     test_pack_FLOAT();
     test_pack_FLOATING_SAVE_AREA();
-    test_pack_FPO_DATA();
     test_pack_GENERIC_MAPPING();
     test_pack_GLOBALHANDLE();
     test_pack_HALF_PTR();
-    test_pack_HANDLE();
     test_pack_HCURSOR();
     test_pack_HFILE();
     test_pack_HGDIOBJ();
@@ -1922,28 +2132,33 @@
     test_pack_IMAGE_FILE_HEADER();
     test_pack_IMAGE_FUNCTION_ENTRY();
     test_pack_IMAGE_IMPORT_BY_NAME();
+    test_pack_IMAGE_IMPORT_DESCRIPTOR();
     test_pack_IMAGE_LOAD_CONFIG_DIRECTORY();
     test_pack_IMAGE_NT_HEADERS();
     test_pack_IMAGE_OPTIONAL_HEADER();
     test_pack_IMAGE_OS2_HEADER();
     test_pack_IMAGE_RESOURCE_DATA_ENTRY();
     test_pack_IMAGE_RESOURCE_DIRECTORY();
-    test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY();
     test_pack_IMAGE_RESOURCE_DIRECTORY_STRING();
     test_pack_IMAGE_RESOURCE_DIR_STRING_U();
     test_pack_IMAGE_SEPARATE_DEBUG_HEADER();
-    test_pack_IMAGE_THUNK_DATA();
     test_pack_IMAGE_TLS_DIRECTORY();
     test_pack_IMAGE_VXD_HEADER();
     test_pack_INT();
+    test_pack_INT16();
     test_pack_INT32();
+    test_pack_INT64();
+    test_pack_INT8();
     test_pack_INT_PTR();
     test_pack_LANGID();
+    test_pack_LARGE_INTEGER();
     test_pack_LCID();
     test_pack_LIST_ENTRY();
     test_pack_LOCALHANDLE();
     test_pack_LONG();
     test_pack_LONG32();
+    test_pack_LONG64();
+    test_pack_LONGLONG();
     test_pack_LONG_PTR();
     test_pack_LPARAM();
     test_pack_LPCRECT();
@@ -1962,20 +2177,25 @@
     test_pack_MESSAGE_RESOURCE_BLOCK();
     test_pack_MESSAGE_RESOURCE_DATA();
     test_pack_MESSAGE_RESOURCE_ENTRY();
+    test_pack_OBJECT_TYPE_LIST();
     test_pack_PACCESS_ALLOWED_ACE();
     test_pack_PACCESS_DENIED_ACE();
     test_pack_PACCESS_TOKEN();
     test_pack_PACE_HEADER();
     test_pack_PACL();
+    test_pack_PACL_REVISION_INFORMATION();
+    test_pack_PACL_SIZE_INFORMATION();
     test_pack_PCCH();
     test_pack_PCH();
     test_pack_PCSTR();
+    test_pack_PCTSTR();
     test_pack_PCWCH();
     test_pack_PCWSTR();
+    test_pack_PEXCEPTION_HANDLER();
     test_pack_PEXCEPTION_POINTERS();
     test_pack_PEXCEPTION_RECORD();
+    test_pack_PEXCEPTION_REGISTRATION_RECORD();
     test_pack_PFLOATING_SAVE_AREA();
-    test_pack_PFPO_DATA();
     test_pack_PGENERIC_MAPPING();
     test_pack_PHANDLE();
     test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER();
@@ -1993,21 +2213,15 @@
     test_pack_PIMAGE_FUNCTION_ENTRY();
     test_pack_PIMAGE_IMPORT_BY_NAME();
     test_pack_PIMAGE_IMPORT_DESCRIPTOR();
-    test_pack_PIMAGE_LINENUMBER();
     test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY();
     test_pack_PIMAGE_NT_HEADERS();
     test_pack_PIMAGE_OPTIONAL_HEADER();
     test_pack_PIMAGE_OS2_HEADER();
-    test_pack_PIMAGE_RELOCATION();
     test_pack_PIMAGE_RESOURCE_DATA_ENTRY();
     test_pack_PIMAGE_RESOURCE_DIRECTORY();
-    test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY();
     test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING();
     test_pack_PIMAGE_RESOURCE_DIR_STRING_U();
-    test_pack_PIMAGE_SECTION_HEADER();
     test_pack_PIMAGE_SEPARATE_DEBUG_HEADER();
-    test_pack_PIMAGE_SYMBOL();
-    test_pack_PIMAGE_THUNK_DATA();
     test_pack_PIMAGE_TLS_CALLBACK();
     test_pack_PIMAGE_TLS_DIRECTORY();
     test_pack_PIMAGE_VXD_HEADER();
@@ -2015,11 +2229,12 @@
     test_pack_PLARGE_INTEGER();
     test_pack_PLIST_ENTRY();
     test_pack_PLUID();
+    test_pack_PLUID_AND_ATTRIBUTES();
     test_pack_PMEMORY_BASIC_INFORMATION();
     test_pack_PMESSAGE_RESOURCE_BLOCK();
     test_pack_PMESSAGE_RESOURCE_DATA();
     test_pack_PMESSAGE_RESOURCE_ENTRY();
-    test_pack_PNT_TIB();
+    test_pack_POBJECT_TYPE_LIST();
     test_pack_POINT();
     test_pack_POINTL();
     test_pack_POINTS();
@@ -2033,8 +2248,11 @@
     test_pack_PROC();
     test_pack_PRTL_CRITICAL_SECTION();
     test_pack_PRTL_CRITICAL_SECTION_DEBUG();
+    test_pack_PRTL_OSVERSIONINFOEXW();
+    test_pack_PRTL_OSVERSIONINFOW();
     test_pack_PRTL_RESOURCE_DEBUG();
-    test_pack_PSECURITY_QUALITY_OF_SERVICE();
+    test_pack_PSECURITY_DESCRIPTOR();
+    test_pack_PSID();
     test_pack_PSID_IDENTIFIER_AUTHORITY();
     test_pack_PSINGLE_LIST_ENTRY();
     test_pack_PSIZE();
@@ -2045,6 +2263,7 @@
     test_pack_PTOP_LEVEL_EXCEPTION_FILTER();
     test_pack_PTSTR();
     test_pack_PULARGE_INTEGER();
+    test_pack_PVECTORED_EXCEPTION_HANDLER();
     test_pack_PVOID();
     test_pack_PWCH();
     test_pack_PWSTR();
@@ -2052,6 +2271,8 @@
     test_pack_RECTL();
     test_pack_RTL_CRITICAL_SECTION();
     test_pack_RTL_CRITICAL_SECTION_DEBUG();
+    test_pack_RTL_OSVERSIONINFOEXW();
+    test_pack_RTL_OSVERSIONINFOW();
     test_pack_RTL_RESOURCE_DEBUG();
     test_pack_SECURITY_CONTEXT_TRACKING_MODE();
     test_pack_SECURITY_DESCRIPTOR();
@@ -2080,10 +2301,16 @@
     test_pack_UCHAR();
     test_pack_UHALF_PTR();
     test_pack_UINT();
+    test_pack_UINT16();
     test_pack_UINT32();
+    test_pack_UINT64();
+    test_pack_UINT8();
     test_pack_UINT_PTR();
+    test_pack_ULARGE_INTEGER();
     test_pack_ULONG();
     test_pack_ULONG32();
+    test_pack_ULONG64();
+    test_pack_ULONGLONG();
     test_pack_ULONG_PTR();
     test_pack_USHORT();
     test_pack_WAITORTIMERCALLBACKFUNC();
diff --git a/dlls/shell32/tests/generated.c b/dlls/shell32/tests/generated.c
index e54b2da..c2bc748 100644
--- a/dlls/shell32/tests/generated.c
+++ b/dlls/shell32/tests/generated.c
@@ -12,7 +12,6 @@
 #define WINE_NOWINSOCK
 
 #include <stdarg.h>
-
 #include "windef.h"
 #include "winbase.h"
 #include "wtypes.h"
@@ -117,6 +116,454 @@
 #define TEST_TYPE_UNSIGNED(type) \
      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
 
+static void test_pack_BLOB(void)
+{
+    /* BLOB (pack 4) */
+    TEST_TYPE(BLOB, 8, 4);
+    TEST_FIELD(BLOB, ULONG, cbSize, 0, 4, 4);
+    TEST_FIELD(BLOB, BYTE *, pBlobData, 4, 4, 4);
+}
+
+static void test_pack_BSTR(void)
+{
+    /* BSTR */
+    TEST_TYPE(BSTR, 4, 4);
+    TEST_TYPE_POINTER(BSTR, 2, 2);
+}
+
+static void test_pack_BSTRBLOB(void)
+{
+    /* BSTRBLOB (pack 4) */
+    TEST_TYPE(BSTRBLOB, 8, 4);
+    TEST_FIELD(BSTRBLOB, ULONG, cbSize, 0, 4, 4);
+    TEST_FIELD(BSTRBLOB, BYTE *, pData, 4, 4, 4);
+}
+
+static void test_pack_BYTE_BLOB(void)
+{
+    /* BYTE_BLOB (pack 4) */
+    TEST_TYPE(BYTE_BLOB, 8, 4);
+    TEST_FIELD(BYTE_BLOB, unsigned long, clSize, 0, 4, 4);
+    TEST_FIELD(BYTE_BLOB, byte[1], abData, 4, 1, 1);
+}
+
+static void test_pack_BYTE_SIZEDARR(void)
+{
+    /* BYTE_SIZEDARR (pack 4) */
+    TEST_TYPE(BYTE_SIZEDARR, 8, 4);
+    TEST_FIELD(BYTE_SIZEDARR, unsigned long, clSize, 0, 4, 4);
+    TEST_FIELD(BYTE_SIZEDARR, byte *, pData, 4, 4, 4);
+}
+
+static void test_pack_CLIPDATA(void)
+{
+    /* CLIPDATA (pack 4) */
+    TEST_TYPE(CLIPDATA, 12, 4);
+    TEST_FIELD(CLIPDATA, ULONG, cbSize, 0, 4, 4);
+    TEST_FIELD(CLIPDATA, long, ulClipFmt, 4, 4, 4);
+    TEST_FIELD(CLIPDATA, BYTE *, pClipData, 8, 4, 4);
+}
+
+static void test_pack_CLIPFORMAT(void)
+{
+    /* CLIPFORMAT */
+    TEST_TYPE(CLIPFORMAT, 2, 2);
+    TEST_TYPE_UNSIGNED(CLIPFORMAT);
+}
+
+static void test_pack_COAUTHIDENTITY(void)
+{
+    /* COAUTHIDENTITY (pack 4) */
+    TEST_TYPE(COAUTHIDENTITY, 28, 4);
+    TEST_FIELD(COAUTHIDENTITY, USHORT *, User, 0, 4, 4);
+    TEST_FIELD(COAUTHIDENTITY, ULONG, UserLength, 4, 4, 4);
+    TEST_FIELD(COAUTHIDENTITY, USHORT *, Domain, 8, 4, 4);
+    TEST_FIELD(COAUTHIDENTITY, ULONG, DomainLength, 12, 4, 4);
+    TEST_FIELD(COAUTHIDENTITY, USHORT *, Password, 16, 4, 4);
+    TEST_FIELD(COAUTHIDENTITY, ULONG, PasswordLength, 20, 4, 4);
+    TEST_FIELD(COAUTHIDENTITY, ULONG, Flags, 24, 4, 4);
+}
+
+static void test_pack_COAUTHINFO(void)
+{
+    /* COAUTHINFO (pack 4) */
+    TEST_TYPE(COAUTHINFO, 28, 4);
+    TEST_FIELD(COAUTHINFO, DWORD, dwAuthnSvc, 0, 4, 4);
+    TEST_FIELD(COAUTHINFO, DWORD, dwAuthzSvc, 4, 4, 4);
+    TEST_FIELD(COAUTHINFO, LPWSTR, pwszServerPrincName, 8, 4, 4);
+    TEST_FIELD(COAUTHINFO, DWORD, dwAuthnLevel, 12, 4, 4);
+    TEST_FIELD(COAUTHINFO, DWORD, dwImpersonationLevel, 16, 4, 4);
+    TEST_FIELD(COAUTHINFO, COAUTHIDENTITY *, pAuthIdentityData, 20, 4, 4);
+    TEST_FIELD(COAUTHINFO, DWORD, dwCapabilities, 24, 4, 4);
+}
+
+static void test_pack_COSERVERINFO(void)
+{
+    /* COSERVERINFO (pack 4) */
+    TEST_TYPE(COSERVERINFO, 16, 4);
+    TEST_FIELD(COSERVERINFO, DWORD, dwReserved1, 0, 4, 4);
+    TEST_FIELD(COSERVERINFO, LPWSTR, pwszName, 4, 4, 4);
+    TEST_FIELD(COSERVERINFO, COAUTHINFO *, pAuthInfo, 8, 4, 4);
+    TEST_FIELD(COSERVERINFO, DWORD, dwReserved2, 12, 4, 4);
+}
+
+static void test_pack_DWORD_SIZEDARR(void)
+{
+    /* DWORD_SIZEDARR (pack 4) */
+    TEST_TYPE(DWORD_SIZEDARR, 8, 4);
+    TEST_FIELD(DWORD_SIZEDARR, unsigned long, clSize, 0, 4, 4);
+    TEST_FIELD(DWORD_SIZEDARR, unsigned long *, pData, 4, 4, 4);
+}
+
+static void test_pack_FLAGGED_BYTE_BLOB(void)
+{
+    /* FLAGGED_BYTE_BLOB (pack 4) */
+    TEST_TYPE(FLAGGED_BYTE_BLOB, 12, 4);
+    TEST_FIELD(FLAGGED_BYTE_BLOB, unsigned long, fFlags, 0, 4, 4);
+    TEST_FIELD(FLAGGED_BYTE_BLOB, unsigned long, clSize, 4, 4, 4);
+    TEST_FIELD(FLAGGED_BYTE_BLOB, byte[1], abData, 8, 1, 1);
+}
+
+static void test_pack_FLAGGED_WORD_BLOB(void)
+{
+    /* FLAGGED_WORD_BLOB (pack 4) */
+    TEST_TYPE(FLAGGED_WORD_BLOB, 12, 4);
+    TEST_FIELD(FLAGGED_WORD_BLOB, unsigned long, fFlags, 0, 4, 4);
+    TEST_FIELD(FLAGGED_WORD_BLOB, unsigned long, clSize, 4, 4, 4);
+    TEST_FIELD(FLAGGED_WORD_BLOB, unsigned short[1], asData, 8, 2, 2);
+}
+
+static void test_pack_HMETAFILEPICT(void)
+{
+    /* HMETAFILEPICT */
+    TEST_TYPE(HMETAFILEPICT, 4, 4);
+}
+
+static void test_pack_HYPER_SIZEDARR(void)
+{
+    /* HYPER_SIZEDARR (pack 4) */
+    TEST_TYPE(HYPER_SIZEDARR, 8, 4);
+    TEST_FIELD(HYPER_SIZEDARR, unsigned long, clSize, 0, 4, 4);
+    TEST_FIELD(HYPER_SIZEDARR, hyper *, pData, 4, 4, 4);
+}
+
+static void test_pack_LPBLOB(void)
+{
+    /* LPBLOB */
+    TEST_TYPE(LPBLOB, 4, 4);
+    TEST_TYPE_POINTER(LPBLOB, 8, 4);
+}
+
+static void test_pack_LPBSTR(void)
+{
+    /* LPBSTR */
+    TEST_TYPE(LPBSTR, 4, 4);
+    TEST_TYPE_POINTER(LPBSTR, 4, 4);
+}
+
+static void test_pack_LPBSTRBLOB(void)
+{
+    /* LPBSTRBLOB */
+    TEST_TYPE(LPBSTRBLOB, 4, 4);
+    TEST_TYPE_POINTER(LPBSTRBLOB, 8, 4);
+}
+
+static void test_pack_LPCOLESTR(void)
+{
+    /* LPCOLESTR */
+    TEST_TYPE(LPCOLESTR, 4, 4);
+    TEST_TYPE_POINTER(LPCOLESTR, 2, 2);
+}
+
+static void test_pack_LPCY(void)
+{
+    /* LPCY */
+    TEST_TYPE(LPCY, 4, 4);
+}
+
+static void test_pack_LPDECIMAL(void)
+{
+    /* LPDECIMAL */
+    TEST_TYPE(LPDECIMAL, 4, 4);
+}
+
+static void test_pack_LPOLESTR(void)
+{
+    /* LPOLESTR */
+    TEST_TYPE(LPOLESTR, 4, 4);
+    TEST_TYPE_POINTER(LPOLESTR, 2, 2);
+}
+
+static void test_pack_OLECHAR(void)
+{
+    /* OLECHAR */
+    TEST_TYPE(OLECHAR, 2, 2);
+}
+
+static void test_pack_PROPID(void)
+{
+    /* PROPID */
+    TEST_TYPE(PROPID, 4, 4);
+}
+
+static void test_pack_RemHBITMAP(void)
+{
+    /* RemHBITMAP (pack 4) */
+    TEST_TYPE(RemHBITMAP, 8, 4);
+    TEST_FIELD(RemHBITMAP, unsigned long, cbData, 0, 4, 4);
+    TEST_FIELD(RemHBITMAP, byte[1], data, 4, 1, 1);
+}
+
+static void test_pack_RemHENHMETAFILE(void)
+{
+    /* RemHENHMETAFILE (pack 4) */
+    TEST_TYPE(RemHENHMETAFILE, 8, 4);
+    TEST_FIELD(RemHENHMETAFILE, unsigned long, cbData, 0, 4, 4);
+    TEST_FIELD(RemHENHMETAFILE, byte[1], data, 4, 1, 1);
+}
+
+static void test_pack_RemHGLOBAL(void)
+{
+    /* RemHGLOBAL (pack 4) */
+    TEST_TYPE(RemHGLOBAL, 12, 4);
+    TEST_FIELD(RemHGLOBAL, long, fNullHGlobal, 0, 4, 4);
+    TEST_FIELD(RemHGLOBAL, unsigned long, cbData, 4, 4, 4);
+    TEST_FIELD(RemHGLOBAL, byte[1], data, 8, 1, 1);
+}
+
+static void test_pack_RemHMETAFILEPICT(void)
+{
+    /* RemHMETAFILEPICT (pack 4) */
+    TEST_TYPE(RemHMETAFILEPICT, 20, 4);
+    TEST_FIELD(RemHMETAFILEPICT, long, mm, 0, 4, 4);
+    TEST_FIELD(RemHMETAFILEPICT, long, xExt, 4, 4, 4);
+    TEST_FIELD(RemHMETAFILEPICT, long, yExt, 8, 4, 4);
+    TEST_FIELD(RemHMETAFILEPICT, unsigned long, cbData, 12, 4, 4);
+    TEST_FIELD(RemHMETAFILEPICT, byte[1], data, 16, 1, 1);
+}
+
+static void test_pack_RemHPALETTE(void)
+{
+    /* RemHPALETTE (pack 4) */
+    TEST_TYPE(RemHPALETTE, 8, 4);
+    TEST_FIELD(RemHPALETTE, unsigned long, cbData, 0, 4, 4);
+    TEST_FIELD(RemHPALETTE, byte[1], data, 4, 1, 1);
+}
+
+static void test_pack_SCODE(void)
+{
+    /* SCODE */
+    TEST_TYPE(SCODE, 4, 4);
+}
+
+static void test_pack_UP_BYTE_BLOB(void)
+{
+    /* UP_BYTE_BLOB */
+    TEST_TYPE(UP_BYTE_BLOB, 4, 4);
+    TEST_TYPE_POINTER(UP_BYTE_BLOB, 8, 4);
+}
+
+static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
+{
+    /* UP_FLAGGED_BYTE_BLOB */
+    TEST_TYPE(UP_FLAGGED_BYTE_BLOB, 4, 4);
+    TEST_TYPE_POINTER(UP_FLAGGED_BYTE_BLOB, 12, 4);
+}
+
+static void test_pack_UP_FLAGGED_WORD_BLOB(void)
+{
+    /* UP_FLAGGED_WORD_BLOB */
+    TEST_TYPE(UP_FLAGGED_WORD_BLOB, 4, 4);
+    TEST_TYPE_POINTER(UP_FLAGGED_WORD_BLOB, 12, 4);
+}
+
+static void test_pack_VARIANT_BOOL(void)
+{
+    /* VARIANT_BOOL */
+    TEST_TYPE(VARIANT_BOOL, 2, 2);
+    TEST_TYPE_SIGNED(VARIANT_BOOL);
+}
+
+static void test_pack_VARTYPE(void)
+{
+    /* VARTYPE */
+    TEST_TYPE(VARTYPE, 2, 2);
+    TEST_TYPE_UNSIGNED(VARTYPE);
+}
+
+static void test_pack_WORD_SIZEDARR(void)
+{
+    /* WORD_SIZEDARR (pack 4) */
+    TEST_TYPE(WORD_SIZEDARR, 8, 4);
+    TEST_FIELD(WORD_SIZEDARR, unsigned long, clSize, 0, 4, 4);
+    TEST_FIELD(WORD_SIZEDARR, unsigned short *, pData, 4, 4, 4);
+}
+
+static void test_pack__VARIANT_BOOL(void)
+{
+    /* _VARIANT_BOOL */
+    TEST_TYPE(_VARIANT_BOOL, 2, 2);
+}
+
+static void test_pack_remoteMETAFILEPICT(void)
+{
+    /* remoteMETAFILEPICT (pack 4) */
+    TEST_TYPE(remoteMETAFILEPICT, 16, 4);
+    TEST_FIELD(remoteMETAFILEPICT, long, mm, 0, 4, 4);
+    TEST_FIELD(remoteMETAFILEPICT, long, xExt, 4, 4, 4);
+    TEST_FIELD(remoteMETAFILEPICT, long, yExt, 8, 4, 4);
+    TEST_FIELD(remoteMETAFILEPICT, userHMETAFILE *, hMF, 12, 4, 4);
+}
+
+static void test_pack_rpcLOGPALETTE(void)
+{
+    /* rpcLOGPALETTE (pack 4) */
+    TEST_TYPE(rpcLOGPALETTE, 8, 2);
+    TEST_FIELD(rpcLOGPALETTE, WORD, palVersion, 0, 2, 2);
+    TEST_FIELD(rpcLOGPALETTE, WORD, palNumEntries, 2, 2, 2);
+    TEST_FIELD(rpcLOGPALETTE, PALETTEENTRY[1], palPalEntry, 4, 4, 1);
+}
+
+static void test_pack_userBITMAP(void)
+{
+    /* userBITMAP (pack 4) */
+    TEST_TYPE(userBITMAP, 28, 4);
+    TEST_FIELD(userBITMAP, LONG, bmType, 0, 4, 4);
+    TEST_FIELD(userBITMAP, LONG, bmWidth, 4, 4, 4);
+    TEST_FIELD(userBITMAP, LONG, bmHeight, 8, 4, 4);
+    TEST_FIELD(userBITMAP, LONG, bmWidthBytes, 12, 4, 4);
+    TEST_FIELD(userBITMAP, WORD, bmPlanes, 16, 2, 2);
+    TEST_FIELD(userBITMAP, WORD, bmBitsPixel, 18, 2, 2);
+    TEST_FIELD(userBITMAP, ULONG, cbSize, 20, 4, 4);
+    TEST_FIELD(userBITMAP, byte[1], pBuffer, 24, 1, 1);
+}
+
+static void test_pack_userCLIPFORMAT(void)
+{
+    /* userCLIPFORMAT (pack 4) */
+    TEST_FIELD(userCLIPFORMAT, long, fContext, 0, 4, 4);
+}
+
+static void test_pack_userHBITMAP(void)
+{
+    /* userHBITMAP (pack 4) */
+    TEST_FIELD(userHBITMAP, long, fContext, 0, 4, 4);
+}
+
+static void test_pack_userHENHMETAFILE(void)
+{
+    /* userHENHMETAFILE (pack 4) */
+    TEST_FIELD(userHENHMETAFILE, long, fContext, 0, 4, 4);
+}
+
+static void test_pack_userHGLOBAL(void)
+{
+    /* userHGLOBAL (pack 4) */
+    TEST_FIELD(userHGLOBAL, long, fContext, 0, 4, 4);
+}
+
+static void test_pack_userHMETAFILE(void)
+{
+    /* userHMETAFILE (pack 4) */
+    TEST_FIELD(userHMETAFILE, long, fContext, 0, 4, 4);
+}
+
+static void test_pack_userHMETAFILEPICT(void)
+{
+    /* userHMETAFILEPICT (pack 4) */
+    TEST_FIELD(userHMETAFILEPICT, long, fContext, 0, 4, 4);
+}
+
+static void test_pack_userHPALETTE(void)
+{
+    /* userHPALETTE (pack 4) */
+    TEST_FIELD(userHPALETTE, long, fContext, 0, 4, 4);
+}
+
+static void test_pack_wireBSTR(void)
+{
+    /* wireBSTR */
+    TEST_TYPE(wireBSTR, 4, 4);
+    TEST_TYPE_POINTER(wireBSTR, 12, 4);
+}
+
+static void test_pack_wireCLIPFORMAT(void)
+{
+    /* wireCLIPFORMAT */
+    TEST_TYPE(wireCLIPFORMAT, 4, 4);
+}
+
+static void test_pack_wireHBITMAP(void)
+{
+    /* wireHBITMAP */
+    TEST_TYPE(wireHBITMAP, 4, 4);
+}
+
+static void test_pack_wireHENHMETAFILE(void)
+{
+    /* wireHENHMETAFILE */
+    TEST_TYPE(wireHENHMETAFILE, 4, 4);
+}
+
+static void test_pack_wireHGLOBAL(void)
+{
+    /* wireHGLOBAL */
+    TEST_TYPE(wireHGLOBAL, 4, 4);
+}
+
+static void test_pack_wireHMETAFILE(void)
+{
+    /* wireHMETAFILE */
+    TEST_TYPE(wireHMETAFILE, 4, 4);
+}
+
+static void test_pack_wireHMETAFILEPICT(void)
+{
+    /* wireHMETAFILEPICT */
+    TEST_TYPE(wireHMETAFILEPICT, 4, 4);
+}
+
+static void test_pack_wireHPALETTE(void)
+{
+    /* wireHPALETTE */
+    TEST_TYPE(wireHPALETTE, 4, 4);
+}
+
+static void test_pack_CLSID(void)
+{
+    /* CLSID */
+    TEST_TYPE(CLSID, 16, 4);
+}
+
+static void test_pack_FMTID(void)
+{
+    /* FMTID */
+    TEST_TYPE(FMTID, 16, 4);
+}
+
+static void test_pack_GUID(void)
+{
+    /* GUID (pack 4) */
+    TEST_TYPE(GUID, 16, 4);
+    TEST_FIELD(GUID, unsigned long, Data1, 0, 4, 4);
+    TEST_FIELD(GUID, unsigned short, Data2, 4, 2, 2);
+    TEST_FIELD(GUID, unsigned short, Data3, 6, 2, 2);
+    TEST_FIELD(GUID, unsigned char[ 8 ], Data4, 8, 8, 1);
+}
+
+static void test_pack_IID(void)
+{
+    /* IID */
+    TEST_TYPE(IID, 16, 4);
+}
+
+static void test_pack_LPGUID(void)
+{
+    /* LPGUID */
+    TEST_TYPE(LPGUID, 4, 4);
+    TEST_TYPE_POINTER(LPGUID, 16, 4);
+}
+
 static void test_pack_APPBARDATA(void)
 {
     /* APPBARDATA (pack 1) */
@@ -132,9 +579,12 @@
 static void test_pack_DRAGINFOA(void)
 {
     /* DRAGINFOA (pack 1) */
+    TEST_TYPE(DRAGINFOA, 24, 1);
     TEST_FIELD(DRAGINFOA, UINT, uSize, 0, 4, 1);
     TEST_FIELD(DRAGINFOA, POINT, pt, 4, 8, 1);
     TEST_FIELD(DRAGINFOA, BOOL, fNC, 12, 4, 1);
+    TEST_FIELD(DRAGINFOA, LPSTR, lpFileList, 16, 4, 1);
+    TEST_FIELD(DRAGINFOA, DWORD, grfKeyState, 20, 4, 1);
 }
 
 static void test_pack_DRAGINFOW(void)
@@ -152,12 +602,14 @@
 {
     /* FILEOP_FLAGS */
     TEST_TYPE(FILEOP_FLAGS, 2, 2);
+    TEST_TYPE_UNSIGNED(FILEOP_FLAGS);
 }
 
 static void test_pack_LPDRAGINFOA(void)
 {
     /* LPDRAGINFOA */
     TEST_TYPE(LPDRAGINFOA, 4, 4);
+    TEST_TYPE_POINTER(LPDRAGINFOA, 24, 1);
 }
 
 static void test_pack_LPDRAGINFOW(void)
@@ -181,6 +633,20 @@
     TEST_TYPE_POINTER(LPSHFILEOPSTRUCTW, 30, 1);
 }
 
+static void test_pack_LPSHNAMEMAPPINGA(void)
+{
+    /* LPSHNAMEMAPPINGA */
+    TEST_TYPE(LPSHNAMEMAPPINGA, 4, 4);
+    TEST_TYPE_POINTER(LPSHNAMEMAPPINGA, 16, 1);
+}
+
+static void test_pack_LPSHNAMEMAPPINGW(void)
+{
+    /* LPSHNAMEMAPPINGW */
+    TEST_TYPE(LPSHNAMEMAPPINGW, 4, 4);
+    TEST_TYPE_POINTER(LPSHNAMEMAPPINGW, 16, 1);
+}
+
 static void test_pack_NOTIFYICONDATAA(void)
 {
     /* NOTIFYICONDATAA (pack 1) */
@@ -232,6 +698,7 @@
 {
     /* PRINTEROP_FLAGS */
     TEST_TYPE(PRINTEROP_FLAGS, 2, 2);
+    TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS);
 }
 
 static void test_pack_SHFILEINFOA(void)
@@ -284,31 +751,47 @@
     TEST_FIELD(SHFILEOPSTRUCTW, LPCWSTR, lpszProgressTitle, 26, 4, 1);
 }
 
+static void test_pack_SHNAMEMAPPINGA(void)
+{
+    /* SHNAMEMAPPINGA (pack 1) */
+    TEST_TYPE(SHNAMEMAPPINGA, 16, 1);
+    TEST_FIELD(SHNAMEMAPPINGA, LPSTR, pszOldPath, 0, 4, 1);
+    TEST_FIELD(SHNAMEMAPPINGA, LPSTR, pszNewPath, 4, 4, 1);
+    TEST_FIELD(SHNAMEMAPPINGA, int, cchOldPath, 8, 4, 1);
+    TEST_FIELD(SHNAMEMAPPINGA, int, cchNewPath, 12, 4, 1);
+}
+
+static void test_pack_SHNAMEMAPPINGW(void)
+{
+    /* SHNAMEMAPPINGW (pack 1) */
+    TEST_TYPE(SHNAMEMAPPINGW, 16, 1);
+    TEST_FIELD(SHNAMEMAPPINGW, LPWSTR, pszOldPath, 0, 4, 1);
+    TEST_FIELD(SHNAMEMAPPINGW, LPWSTR, pszNewPath, 4, 4, 1);
+    TEST_FIELD(SHNAMEMAPPINGW, int, cchOldPath, 8, 4, 1);
+    TEST_FIELD(SHNAMEMAPPINGW, int, cchNewPath, 12, 4, 1);
+}
+
+static void test_pack_AUTO_SCROLL_DATA(void)
+{
+    /* AUTO_SCROLL_DATA (pack 4) */
+    TEST_FIELD(AUTO_SCROLL_DATA, int, iNextSample, 0, 4, 4);
+    TEST_FIELD(AUTO_SCROLL_DATA, DWORD, dwLastScroll, 4, 4, 4);
+    TEST_FIELD(AUTO_SCROLL_DATA, BOOL, bFull, 8, 4, 4);
+}
+
 static void test_pack_BFFCALLBACK(void)
 {
     /* BFFCALLBACK */
     TEST_TYPE(BFFCALLBACK, 4, 4);
 }
 
-static void test_pack_BROWSEINFOA(void)
+static void test_pack_CABINETSTATE(void)
 {
-    /* BROWSEINFOA (pack 1) */
-    TEST_FIELD(BROWSEINFOA, HWND, hwndOwner, 0, 4, 1);
-    TEST_FIELD(BROWSEINFOA, LPCITEMIDLIST, pidlRoot, 4, 4, 1);
-}
-
-static void test_pack_BROWSEINFOW(void)
-{
-    /* BROWSEINFOW (pack 1) */
-    TEST_TYPE(BROWSEINFOW, 32, 1);
-    TEST_FIELD(BROWSEINFOW, HWND, hwndOwner, 0, 4, 1);
-    TEST_FIELD(BROWSEINFOW, LPCITEMIDLIST, pidlRoot, 4, 4, 1);
-    TEST_FIELD(BROWSEINFOW, LPWSTR, pszDisplayName, 8, 4, 1);
-    TEST_FIELD(BROWSEINFOW, LPCWSTR, lpszTitle, 12, 4, 1);
-    TEST_FIELD(BROWSEINFOW, UINT, ulFlags, 16, 4, 1);
-    TEST_FIELD(BROWSEINFOW, BFFCALLBACK, lpfn, 20, 4, 1);
-    TEST_FIELD(BROWSEINFOW, LPARAM, lParam, 24, 4, 1);
-    TEST_FIELD(BROWSEINFOW, INT, iImage, 28, 4, 1);
+    /* CABINETSTATE (pack 1) */
+    TEST_TYPE(CABINETSTATE, 10, 1);
+    TEST_FIELD(CABINETSTATE, WORD, cLength, 0, 2, 1);
+    TEST_FIELD(CABINETSTATE, WORD, nVersion, 2, 2, 1);
+    TEST_FIELD(CABINETSTATE, UINT, fMenuEnumFilter, 6, 4, 1);
 }
 
 static void test_pack_CIDA(void)
@@ -329,36 +812,122 @@
     TEST_FIELD(DROPFILES, BOOL, fWide, 16, 4, 1);
 }
 
+static void test_pack_FILEDESCRIPTORA(void)
+{
+    /* FILEDESCRIPTORA (pack 1) */
+    TEST_TYPE(FILEDESCRIPTORA, 332, 1);
+    TEST_FIELD(FILEDESCRIPTORA, DWORD, dwFlags, 0, 4, 1);
+    TEST_FIELD(FILEDESCRIPTORA, CLSID, clsid, 4, 16, 1);
+    TEST_FIELD(FILEDESCRIPTORA, SIZEL, sizel, 20, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORA, POINTL, pointl, 28, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORA, DWORD, dwFileAttributes, 36, 4, 1);
+    TEST_FIELD(FILEDESCRIPTORA, FILETIME, ftCreationTime, 40, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORA, FILETIME, ftLastAccessTime, 48, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORA, FILETIME, ftLastWriteTime, 56, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORA, DWORD, nFileSizeHigh, 64, 4, 1);
+    TEST_FIELD(FILEDESCRIPTORA, DWORD, nFileSizeLow, 68, 4, 1);
+    TEST_FIELD(FILEDESCRIPTORA, CHAR[MAX_PATH], cFileName, 72, 260, 1);
+}
+
+static void test_pack_FILEDESCRIPTORW(void)
+{
+    /* FILEDESCRIPTORW (pack 1) */
+    TEST_TYPE(FILEDESCRIPTORW, 592, 1);
+    TEST_FIELD(FILEDESCRIPTORW, DWORD, dwFlags, 0, 4, 1);
+    TEST_FIELD(FILEDESCRIPTORW, CLSID, clsid, 4, 16, 1);
+    TEST_FIELD(FILEDESCRIPTORW, SIZEL, sizel, 20, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORW, POINTL, pointl, 28, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORW, DWORD, dwFileAttributes, 36, 4, 1);
+    TEST_FIELD(FILEDESCRIPTORW, FILETIME, ftCreationTime, 40, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORW, FILETIME, ftLastAccessTime, 48, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORW, FILETIME, ftLastWriteTime, 56, 8, 1);
+    TEST_FIELD(FILEDESCRIPTORW, DWORD, nFileSizeHigh, 64, 4, 1);
+    TEST_FIELD(FILEDESCRIPTORW, DWORD, nFileSizeLow, 68, 4, 1);
+    TEST_FIELD(FILEDESCRIPTORW, WCHAR[MAX_PATH], cFileName, 72, 520, 1);
+}
+
+static void test_pack_FILEGROUPDESCRIPTORA(void)
+{
+    /* FILEGROUPDESCRIPTORA (pack 1) */
+    TEST_TYPE(FILEGROUPDESCRIPTORA, 336, 1);
+    TEST_FIELD(FILEGROUPDESCRIPTORA, UINT, cItems, 0, 4, 1);
+    TEST_FIELD(FILEGROUPDESCRIPTORA, FILEDESCRIPTORA[1], fgd, 4, 332, 1);
+}
+
+static void test_pack_FILEGROUPDESCRIPTORW(void)
+{
+    /* FILEGROUPDESCRIPTORW (pack 1) */
+    TEST_TYPE(FILEGROUPDESCRIPTORW, 596, 1);
+    TEST_FIELD(FILEGROUPDESCRIPTORW, UINT, cItems, 0, 4, 1);
+    TEST_FIELD(FILEGROUPDESCRIPTORW, FILEDESCRIPTORW[1], fgd, 4, 592, 1);
+}
+
+static void test_pack_IFileSystemBindData(void)
+{
+    /* IFileSystemBindData */
+}
+
+static void test_pack_IFileSystemBindDataVtbl(void)
+{
+    /* IFileSystemBindDataVtbl */
+}
+
+static void test_pack_IShellChangeNotify(void)
+{
+    /* IShellChangeNotify */
+}
+
 static void test_pack_IShellIcon(void)
 {
     /* IShellIcon */
 }
 
-static void test_pack_ITEMIDLIST(void)
+static void test_pack_LPCABINETSTATE(void)
 {
-    /* ITEMIDLIST (pack 1) */
-    TEST_TYPE(ITEMIDLIST, 3, 1);
-    TEST_FIELD(ITEMIDLIST, SHITEMID, mkid, 0, 3, 1);
+    /* LPCABINETSTATE */
+    TEST_TYPE(LPCABINETSTATE, 4, 4);
+    TEST_TYPE_POINTER(LPCABINETSTATE, 10, 1);
 }
 
-static void test_pack_LPBROWSEINFOA(void)
+static void test_pack_LPDROPFILES(void)
 {
-    /* LPBROWSEINFOA */
-    TEST_TYPE(LPBROWSEINFOA, 4, 4);
+    /* LPDROPFILES */
+    TEST_TYPE(LPDROPFILES, 4, 4);
+    TEST_TYPE_POINTER(LPDROPFILES, 20, 1);
 }
 
-static void test_pack_LPBROWSEINFOW(void)
+static void test_pack_LPFILEDESCRIPTORA(void)
 {
-    /* LPBROWSEINFOW */
-    TEST_TYPE(LPBROWSEINFOW, 4, 4);
-    TEST_TYPE_POINTER(LPBROWSEINFOW, 32, 1);
+    /* LPFILEDESCRIPTORA */
+    TEST_TYPE(LPFILEDESCRIPTORA, 4, 4);
+    TEST_TYPE_POINTER(LPFILEDESCRIPTORA, 332, 1);
 }
 
-static void test_pack_LPCITEMIDLIST(void)
+static void test_pack_LPFILEDESCRIPTORW(void)
 {
-    /* LPCITEMIDLIST */
-    TEST_TYPE(LPCITEMIDLIST, 4, 4);
-    TEST_TYPE_POINTER(LPCITEMIDLIST, 3, 1);
+    /* LPFILEDESCRIPTORW */
+    TEST_TYPE(LPFILEDESCRIPTORW, 4, 4);
+    TEST_TYPE_POINTER(LPFILEDESCRIPTORW, 592, 1);
+}
+
+static void test_pack_LPFILEGROUPDESCRIPTORA(void)
+{
+    /* LPFILEGROUPDESCRIPTORA */
+    TEST_TYPE(LPFILEGROUPDESCRIPTORA, 4, 4);
+    TEST_TYPE_POINTER(LPFILEGROUPDESCRIPTORA, 336, 1);
+}
+
+static void test_pack_LPFILEGROUPDESCRIPTORW(void)
+{
+    /* LPFILEGROUPDESCRIPTORW */
+    TEST_TYPE(LPFILEGROUPDESCRIPTORW, 4, 4);
+    TEST_TYPE_POINTER(LPFILEGROUPDESCRIPTORW, 596, 1);
+}
+
+static void test_pack_LPFILESYSTEMBINDDATA(void)
+{
+    /* LPFILESYSTEMBINDDATA */
+    TEST_TYPE(LPFILESYSTEMBINDDATA, 4, 4);
 }
 
 static void test_pack_LPIDA(void)
@@ -368,145 +937,221 @@
     TEST_TYPE_POINTER(LPIDA, 8, 1);
 }
 
-static void test_pack_LPITEMIDLIST(void)
+static void test_pack_LPSHChangeDWORDAsIDList(void)
 {
-    /* LPITEMIDLIST */
-    TEST_TYPE(LPITEMIDLIST, 4, 4);
-    TEST_TYPE_POINTER(LPITEMIDLIST, 3, 1);
+    /* LPSHChangeDWORDAsIDList */
+    TEST_TYPE(LPSHChangeDWORDAsIDList, 4, 4);
+    TEST_TYPE_POINTER(LPSHChangeDWORDAsIDList, 12, 1);
+}
+
+static void test_pack_LPSHChangeProductKeyAsIDList(void)
+{
+    /* LPSHChangeProductKeyAsIDList */
+    TEST_TYPE(LPSHChangeProductKeyAsIDList, 4, 4);
+    TEST_TYPE_POINTER(LPSHChangeProductKeyAsIDList, 82, 1);
 }
 
 static void test_pack_LPSHDESCRIPTIONID(void)
 {
     /* LPSHDESCRIPTIONID */
     TEST_TYPE(LPSHDESCRIPTIONID, 4, 4);
+    TEST_TYPE_POINTER(LPSHDESCRIPTIONID, 20, 1);
 }
 
-static void test_pack_LPSHELLEXECUTEINFOA(void)
+static void test_pack_LPSHELLFLAGSTATE(void)
 {
-    /* LPSHELLEXECUTEINFOA */
-    TEST_TYPE(LPSHELLEXECUTEINFOA, 4, 4);
+    /* LPSHELLFLAGSTATE */
+    TEST_TYPE(LPSHELLFLAGSTATE, 4, 4);
+    TEST_TYPE_POINTER(LPSHELLFLAGSTATE, 2, 1);
 }
 
-static void test_pack_LPSHELLEXECUTEINFOW(void)
+static void test_pack_LPSHELLSTATE(void)
 {
-    /* LPSHELLEXECUTEINFOW */
-    TEST_TYPE(LPSHELLEXECUTEINFOW, 4, 4);
+    /* LPSHELLSTATE */
+    TEST_TYPE(LPSHELLSTATE, 4, 4);
+    TEST_TYPE_POINTER(LPSHELLSTATE, 29, 1);
 }
 
-static void test_pack_LPSHITEMID(void)
+static void test_pack_SHChangeDWORDAsIDList(void)
 {
-    /* LPSHITEMID */
-    TEST_TYPE(LPSHITEMID, 4, 4);
-    TEST_TYPE_POINTER(LPSHITEMID, 3, 1);
+    /* SHChangeDWORDAsIDList (pack 1) */
+    TEST_TYPE(SHChangeDWORDAsIDList, 12, 1);
+    TEST_FIELD(SHChangeDWORDAsIDList, USHORT, cb, 0, 2, 1);
+    TEST_FIELD(SHChangeDWORDAsIDList, DWORD, dwItem1, 2, 4, 1);
+    TEST_FIELD(SHChangeDWORDAsIDList, DWORD, dwItem2, 6, 4, 1);
+    TEST_FIELD(SHChangeDWORDAsIDList, USHORT, cbZero, 10, 2, 1);
 }
 
-static void test_pack_PBROWSEINFOA(void)
+static void test_pack_SHChangeNotifyEntry(void)
 {
-    /* PBROWSEINFOA */
-    TEST_TYPE(PBROWSEINFOA, 4, 4);
+    /* SHChangeNotifyEntry (pack 1) */
 }
 
-static void test_pack_PBROWSEINFOW(void)
+static void test_pack_SHChangeProductKeyAsIDList(void)
 {
-    /* PBROWSEINFOW */
-    TEST_TYPE(PBROWSEINFOW, 4, 4);
-    TEST_TYPE_POINTER(PBROWSEINFOW, 32, 1);
+    /* SHChangeProductKeyAsIDList (pack 1) */
+    TEST_TYPE(SHChangeProductKeyAsIDList, 82, 1);
+    TEST_FIELD(SHChangeProductKeyAsIDList, USHORT, cb, 0, 2, 1);
+    TEST_FIELD(SHChangeProductKeyAsIDList, WCHAR[39], wszProductKey, 2, 78, 1);
+    TEST_FIELD(SHChangeProductKeyAsIDList, USHORT, cbZero, 80, 2, 1);
 }
 
 static void test_pack_SHDESCRIPTIONID(void)
 {
     /* SHDESCRIPTIONID (pack 1) */
+    TEST_TYPE(SHDESCRIPTIONID, 20, 1);
     TEST_FIELD(SHDESCRIPTIONID, DWORD, dwDescriptionId, 0, 4, 1);
+    TEST_FIELD(SHDESCRIPTIONID, CLSID, clsid, 4, 16, 1);
 }
 
-static void test_pack_SHELLEXECUTEINFOA(void)
+static void test_pack_SHELLFLAGSTATE(void)
 {
-    /* SHELLEXECUTEINFOA (pack 1) */
-    TEST_FIELD(SHELLEXECUTEINFOA, DWORD, cbSize, 0, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, ULONG, fMask, 4, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, HWND, hwnd, 8, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, LPCSTR, lpVerb, 12, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, LPCSTR, lpFile, 16, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, LPCSTR, lpParameters, 20, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, LPCSTR, lpDirectory, 24, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, INT, nShow, 28, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, HINSTANCE, hInstApp, 32, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, LPVOID, lpIDList, 36, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOA, LPCSTR, lpClass, 40, 4, 1);
+    /* SHELLFLAGSTATE (pack 1) */
+    TEST_TYPE(SHELLFLAGSTATE, 2, 1);
 }
 
-static void test_pack_SHELLEXECUTEINFOW(void)
+static void test_pack_SHELLSTATE(void)
 {
-    /* SHELLEXECUTEINFOW (pack 1) */
-    TEST_FIELD(SHELLEXECUTEINFOW, DWORD, cbSize, 0, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, ULONG, fMask, 4, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, HWND, hwnd, 8, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, LPCWSTR, lpVerb, 12, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, LPCWSTR, lpFile, 16, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, LPCWSTR, lpParameters, 20, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, LPCWSTR, lpDirectory, 24, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, INT, nShow, 28, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, HINSTANCE, hInstApp, 32, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, LPVOID, lpIDList, 36, 4, 1);
-    TEST_FIELD(SHELLEXECUTEINFOW, LPCWSTR, lpClass, 40, 4, 1);
+    /* SHELLSTATE (pack 1) */
+    TEST_TYPE(SHELLSTATE, 29, 1);
+    TEST_FIELD(SHELLSTATE, DWORD, dwWin95Unused, 3, 4, 1);
+    TEST_FIELD(SHELLSTATE, UINT, uWin95Unused, 7, 4, 1);
+    TEST_FIELD(SHELLSTATE, LONG, lParamSort, 11, 4, 1);
+    TEST_FIELD(SHELLSTATE, int, iSortDirection, 15, 4, 1);
+    TEST_FIELD(SHELLSTATE, UINT, version, 19, 4, 1);
+    TEST_FIELD(SHELLSTATE, UINT, uNotUsed, 23, 4, 1);
 }
 
 static void test_pack_SHELLVIEWID(void)
 {
     /* SHELLVIEWID */
+    TEST_TYPE(SHELLVIEWID, 16, 4);
 }
 
-static void test_pack_SHITEMID(void)
+static void test_pack_SHELLVIEWPROC(void)
 {
-    /* SHITEMID (pack 1) */
-    TEST_TYPE(SHITEMID, 3, 1);
-    TEST_FIELD(SHITEMID, WORD, cb, 0, 2, 1);
-    TEST_FIELD(SHITEMID, BYTE[1], abID, 2, 1, 1);
+    /* SHELLVIEWPROC */
+    TEST_TYPE(SHELLVIEWPROC, 4, 4);
 }
 
 static void test_pack(void)
 {
     test_pack_APPBARDATA();
+    test_pack_AUTO_SCROLL_DATA();
     test_pack_BFFCALLBACK();
-    test_pack_BROWSEINFOA();
-    test_pack_BROWSEINFOW();
+    test_pack_BLOB();
+    test_pack_BSTR();
+    test_pack_BSTRBLOB();
+    test_pack_BYTE_BLOB();
+    test_pack_BYTE_SIZEDARR();
+    test_pack_CABINETSTATE();
     test_pack_CIDA();
+    test_pack_CLIPDATA();
+    test_pack_CLIPFORMAT();
+    test_pack_CLSID();
+    test_pack_COAUTHIDENTITY();
+    test_pack_COAUTHINFO();
+    test_pack_COSERVERINFO();
     test_pack_DRAGINFOA();
     test_pack_DRAGINFOW();
     test_pack_DROPFILES();
+    test_pack_DWORD_SIZEDARR();
+    test_pack_FILEDESCRIPTORA();
+    test_pack_FILEDESCRIPTORW();
+    test_pack_FILEGROUPDESCRIPTORA();
+    test_pack_FILEGROUPDESCRIPTORW();
     test_pack_FILEOP_FLAGS();
+    test_pack_FLAGGED_BYTE_BLOB();
+    test_pack_FLAGGED_WORD_BLOB();
+    test_pack_FMTID();
+    test_pack_GUID();
+    test_pack_HMETAFILEPICT();
+    test_pack_HYPER_SIZEDARR();
+    test_pack_IFileSystemBindData();
+    test_pack_IFileSystemBindDataVtbl();
+    test_pack_IID();
+    test_pack_IShellChangeNotify();
     test_pack_IShellIcon();
-    test_pack_ITEMIDLIST();
-    test_pack_LPBROWSEINFOA();
-    test_pack_LPBROWSEINFOW();
-    test_pack_LPCITEMIDLIST();
+    test_pack_LPBLOB();
+    test_pack_LPBSTR();
+    test_pack_LPBSTRBLOB();
+    test_pack_LPCABINETSTATE();
+    test_pack_LPCOLESTR();
+    test_pack_LPCY();
+    test_pack_LPDECIMAL();
     test_pack_LPDRAGINFOA();
     test_pack_LPDRAGINFOW();
+    test_pack_LPDROPFILES();
+    test_pack_LPFILEDESCRIPTORA();
+    test_pack_LPFILEDESCRIPTORW();
+    test_pack_LPFILEGROUPDESCRIPTORA();
+    test_pack_LPFILEGROUPDESCRIPTORW();
+    test_pack_LPFILESYSTEMBINDDATA();
+    test_pack_LPGUID();
     test_pack_LPIDA();
-    test_pack_LPITEMIDLIST();
+    test_pack_LPOLESTR();
+    test_pack_LPSHChangeDWORDAsIDList();
+    test_pack_LPSHChangeProductKeyAsIDList();
     test_pack_LPSHDESCRIPTIONID();
-    test_pack_LPSHELLEXECUTEINFOA();
-    test_pack_LPSHELLEXECUTEINFOW();
+    test_pack_LPSHELLFLAGSTATE();
+    test_pack_LPSHELLSTATE();
     test_pack_LPSHFILEOPSTRUCTA();
     test_pack_LPSHFILEOPSTRUCTW();
-    test_pack_LPSHITEMID();
+    test_pack_LPSHNAMEMAPPINGA();
+    test_pack_LPSHNAMEMAPPINGW();
     test_pack_NOTIFYICONDATAA();
     test_pack_NOTIFYICONDATAW();
+    test_pack_OLECHAR();
     test_pack_PAPPBARDATA();
-    test_pack_PBROWSEINFOA();
-    test_pack_PBROWSEINFOW();
     test_pack_PNOTIFYICONDATAA();
     test_pack_PNOTIFYICONDATAW();
     test_pack_PRINTEROP_FLAGS();
+    test_pack_PROPID();
+    test_pack_RemHBITMAP();
+    test_pack_RemHENHMETAFILE();
+    test_pack_RemHGLOBAL();
+    test_pack_RemHMETAFILEPICT();
+    test_pack_RemHPALETTE();
+    test_pack_SCODE();
+    test_pack_SHChangeDWORDAsIDList();
+    test_pack_SHChangeNotifyEntry();
+    test_pack_SHChangeProductKeyAsIDList();
     test_pack_SHDESCRIPTIONID();
-    test_pack_SHELLEXECUTEINFOA();
-    test_pack_SHELLEXECUTEINFOW();
+    test_pack_SHELLFLAGSTATE();
+    test_pack_SHELLSTATE();
     test_pack_SHELLVIEWID();
+    test_pack_SHELLVIEWPROC();
     test_pack_SHFILEINFOA();
     test_pack_SHFILEINFOW();
     test_pack_SHFILEOPSTRUCTA();
     test_pack_SHFILEOPSTRUCTW();
-    test_pack_SHITEMID();
+    test_pack_SHNAMEMAPPINGA();
+    test_pack_SHNAMEMAPPINGW();
+    test_pack_UP_BYTE_BLOB();
+    test_pack_UP_FLAGGED_BYTE_BLOB();
+    test_pack_UP_FLAGGED_WORD_BLOB();
+    test_pack_VARIANT_BOOL();
+    test_pack_VARTYPE();
+    test_pack_WORD_SIZEDARR();
+    test_pack__VARIANT_BOOL();
+    test_pack_remoteMETAFILEPICT();
+    test_pack_rpcLOGPALETTE();
+    test_pack_userBITMAP();
+    test_pack_userCLIPFORMAT();
+    test_pack_userHBITMAP();
+    test_pack_userHENHMETAFILE();
+    test_pack_userHGLOBAL();
+    test_pack_userHMETAFILE();
+    test_pack_userHMETAFILEPICT();
+    test_pack_userHPALETTE();
+    test_pack_wireBSTR();
+    test_pack_wireCLIPFORMAT();
+    test_pack_wireHBITMAP();
+    test_pack_wireHENHMETAFILE();
+    test_pack_wireHGLOBAL();
+    test_pack_wireHMETAFILE();
+    test_pack_wireHMETAFILEPICT();
+    test_pack_wireHPALETTE();
 }
 
 START_TEST(generated)
diff --git a/dlls/shlwapi/tests/generated.c b/dlls/shlwapi/tests/generated.c
index 1e25d9b..21c7e37 100644
--- a/dlls/shlwapi/tests/generated.c
+++ b/dlls/shlwapi/tests/generated.c
@@ -114,6 +114,13 @@
 #define TEST_TYPE_UNSIGNED(type) \
      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
 
+static void test_pack_ASSOCF(void)
+{
+    /* ASSOCF */
+    TEST_TYPE(ASSOCF, 4, 4);
+    TEST_TYPE_UNSIGNED(ASSOCF);
+}
+
 static void test_pack_DLLGETVERSIONPROC(void)
 {
     /* DLLGETVERSIONPROC */
@@ -131,6 +138,15 @@
     TEST_FIELD(DLLVERSIONINFO, DWORD, dwPlatformID, 16, 4, 1);
 }
 
+static void test_pack_DLLVERSIONINFO2(void)
+{
+    /* DLLVERSIONINFO2 (pack 1) */
+    TEST_TYPE(DLLVERSIONINFO2, 32, 1);
+    TEST_FIELD(DLLVERSIONINFO2, DLLVERSIONINFO, info1, 0, 20, 1);
+    TEST_FIELD(DLLVERSIONINFO2, DWORD, dwFlags, 20, 4, 1);
+    TEST_FIELD(DLLVERSIONINFO2, ULONGLONG, ullVersion, 24, 8, 1);
+}
+
 static void test_pack_HUSKEY(void)
 {
     /* HUSKEY */
@@ -151,8 +167,10 @@
 
 static void test_pack(void)
 {
+    test_pack_ASSOCF();
     test_pack_DLLGETVERSIONPROC();
     test_pack_DLLVERSIONINFO();
+    test_pack_DLLVERSIONINFO2();
     test_pack_HUSKEY();
     test_pack_IQueryAssociations();
     test_pack_PHUSKEY();
diff --git a/dlls/urlmon/tests/generated.c b/dlls/urlmon/tests/generated.c
index a7b199f..808ce54 100644
--- a/dlls/urlmon/tests/generated.c
+++ b/dlls/urlmon/tests/generated.c
@@ -124,34 +124,203 @@
     /* IBindHost */
 }
 
+static void test_pack_IBindHostVtbl(void)
+{
+    /* IBindHostVtbl */
+}
+
 static void test_pack_IBindStatusCallback(void)
 {
     /* IBindStatusCallback */
 }
 
+static void test_pack_IBindStatusCallbackVtbl(void)
+{
+    /* IBindStatusCallbackVtbl */
+}
+
 static void test_pack_IBinding(void)
 {
     /* IBinding */
 }
 
+static void test_pack_IBindingVtbl(void)
+{
+    /* IBindingVtbl */
+}
+
+static void test_pack_IInternetProtocolInfo(void)
+{
+    /* IInternetProtocolInfo */
+}
+
+static void test_pack_IInternetProtocolInfoVtbl(void)
+{
+    /* IInternetProtocolInfoVtbl */
+}
+
+static void test_pack_IPersistMoniker(void)
+{
+    /* IPersistMoniker */
+}
+
+static void test_pack_IPersistMonikerVtbl(void)
+{
+    /* IPersistMonikerVtbl */
+}
+
 static void test_pack_IWinInetHttpInfo(void)
 {
     /* IWinInetHttpInfo */
 }
 
+static void test_pack_IWinInetHttpInfoVtbl(void)
+{
+    /* IWinInetHttpInfoVtbl */
+}
+
 static void test_pack_IWinInetInfo(void)
 {
     /* IWinInetInfo */
 }
 
+static void test_pack_IWinInetInfoVtbl(void)
+{
+    /* IWinInetInfoVtbl */
+}
+
+static void test_pack_LPBINDHOST(void)
+{
+    /* LPBINDHOST */
+    TEST_TYPE(LPBINDHOST, 4, 4);
+}
+
+static void test_pack_LPBINDING(void)
+{
+    /* LPBINDING */
+    TEST_TYPE(LPBINDING, 4, 4);
+}
+
+static void test_pack_LPBINDSTATUSCALLBACK(void)
+{
+    /* LPBINDSTATUSCALLBACK */
+    TEST_TYPE(LPBINDSTATUSCALLBACK, 4, 4);
+}
+
+static void test_pack_LPIINTERNETPROTOCOLINFO(void)
+{
+    /* LPIINTERNETPROTOCOLINFO */
+    TEST_TYPE(LPIINTERNETPROTOCOLINFO, 4, 4);
+}
+
+static void test_pack_LPPERSISTMONIKER(void)
+{
+    /* LPPERSISTMONIKER */
+    TEST_TYPE(LPPERSISTMONIKER, 4, 4);
+}
+
+static void test_pack_LPREMFORMATETC(void)
+{
+    /* LPREMFORMATETC */
+    TEST_TYPE(LPREMFORMATETC, 4, 4);
+    TEST_TYPE_POINTER(LPREMFORMATETC, 20, 4);
+}
+
+static void test_pack_LPREMSECURITY_ATTRIBUTES(void)
+{
+    /* LPREMSECURITY_ATTRIBUTES */
+    TEST_TYPE(LPREMSECURITY_ATTRIBUTES, 4, 4);
+    TEST_TYPE_POINTER(LPREMSECURITY_ATTRIBUTES, 12, 4);
+}
+
+static void test_pack_LPWININETHTTPINFO(void)
+{
+    /* LPWININETHTTPINFO */
+    TEST_TYPE(LPWININETHTTPINFO, 4, 4);
+}
+
+static void test_pack_LPWININETINFO(void)
+{
+    /* LPWININETINFO */
+    TEST_TYPE(LPWININETINFO, 4, 4);
+}
+
+static void test_pack_PREMSECURITY_ATTRIBUTES(void)
+{
+    /* PREMSECURITY_ATTRIBUTES */
+    TEST_TYPE(PREMSECURITY_ATTRIBUTES, 4, 4);
+    TEST_TYPE_POINTER(PREMSECURITY_ATTRIBUTES, 12, 4);
+}
+
+static void test_pack_REMSECURITY_ATTRIBUTES(void)
+{
+    /* REMSECURITY_ATTRIBUTES (pack 4) */
+    TEST_TYPE(REMSECURITY_ATTRIBUTES, 12, 4);
+    TEST_FIELD(REMSECURITY_ATTRIBUTES, DWORD, nLength, 0, 4, 4);
+    TEST_FIELD(REMSECURITY_ATTRIBUTES, DWORD, lpSecurityDescriptor, 4, 4, 4);
+    TEST_FIELD(REMSECURITY_ATTRIBUTES, BOOL, bInheritHandle, 8, 4, 4);
+}
+
+static void test_pack_RemBINDINFO(void)
+{
+    /* RemBINDINFO (pack 4) */
+    TEST_TYPE(RemBINDINFO, 72, 4);
+    TEST_FIELD(RemBINDINFO, ULONG, cbSize, 0, 4, 4);
+    TEST_FIELD(RemBINDINFO, LPWSTR, szExtraInfo, 4, 4, 4);
+    TEST_FIELD(RemBINDINFO, DWORD, grfBindInfoF, 8, 4, 4);
+    TEST_FIELD(RemBINDINFO, DWORD, dwBindVerb, 12, 4, 4);
+    TEST_FIELD(RemBINDINFO, LPWSTR, szCustomVerb, 16, 4, 4);
+    TEST_FIELD(RemBINDINFO, DWORD, cbstgmedData, 20, 4, 4);
+    TEST_FIELD(RemBINDINFO, DWORD, dwOptions, 24, 4, 4);
+    TEST_FIELD(RemBINDINFO, DWORD, dwOptionsFlags, 28, 4, 4);
+    TEST_FIELD(RemBINDINFO, DWORD, dwCodePage, 32, 4, 4);
+    TEST_FIELD(RemBINDINFO, REMSECURITY_ATTRIBUTES, securityAttributes, 36, 12, 4);
+    TEST_FIELD(RemBINDINFO, IID, iid, 48, 16, 4);
+    TEST_FIELD(RemBINDINFO, IUnknown *, pUnk, 64, 4, 4);
+    TEST_FIELD(RemBINDINFO, DWORD, dwReserved, 68, 4, 4);
+}
+
+static void test_pack_RemFORMATETC(void)
+{
+    /* RemFORMATETC (pack 4) */
+    TEST_TYPE(RemFORMATETC, 20, 4);
+    TEST_FIELD(RemFORMATETC, DWORD, cfFormat, 0, 4, 4);
+    TEST_FIELD(RemFORMATETC, DWORD, ptd, 4, 4, 4);
+    TEST_FIELD(RemFORMATETC, DWORD, dwAspect, 8, 4, 4);
+    TEST_FIELD(RemFORMATETC, LONG, lindex, 12, 4, 4);
+    TEST_FIELD(RemFORMATETC, DWORD, tymed, 16, 4, 4);
+}
+
 static void test_pack(void)
 {
     test_pack_BINDINFO();
     test_pack_IBindHost();
+    test_pack_IBindHostVtbl();
     test_pack_IBindStatusCallback();
+    test_pack_IBindStatusCallbackVtbl();
     test_pack_IBinding();
+    test_pack_IBindingVtbl();
+    test_pack_IInternetProtocolInfo();
+    test_pack_IInternetProtocolInfoVtbl();
+    test_pack_IPersistMoniker();
+    test_pack_IPersistMonikerVtbl();
     test_pack_IWinInetHttpInfo();
+    test_pack_IWinInetHttpInfoVtbl();
     test_pack_IWinInetInfo();
+    test_pack_IWinInetInfoVtbl();
+    test_pack_LPBINDHOST();
+    test_pack_LPBINDING();
+    test_pack_LPBINDSTATUSCALLBACK();
+    test_pack_LPIINTERNETPROTOCOLINFO();
+    test_pack_LPPERSISTMONIKER();
+    test_pack_LPREMFORMATETC();
+    test_pack_LPREMSECURITY_ATTRIBUTES();
+    test_pack_LPWININETHTTPINFO();
+    test_pack_LPWININETINFO();
+    test_pack_PREMSECURITY_ATTRIBUTES();
+    test_pack_REMSECURITY_ATTRIBUTES();
+    test_pack_RemBINDINFO();
+    test_pack_RemFORMATETC();
 }
 
 START_TEST(generated)
diff --git a/dlls/user/tests/generated.c b/dlls/user/tests/generated.c
index e7420cd..c8b9fe6 100644
--- a/dlls/user/tests/generated.c
+++ b/dlls/user/tests/generated.c
@@ -336,6 +336,21 @@
     TEST_FIELD(DLGTEMPLATE, short, cy, 16, 2, 2);
 }
 
+static void test_pack_DRAWITEMSTRUCT(void)
+{
+    /* DRAWITEMSTRUCT (pack 4) */
+    TEST_TYPE(DRAWITEMSTRUCT, 48, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, UINT, CtlType, 0, 4, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, UINT, CtlID, 4, 4, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, UINT, itemID, 8, 4, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, UINT, itemAction, 12, 4, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, UINT, itemState, 16, 4, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, HWND, hwndItem, 20, 4, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, HDC, hDC, 24, 4, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, RECT, rcItem, 28, 16, 4);
+    TEST_FIELD(DRAWITEMSTRUCT, ULONG_PTR, itemData, 44, 4, 4);
+}
+
 static void test_pack_DRAWSTATEPROC(void)
 {
     /* DRAWSTATEPROC */
@@ -388,6 +403,23 @@
     TEST_FIELD(FILTERKEYS, DWORD, iBounceMSec, 20, 4, 4);
 }
 
+static void test_pack_FLASHWINFO(void)
+{
+    /* FLASHWINFO (pack 4) */
+    TEST_TYPE(FLASHWINFO, 20, 4);
+    TEST_FIELD(FLASHWINFO, UINT, cbSize, 0, 4, 4);
+    TEST_FIELD(FLASHWINFO, HWND, hwnd, 4, 4, 4);
+    TEST_FIELD(FLASHWINFO, DWORD, dwFlags, 8, 4, 4);
+    TEST_FIELD(FLASHWINFO, UINT, uCount, 12, 4, 4);
+    TEST_FIELD(FLASHWINFO, DWORD, dwTimeout, 16, 4, 4);
+}
+
+static void test_pack_GRAYSTRINGPROC(void)
+{
+    /* GRAYSTRINGPROC */
+    TEST_TYPE(GRAYSTRINGPROC, 4, 4);
+}
+
 static void test_pack_GUITHREADINFO(void)
 {
     /* GUITHREADINFO (pack 4) */
@@ -403,12 +435,6 @@
     TEST_FIELD(GUITHREADINFO, RECT, rcCaret, 32, 16, 4);
 }
 
-static void test_pack_GRAYSTRINGPROC(void)
-{
-    /* GRAYSTRINGPROC */
-    TEST_TYPE(GRAYSTRINGPROC, 4, 4);
-}
-
 static void test_pack_HARDWAREHOOKSTRUCT(void)
 {
     /* HARDWAREHOOKSTRUCT (pack 4) */
@@ -481,8 +507,10 @@
 static void test_pack_HIGHCONTRASTA(void)
 {
     /* HIGHCONTRASTA (pack 4) */
+    TEST_TYPE(HIGHCONTRASTA, 12, 4);
     TEST_FIELD(HIGHCONTRASTA, UINT, cbSize, 0, 4, 4);
     TEST_FIELD(HIGHCONTRASTA, DWORD, dwFlags, 4, 4, 4);
+    TEST_FIELD(HIGHCONTRASTA, LPSTR, lpszDefaultScheme, 8, 4, 4);
 }
 
 static void test_pack_HIGHCONTRASTW(void)
@@ -533,12 +561,6 @@
     TEST_FIELD(ICONMETRICSW, LOGFONTW, lfFont, 16, 92, 4);
 }
 
-static void test_pack_INPUT(void)
-{
-    /* INPUT (pack 4) */
-    TEST_FIELD(INPUT, DWORD, type, 0, 4, 4);
-}
-
 static void test_pack_KBDLLHOOKSTRUCT(void)
 {
     /* KBDLLHOOKSTRUCT (pack 4) */
@@ -635,6 +657,7 @@
 {
     /* LPCMENUITEMINFOA */
     TEST_TYPE(LPCMENUITEMINFOA, 4, 4);
+    TEST_TYPE_POINTER(LPCMENUITEMINFOA, 48, 4);
 }
 
 static void test_pack_LPCMENUITEMINFOW(void)
@@ -770,6 +793,13 @@
     TEST_TYPE_POINTER(LPFILTERKEYS, 24, 4);
 }
 
+static void test_pack_LPGUITHREADINFO(void)
+{
+    /* LPGUITHREADINFO */
+    TEST_TYPE(LPGUITHREADINFO, 4, 4);
+    TEST_TYPE_POINTER(LPGUITHREADINFO, 48, 4);
+}
+
 static void test_pack_LPHARDWAREHOOKSTRUCT(void)
 {
     /* LPHARDWAREHOOKSTRUCT */
@@ -809,6 +839,7 @@
 {
     /* LPHIGHCONTRASTA */
     TEST_TYPE(LPHIGHCONTRASTA, 4, 4);
+    TEST_TYPE_POINTER(LPHIGHCONTRASTA, 12, 4);
 }
 
 static void test_pack_LPHIGHCONTRASTW(void)
@@ -832,12 +863,6 @@
     TEST_TYPE_POINTER(LPICONMETRICSW, 108, 4);
 }
 
-static void test_pack_LPINPUT(void)
-{
-    /* LPINPUT */
-    TEST_TYPE(LPINPUT, 4, 4);
-}
-
 static void test_pack_LPKBDLLHOOKSTRUCT(void)
 {
     /* LPKBDLLHOOKSTRUCT */
@@ -891,6 +916,7 @@
 {
     /* LPMENUITEMINFOA */
     TEST_TYPE(LPMENUITEMINFOA, 4, 4);
+    TEST_TYPE_POINTER(LPMENUITEMINFOA, 48, 4);
 }
 
 static void test_pack_LPMENUITEMINFOW(void)
@@ -900,12 +926,6 @@
     TEST_TYPE_POINTER(LPMENUITEMINFOW, 48, 4);
 }
 
-static void test_pack_LPMENUTEMPLATE(void)
-{
-    /* LPMENUTEMPLATE */
-    TEST_TYPE(LPMENUTEMPLATE, 4, 4);
-}
-
 static void test_pack_LPMINIMIZEDMETRICS(void)
 {
     /* LPMINIMIZEDMETRICS */
@@ -1050,6 +1070,7 @@
 {
     /* LPSERIALKEYSA */
     TEST_TYPE(LPSERIALKEYSA, 4, 4);
+    TEST_TYPE_POINTER(LPSERIALKEYSA, 28, 4);
 }
 
 static void test_pack_LPSERIALKEYSW(void)
@@ -1063,6 +1084,7 @@
 {
     /* LPSOUNDSENTRYA */
     TEST_TYPE(LPSOUNDSENTRYA, 4, 4);
+    TEST_TYPE_POINTER(LPSOUNDSENTRYA, 48, 4);
 }
 
 static void test_pack_LPSOUNDSENTRYW(void)
@@ -1086,6 +1108,12 @@
     TEST_TYPE_POINTER(LPSTYLESTRUCT, 8, 4);
 }
 
+static void test_pack_LPTITLEBARINFO(void)
+{
+    /* LPTITLEBARINFO */
+    TEST_TYPE(LPTITLEBARINFO, 4, 4);
+}
+
 static void test_pack_LPTOGGLEKEYS(void)
 {
     /* LPTOGGLEKEYS */
@@ -1111,6 +1139,7 @@
 {
     /* LPWINDOWINFO */
     TEST_TYPE(LPWINDOWINFO, 4, 4);
+    TEST_TYPE_POINTER(LPWINDOWINFO, 60, 4);
 }
 
 static void test_pack_LPWINDOWPLACEMENT(void)
@@ -1222,6 +1251,7 @@
 static void test_pack_MENUITEMINFOA(void)
 {
     /* MENUITEMINFOA (pack 4) */
+    TEST_TYPE(MENUITEMINFOA, 48, 4);
     TEST_FIELD(MENUITEMINFOA, UINT, cbSize, 0, 4, 4);
     TEST_FIELD(MENUITEMINFOA, UINT, fMask, 4, 4, 4);
     TEST_FIELD(MENUITEMINFOA, UINT, fType, 8, 4, 4);
@@ -1231,6 +1261,9 @@
     TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpChecked, 24, 4, 4);
     TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpUnchecked, 28, 4, 4);
     TEST_FIELD(MENUITEMINFOA, ULONG_PTR, dwItemData, 32, 4, 4);
+    TEST_FIELD(MENUITEMINFOA, LPSTR, dwTypeData, 36, 4, 4);
+    TEST_FIELD(MENUITEMINFOA, UINT, cch, 40, 4, 4);
+    TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpItem, 44, 4, 4);
 }
 
 static void test_pack_MENUITEMINFOW(void)
@@ -1268,11 +1301,6 @@
     TEST_FIELD(MENUITEMTEMPLATEHEADER, WORD, offset, 2, 2, 2);
 }
 
-static void test_pack_MENUTEMPLATE(void)
-{
-    /* MENUTEMPLATE */
-}
-
 static void test_pack_MINIMIZEDMETRICS(void)
 {
     /* MINIMIZEDMETRICS (pack 4) */
@@ -1614,6 +1642,13 @@
     TEST_TYPE_POINTER(PEVENTMSG, 20, 4);
 }
 
+static void test_pack_PFLASHWINFO(void)
+{
+    /* PFLASHWINFO */
+    TEST_TYPE(PFLASHWINFO, 4, 4);
+    TEST_TYPE_POINTER(PFLASHWINFO, 20, 4);
+}
+
 static void test_pack_PGUITHREADINFO(void)
 {
     /* PGUITHREADINFO */
@@ -1677,12 +1712,6 @@
     TEST_TYPE_POINTER(PICONMETRICSW, 108, 4);
 }
 
-static void test_pack_PINPUT(void)
-{
-    /* PINPUT */
-    TEST_TYPE(PINPUT, 4, 4);
-}
-
 static void test_pack_PKBDLLHOOKSTRUCT(void)
 {
     /* PKBDLLHOOKSTRUCT */
@@ -1840,10 +1869,24 @@
     TEST_TYPE(PROPENUMPROCW, 4, 4);
 }
 
+static void test_pack_PTITLEBARINFO(void)
+{
+    /* PTITLEBARINFO */
+    TEST_TYPE(PTITLEBARINFO, 4, 4);
+}
+
+static void test_pack_PUSEROBJECTFLAGS(void)
+{
+    /* PUSEROBJECTFLAGS */
+    TEST_TYPE(PUSEROBJECTFLAGS, 4, 4);
+    TEST_TYPE_POINTER(PUSEROBJECTFLAGS, 12, 4);
+}
+
 static void test_pack_PWINDOWINFO(void)
 {
     /* PWINDOWINFO */
     TEST_TYPE(PWINDOWINFO, 4, 4);
+    TEST_TYPE_POINTER(PWINDOWINFO, 60, 4);
 }
 
 static void test_pack_PWINDOWPLACEMENT(void)
@@ -1910,8 +1953,14 @@
 static void test_pack_SERIALKEYSA(void)
 {
     /* SERIALKEYSA (pack 4) */
+    TEST_TYPE(SERIALKEYSA, 28, 4);
     TEST_FIELD(SERIALKEYSA, UINT, cbSize, 0, 4, 4);
     TEST_FIELD(SERIALKEYSA, DWORD, dwFlags, 4, 4, 4);
+    TEST_FIELD(SERIALKEYSA, LPSTR, lpszActivePort, 8, 4, 4);
+    TEST_FIELD(SERIALKEYSA, LPSTR, lpszPort, 12, 4, 4);
+    TEST_FIELD(SERIALKEYSA, UINT, iBaudRate, 16, 4, 4);
+    TEST_FIELD(SERIALKEYSA, UINT, iPortState, 20, 4, 4);
+    TEST_FIELD(SERIALKEYSA, UINT, iActive, 24, 4, 4);
 }
 
 static void test_pack_SERIALKEYSW(void)
@@ -1930,6 +1979,7 @@
 static void test_pack_SOUNDSENTRYA(void)
 {
     /* SOUNDSENTRYA (pack 4) */
+    TEST_TYPE(SOUNDSENTRYA, 48, 4);
     TEST_FIELD(SOUNDSENTRYA, UINT, cbSize, 0, 4, 4);
     TEST_FIELD(SOUNDSENTRYA, DWORD, dwFlags, 4, 4, 4);
     TEST_FIELD(SOUNDSENTRYA, DWORD, iFSTextEffect, 8, 4, 4);
@@ -1940,6 +1990,8 @@
     TEST_FIELD(SOUNDSENTRYA, DWORD, iFSGrafEffectColor, 28, 4, 4);
     TEST_FIELD(SOUNDSENTRYA, DWORD, iWindowsEffect, 32, 4, 4);
     TEST_FIELD(SOUNDSENTRYA, DWORD, iWindowsEffectMSec, 36, 4, 4);
+    TEST_FIELD(SOUNDSENTRYA, LPSTR, lpszWindowsEffectDLL, 40, 4, 4);
+    TEST_FIELD(SOUNDSENTRYA, DWORD, iWindowsEffectOrdinal, 44, 4, 4);
 }
 
 static void test_pack_SOUNDSENTRYW(void)
@@ -1982,6 +2034,13 @@
     TEST_TYPE(TIMERPROC, 4, 4);
 }
 
+static void test_pack_TITLEBARINFO(void)
+{
+    /* TITLEBARINFO (pack 4) */
+    TEST_FIELD(TITLEBARINFO, DWORD, cbSize, 0, 4, 4);
+    TEST_FIELD(TITLEBARINFO, RECT, rcTitleBar, 4, 16, 4);
+}
+
 static void test_pack_TOGGLEKEYS(void)
 {
     /* TOGGLEKEYS (pack 4) */
@@ -2008,20 +2067,43 @@
     TEST_FIELD(TRACKMOUSEEVENT, DWORD, dwHoverTime, 12, 4, 4);
 }
 
+static void test_pack_USEROBJECTFLAGS(void)
+{
+    /* USEROBJECTFLAGS (pack 4) */
+    TEST_TYPE(USEROBJECTFLAGS, 12, 4);
+    TEST_FIELD(USEROBJECTFLAGS, BOOL, fInherit, 0, 4, 4);
+    TEST_FIELD(USEROBJECTFLAGS, BOOL, fReserved, 4, 4, 4);
+    TEST_FIELD(USEROBJECTFLAGS, DWORD, dwFlags, 8, 4, 4);
+}
+
 static void test_pack_WINDOWINFO(void)
 {
     /* WINDOWINFO (pack 4) */
+    TEST_TYPE(WINDOWINFO, 60, 4);
     TEST_FIELD(WINDOWINFO, DWORD, cbSize, 0, 4, 4);
     TEST_FIELD(WINDOWINFO, RECT, rcWindow, 4, 16, 4);
     TEST_FIELD(WINDOWINFO, RECT, rcClient, 20, 16, 4);
     TEST_FIELD(WINDOWINFO, DWORD, dwStyle, 36, 4, 4);
     TEST_FIELD(WINDOWINFO, DWORD, dwExStyle, 40, 4, 4);
+    TEST_FIELD(WINDOWINFO, DWORD, dwWindowStatus, 44, 4, 4);
     TEST_FIELD(WINDOWINFO, UINT, cxWindowBorders, 48, 4, 4);
     TEST_FIELD(WINDOWINFO, UINT, cyWindowBorders, 52, 4, 4);
     TEST_FIELD(WINDOWINFO, ATOM, atomWindowType, 56, 2, 2);
     TEST_FIELD(WINDOWINFO, WORD, wCreatorVersion, 58, 2, 2);
 }
 
+static void test_pack_WINDOWPLACEMENT(void)
+{
+    /* WINDOWPLACEMENT (pack 4) */
+    TEST_TYPE(WINDOWPLACEMENT, 44, 4);
+    TEST_FIELD(WINDOWPLACEMENT, UINT, length, 0, 4, 4);
+    TEST_FIELD(WINDOWPLACEMENT, UINT, flags, 4, 4, 4);
+    TEST_FIELD(WINDOWPLACEMENT, UINT, showCmd, 8, 4, 4);
+    TEST_FIELD(WINDOWPLACEMENT, POINT, ptMinPosition, 12, 8, 4);
+    TEST_FIELD(WINDOWPLACEMENT, POINT, ptMaxPosition, 20, 8, 4);
+    TEST_FIELD(WINDOWPLACEMENT, RECT, rcNormalPosition, 28, 16, 4);
+}
+
 static void test_pack_WINDOWPOS(void)
 {
     /* WINDOWPOS (pack 4) */
@@ -2157,12 +2239,14 @@
     test_pack_DLGITEMTEMPLATE();
     test_pack_DLGPROC();
     test_pack_DLGTEMPLATE();
+    test_pack_DRAWITEMSTRUCT();
     test_pack_DRAWSTATEPROC();
     test_pack_DRAWTEXTPARAMS();
     test_pack_EDITWORDBREAKPROCA();
     test_pack_EDITWORDBREAKPROCW();
     test_pack_EVENTMSG();
     test_pack_FILTERKEYS();
+    test_pack_FLASHWINFO();
     test_pack_GRAYSTRINGPROC();
     test_pack_GUITHREADINFO();
     test_pack_HARDWAREHOOKSTRUCT();
@@ -2178,7 +2262,6 @@
     test_pack_ICONINFO();
     test_pack_ICONMETRICSA();
     test_pack_ICONMETRICSW();
-    test_pack_INPUT();
     test_pack_KBDLLHOOKSTRUCT();
     test_pack_KEYBDINPUT();
     test_pack_LPACCEL();
@@ -2211,6 +2294,7 @@
     test_pack_LPDRAWTEXTPARAMS();
     test_pack_LPEVENTMSG();
     test_pack_LPFILTERKEYS();
+    test_pack_LPGUITHREADINFO();
     test_pack_LPHARDWAREHOOKSTRUCT();
     test_pack_LPHARDWAREINPUT();
     test_pack_LPHELPINFO();
@@ -2220,7 +2304,6 @@
     test_pack_LPHIGHCONTRASTW();
     test_pack_LPICONMETRICSA();
     test_pack_LPICONMETRICSW();
-    test_pack_LPINPUT();
     test_pack_LPKBDLLHOOKSTRUCT();
     test_pack_LPKEYBDINPUT();
     test_pack_LPMDICREATESTRUCTA();
@@ -2230,7 +2313,6 @@
     test_pack_LPMENUINFO();
     test_pack_LPMENUITEMINFOA();
     test_pack_LPMENUITEMINFOW();
-    test_pack_LPMENUTEMPLATE();
     test_pack_LPMINIMIZEDMETRICS();
     test_pack_LPMINMAXINFO();
     test_pack_LPMONITORINFO();
@@ -2257,6 +2339,7 @@
     test_pack_LPSOUNDSENTRYW();
     test_pack_LPSTICKYKEYS();
     test_pack_LPSTYLESTRUCT();
+    test_pack_LPTITLEBARINFO();
     test_pack_LPTOGGLEKEYS();
     test_pack_LPTPMPARAMS();
     test_pack_LPTRACKMOUSEEVENT();
@@ -2276,7 +2359,6 @@
     test_pack_MENUITEMINFOW();
     test_pack_MENUITEMTEMPLATE();
     test_pack_MENUITEMTEMPLATEHEADER();
-    test_pack_MENUTEMPLATE();
     test_pack_MINIMIZEDMETRICS();
     test_pack_MINMAXINFO();
     test_pack_MONITORENUMPROC();
@@ -2312,6 +2394,7 @@
     test_pack_PDLGITEMTEMPLATEW();
     test_pack_PDRAWITEMSTRUCT();
     test_pack_PEVENTMSG();
+    test_pack_PFLASHWINFO();
     test_pack_PGUITHREADINFO();
     test_pack_PHARDWAREHOOKSTRUCT();
     test_pack_PHARDWAREINPUT();
@@ -2321,7 +2404,6 @@
     test_pack_PICONINFO();
     test_pack_PICONMETRICSA();
     test_pack_PICONMETRICSW();
-    test_pack_PINPUT();
     test_pack_PKBDLLHOOKSTRUCT();
     test_pack_PKEYBDINPUT();
     test_pack_PMDINEXTMENU();
@@ -2345,6 +2427,8 @@
     test_pack_PROPENUMPROCEXA();
     test_pack_PROPENUMPROCEXW();
     test_pack_PROPENUMPROCW();
+    test_pack_PTITLEBARINFO();
+    test_pack_PUSEROBJECTFLAGS();
     test_pack_PWINDOWINFO();
     test_pack_PWINDOWPLACEMENT();
     test_pack_PWINDOWPOS();
@@ -2361,10 +2445,13 @@
     test_pack_STICKYKEYS();
     test_pack_STYLESTRUCT();
     test_pack_TIMERPROC();
+    test_pack_TITLEBARINFO();
     test_pack_TOGGLEKEYS();
     test_pack_TPMPARAMS();
     test_pack_TRACKMOUSEEVENT();
+    test_pack_USEROBJECTFLAGS();
     test_pack_WINDOWINFO();
+    test_pack_WINDOWPLACEMENT();
     test_pack_WINDOWPOS();
     test_pack_WINEVENTPROC();
     test_pack_WINSTAENUMPROCA();
diff --git a/dlls/wininet/tests/generated.c b/dlls/wininet/tests/generated.c
index f058671..1d71a37 100644
--- a/dlls/wininet/tests/generated.c
+++ b/dlls/wininet/tests/generated.c
@@ -112,6 +112,66 @@
 #define TEST_TYPE_UNSIGNED(type) \
      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
 
+static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8, 4);
+    TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, LPCSTR, ShortAbstract, 0, 4, 4);
+    TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, LPCSTR, AbstractFile, 4, 4, 4);
+}
+
+static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8, 4);
+    TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, LPCWSTR, ShortAbstract, 0, 4, 4);
+    TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, LPCWSTR, AbstractFile, 4, 4, 4);
+}
+
+static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_ADMIN_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_ADMIN_ATTRIBUTE_TYPEA, 8, 4);
+    TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEA, LPCSTR, Comment, 0, 4, 4);
+    TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEA, LPCSTR, EmailAddress, 4, 4, 4);
+}
+
+static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_ADMIN_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_ADMIN_ATTRIBUTE_TYPEW, 8, 4);
+    TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEW, LPCWSTR, Comment, 0, 4, 4);
+    TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEW, LPCWSTR, EmailAddress, 4, 4, 4);
+}
+
+static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_ASK_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_ASK_ATTRIBUTE_TYPEA, 8, 4);
+    TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEA, LPCSTR, QuestionType, 0, 4, 4);
+    TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEA, LPCSTR, QuestionText, 4, 4, 4);
+}
+
+static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_ASK_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_ASK_ATTRIBUTE_TYPEW, 8, 4);
+    TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEW, LPCWSTR, QuestionType, 0, 4, 4);
+    TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEW, LPCWSTR, QuestionText, 4, 4, 4);
+}
+
+static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORA(void)
+{
+    /* GOPHER_ATTRIBUTE_ENUMERATORA */
+    TEST_TYPE(GOPHER_ATTRIBUTE_ENUMERATORA, 4, 4);
+}
+
+static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORW(void)
+{
+    /* GOPHER_ATTRIBUTE_ENUMERATORW */
+    TEST_TYPE(GOPHER_ATTRIBUTE_ENUMERATORW, 4, 4);
+}
+
 static void test_pack_GOPHER_FIND_DATAA(void)
 {
     /* GOPHER_FIND_DATAA (pack 4) */
@@ -148,6 +208,20 @@
     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsEast, 20, 4, 4);
 }
 
+static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_LOCATION_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_LOCATION_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_FIELD(GOPHER_LOCATION_ATTRIBUTE_TYPEA, LPCSTR, Location, 0, 4, 4);
+}
+
+static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_LOCATION_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_LOCATION_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_FIELD(GOPHER_LOCATION_ATTRIBUTE_TYPEW, LPCWSTR, Location, 0, 4, 4);
+}
+
 static void test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
 {
     /* GOPHER_MOD_DATE_ATTRIBUTE_TYPE (pack 4) */
@@ -155,6 +229,34 @@
     TEST_FIELD(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, FILETIME, DateAndTime, 0, 8, 4);
 }
 
+static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_FIELD(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, LPCSTR, Organization, 0, 4, 4);
+}
+
+static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_FIELD(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, LPCWSTR, Organization, 0, 4, 4);
+}
+
+static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_PROVIDER_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_FIELD(GOPHER_PROVIDER_ATTRIBUTE_TYPEA, LPCSTR, Provider, 0, 4, 4);
+}
+
+static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_PROVIDER_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_FIELD(GOPHER_PROVIDER_ATTRIBUTE_TYPEW, LPCWSTR, Provider, 0, 4, 4);
+}
+
 static void test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE(void)
 {
     /* GOPHER_SCORE_ATTRIBUTE_TYPE (pack 4) */
@@ -170,6 +272,20 @@
     TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, UpperBound, 4, 4, 4);
 }
 
+static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_SITE_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_SITE_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_FIELD(GOPHER_SITE_ATTRIBUTE_TYPEA, LPCSTR, Site, 0, 4, 4);
+}
+
+static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_SITE_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_SITE_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_FIELD(GOPHER_SITE_ATTRIBUTE_TYPEW, LPCWSTR, Site, 0, 4, 4);
+}
+
 static void test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
 {
     /* GOPHER_TIMEZONE_ATTRIBUTE_TYPE (pack 4) */
@@ -184,6 +300,20 @@
     TEST_FIELD(GOPHER_TTL_ATTRIBUTE_TYPE, DWORD, Ttl, 0, 4, 4);
 }
 
+static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_FIELD(GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, LPCSTR, Text, 0, 4, 4);
+}
+
+static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_FIELD(GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, LPCWSTR, Text, 0, 4, 4);
+}
+
 static void test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE(void)
 {
     /* GOPHER_VERONICA_ATTRIBUTE_TYPE (pack 4) */
@@ -191,6 +321,44 @@
     TEST_FIELD(GOPHER_VERONICA_ATTRIBUTE_TYPE, BOOL, TreeWalk, 0, 4, 4);
 }
 
+static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_VERSION_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_VERSION_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_FIELD(GOPHER_VERSION_ATTRIBUTE_TYPEA, LPCSTR, Version, 0, 4, 4);
+}
+
+static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_VERSION_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_VERSION_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_FIELD(GOPHER_VERSION_ATTRIBUTE_TYPEW, LPCWSTR, Version, 0, 4, 4);
+}
+
+static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA(void)
+{
+    /* GOPHER_VIEW_ATTRIBUTE_TYPEA (pack 4) */
+    TEST_TYPE(GOPHER_VIEW_ATTRIBUTE_TYPEA, 12, 4);
+    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEA, LPCSTR, ContentType, 0, 4, 4);
+    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEA, LPCSTR, Language, 4, 4, 4);
+    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEA, DWORD, Size, 8, 4, 4);
+}
+
+static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW(void)
+{
+    /* GOPHER_VIEW_ATTRIBUTE_TYPEW (pack 4) */
+    TEST_TYPE(GOPHER_VIEW_ATTRIBUTE_TYPEW, 12, 4);
+    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, LPCWSTR, ContentType, 0, 4, 4);
+    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, LPCWSTR, Language, 4, 4, 4);
+    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, DWORD, Size, 8, 4, 4);
+}
+
+static void test_pack_GROUPID(void)
+{
+    /* GROUPID */
+    TEST_TYPE(GROUPID, 8, 8);
+}
+
 static void test_pack_HINTERNET(void)
 {
     /* HINTERNET */
@@ -255,27 +423,32 @@
     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwOffsetHigh, 36, 4, 4);
 }
 
-static void test_pack_INTERNET_CACHE_ENTRY_INFOA(void)
+static void test_pack_INTERNET_CERTIFICATE_INFOA(void)
 {
-    /* INTERNET_CACHE_ENTRY_INFOA (pack 4) */
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwStructSize, 0, 4, 4);
+    /* INTERNET_CERTIFICATE_INFOA (pack 4) */
+    TEST_TYPE(INTERNET_CERTIFICATE_INFOA, 40, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOA, FILETIME, ftExpiry, 0, 8, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOA, FILETIME, ftStart, 8, 8, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszSubjectInfo, 16, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszIssuerInfo, 20, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszProtocolName, 24, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszSignatureAlgName, 28, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszEncryptionAlgName, 32, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOA, DWORD, dwKeySize, 36, 4, 4);
 }
 
-static void test_pack_INTERNET_CACHE_ENTRY_INFOW(void)
+static void test_pack_INTERNET_CERTIFICATE_INFOW(void)
 {
-    /* INTERNET_CACHE_ENTRY_INFOW (pack 4) */
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwStructSize, 0, 4, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszSourceUrlName, 4, 4, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszLocalFileName, 8, 4, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, CacheEntryType, 12, 4, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwUseCount, 16, 4, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwHitRate, 20, 4, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwSizeLow, 24, 4, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwSizeHigh, 28, 4, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastModifiedTime, 32, 8, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, ExpireTime, 40, 8, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastAccessTime, 48, 8, 4);
-    TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastSyncTime, 56, 8, 4);
+    /* INTERNET_CERTIFICATE_INFOW (pack 4) */
+    TEST_TYPE(INTERNET_CERTIFICATE_INFOW, 40, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOW, FILETIME, ftExpiry, 0, 8, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOW, FILETIME, ftStart, 8, 8, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszSubjectInfo, 16, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszIssuerInfo, 20, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszProtocolName, 24, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszSignatureAlgName, 28, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszEncryptionAlgName, 32, 4, 4);
+    TEST_FIELD(INTERNET_CERTIFICATE_INFOW, DWORD, dwKeySize, 36, 4, 4);
 }
 
 static void test_pack_INTERNET_CONNECTED_INFO(void)
@@ -290,6 +463,25 @@
 {
     /* INTERNET_PORT */
     TEST_TYPE(INTERNET_PORT, 2, 2);
+    TEST_TYPE_UNSIGNED(INTERNET_PORT);
+}
+
+static void test_pack_INTERNET_PROXY_INFOA(void)
+{
+    /* INTERNET_PROXY_INFOA (pack 4) */
+    TEST_TYPE(INTERNET_PROXY_INFOA, 12, 4);
+    TEST_FIELD(INTERNET_PROXY_INFOA, DWORD, dwAccessType, 0, 4, 4);
+    TEST_FIELD(INTERNET_PROXY_INFOA, LPCSTR, lpszProxy, 4, 4, 4);
+    TEST_FIELD(INTERNET_PROXY_INFOA, LPCSTR, lpszProxyBypass, 8, 4, 4);
+}
+
+static void test_pack_INTERNET_PROXY_INFOW(void)
+{
+    /* INTERNET_PROXY_INFOW (pack 4) */
+    TEST_TYPE(INTERNET_PROXY_INFOW, 12, 4);
+    TEST_FIELD(INTERNET_PROXY_INFOW, DWORD, dwAccessType, 0, 4, 4);
+    TEST_FIELD(INTERNET_PROXY_INFOW, LPCWSTR, lpszProxy, 4, 4, 4);
+    TEST_FIELD(INTERNET_PROXY_INFOW, LPCWSTR, lpszProxyBypass, 8, 4, 4);
 }
 
 static void test_pack_INTERNET_STATUS_CALLBACK(void)
@@ -306,6 +498,48 @@
     TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
 }
 
+static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8, 4);
+}
+
+static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8, 4);
+}
+
+static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 8, 4);
+}
+
+static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 8, 4);
+}
+
+static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_ASK_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_ASK_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_ASK_ATTRIBUTE_TYPEA, 8, 4);
+}
+
+static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_ASK_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_ASK_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_ASK_ATTRIBUTE_TYPEW, 8, 4);
+}
+
 static void test_pack_LPGOPHER_FIND_DATAA(void)
 {
     /* LPGOPHER_FIND_DATAA */
@@ -327,6 +561,20 @@
     TEST_TYPE_POINTER(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24, 4);
 }
 
+static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4, 4);
+}
+
+static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4, 4);
+}
+
 static void test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
 {
     /* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE */
@@ -334,6 +582,34 @@
     TEST_TYPE_POINTER(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8, 4);
 }
 
+static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4, 4);
+}
+
+static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4, 4);
+}
+
+static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4, 4);
+}
+
+static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4, 4);
+}
+
 static void test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE(void)
 {
     /* LPGOPHER_SCORE_ATTRIBUTE_TYPE */
@@ -348,6 +624,20 @@
     TEST_TYPE_POINTER(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8, 4);
 }
 
+static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_SITE_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4, 4);
+}
+
+static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_SITE_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4, 4);
+}
+
 static void test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
 {
     /* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE */
@@ -362,6 +652,20 @@
     TEST_TYPE_POINTER(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
 }
 
+static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4, 4);
+}
+
+static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4, 4);
+}
+
 static void test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE(void)
 {
     /* LPGOPHER_VERONICA_ATTRIBUTE_TYPE */
@@ -369,6 +673,34 @@
     TEST_TYPE_POINTER(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
 }
 
+static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_VERSION_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4, 4);
+}
+
+static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_VERSION_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4, 4);
+}
+
+static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA(void)
+{
+    /* LPGOPHER_VIEW_ATTRIBUTE_TYPEA */
+    TEST_TYPE(LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 12, 4);
+}
+
+static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW(void)
+{
+    /* LPGOPHER_VIEW_ATTRIBUTE_TYPEW */
+    TEST_TYPE(LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 4, 4);
+    TEST_TYPE_POINTER(LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 12, 4);
+}
+
 static void test_pack_LPHINTERNET(void)
 {
     /* LPHINTERNET */
@@ -404,16 +736,18 @@
     TEST_TYPE_POINTER(LPINTERNET_BUFFERSW, 40, 4);
 }
 
-static void test_pack_LPINTERNET_CACHE_ENTRY_INFOA(void)
+static void test_pack_LPINTERNET_CERTIFICATE_INFOA(void)
 {
-    /* LPINTERNET_CACHE_ENTRY_INFOA */
-    TEST_TYPE(LPINTERNET_CACHE_ENTRY_INFOA, 4, 4);
+    /* LPINTERNET_CERTIFICATE_INFOA */
+    TEST_TYPE(LPINTERNET_CERTIFICATE_INFOA, 4, 4);
+    TEST_TYPE_POINTER(LPINTERNET_CERTIFICATE_INFOA, 40, 4);
 }
 
-static void test_pack_LPINTERNET_CACHE_ENTRY_INFOW(void)
+static void test_pack_LPINTERNET_CERTIFICATE_INFOW(void)
 {
-    /* LPINTERNET_CACHE_ENTRY_INFOW */
-    TEST_TYPE(LPINTERNET_CACHE_ENTRY_INFOW, 4, 4);
+    /* LPINTERNET_CERTIFICATE_INFOW */
+    TEST_TYPE(LPINTERNET_CERTIFICATE_INFOW, 4, 4);
+    TEST_TYPE_POINTER(LPINTERNET_CERTIFICATE_INFOW, 40, 4);
 }
 
 static void test_pack_LPINTERNET_CONNECTED_INFO(void)
@@ -430,6 +764,20 @@
     TEST_TYPE_POINTER(LPINTERNET_PORT, 2, 2);
 }
 
+static void test_pack_LPINTERNET_PROXY_INFOA(void)
+{
+    /* LPINTERNET_PROXY_INFOA */
+    TEST_TYPE(LPINTERNET_PROXY_INFOA, 4, 4);
+    TEST_TYPE_POINTER(LPINTERNET_PROXY_INFOA, 12, 4);
+}
+
+static void test_pack_LPINTERNET_PROXY_INFOW(void)
+{
+    /* LPINTERNET_PROXY_INFOW */
+    TEST_TYPE(LPINTERNET_PROXY_INFOW, 4, 4);
+    TEST_TYPE_POINTER(LPINTERNET_PROXY_INFOW, 12, 4);
+}
+
 static void test_pack_LPINTERNET_STATUS_CALLBACK(void)
 {
     /* LPINTERNET_STATUS_CALLBACK */
@@ -447,13 +795,11 @@
 static void test_pack_LPURL_COMPONENTSA(void)
 {
     /* LPURL_COMPONENTSA */
-    TEST_TYPE(LPURL_COMPONENTSA, 4, 4);
 }
 
 static void test_pack_LPURL_COMPONENTSW(void)
 {
     /* LPURL_COMPONENTSW */
-    TEST_TYPE(LPURL_COMPONENTSW, 4, 4);
 }
 
 static void test_pack_PFN_AUTH_NOTIFY(void)
@@ -472,6 +818,8 @@
 {
     /* URL_COMPONENTSA (pack 4) */
     TEST_FIELD(URL_COMPONENTSA, DWORD, dwStructSize, 0, 4, 4);
+    TEST_FIELD(URL_COMPONENTSA, LPSTR, lpszScheme, 4, 4, 4);
+    TEST_FIELD(URL_COMPONENTSA, DWORD, dwSchemeLength, 8, 4, 4);
 }
 
 static void test_pack_URL_COMPONENTSW(void)
@@ -484,45 +832,92 @@
 
 static void test_pack(void)
 {
+    test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW();
+    test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW();
+    test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW();
+    test_pack_GOPHER_ATTRIBUTE_ENUMERATORA();
+    test_pack_GOPHER_ATTRIBUTE_ENUMERATORW();
     test_pack_GOPHER_FIND_DATAA();
     test_pack_GOPHER_FIND_DATAW();
     test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
+    test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW();
     test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE();
+    test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW();
+    test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW();
     test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE();
     test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
+    test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW();
     test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE();
     test_pack_GOPHER_TTL_ATTRIBUTE_TYPE();
+    test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW();
     test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE();
+    test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW();
+    test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA();
+    test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW();
+    test_pack_GROUPID();
     test_pack_HINTERNET();
     test_pack_HTTP_VERSION_INFO();
     test_pack_INTERNET_ASYNC_RESULT();
     test_pack_INTERNET_AUTH_NOTIFY_DATA();
     test_pack_INTERNET_BUFFERSA();
     test_pack_INTERNET_BUFFERSW();
-    test_pack_INTERNET_CACHE_ENTRY_INFOA();
-    test_pack_INTERNET_CACHE_ENTRY_INFOW();
+    test_pack_INTERNET_CERTIFICATE_INFOA();
+    test_pack_INTERNET_CERTIFICATE_INFOW();
     test_pack_INTERNET_CONNECTED_INFO();
     test_pack_INTERNET_PORT();
+    test_pack_INTERNET_PROXY_INFOA();
+    test_pack_INTERNET_PROXY_INFOW();
     test_pack_INTERNET_STATUS_CALLBACK();
     test_pack_INTERNET_VERSION_INFO();
+    test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW();
+    test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW();
+    test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW();
     test_pack_LPGOPHER_FIND_DATAA();
     test_pack_LPGOPHER_FIND_DATAW();
     test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
+    test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW();
     test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE();
+    test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW();
+    test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW();
     test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE();
     test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
+    test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW();
     test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE();
     test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE();
+    test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW();
     test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE();
+    test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW();
+    test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA();
+    test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW();
     test_pack_LPHINTERNET();
     test_pack_LPHTTP_VERSION_INFO();
     test_pack_LPINTERNET_ASYNC_RESULT();
     test_pack_LPINTERNET_BUFFERSA();
     test_pack_LPINTERNET_BUFFERSW();
-    test_pack_LPINTERNET_CACHE_ENTRY_INFOA();
-    test_pack_LPINTERNET_CACHE_ENTRY_INFOW();
+    test_pack_LPINTERNET_CERTIFICATE_INFOA();
+    test_pack_LPINTERNET_CERTIFICATE_INFOW();
     test_pack_LPINTERNET_CONNECTED_INFO();
     test_pack_LPINTERNET_PORT();
+    test_pack_LPINTERNET_PROXY_INFOA();
+    test_pack_LPINTERNET_PROXY_INFOW();
     test_pack_LPINTERNET_STATUS_CALLBACK();
     test_pack_LPINTERNET_VERSION_INFO();
     test_pack_LPURL_COMPONENTSA();