diff --git a/rtl/win/wininc/struct.inc b/rtl/win/wininc/struct.inc
index db24e54eea..b57b646bfd 100644
--- a/rtl/win/wininc/struct.inc
+++ b/rtl/win/wininc/struct.inc
@@ -8346,6 +8346,25 @@ type
 
 {$push}
 {$packrecords 4}
+
+    PIMAGE_EXPORT_DIRECTORY = ^TIMAGE_EXPORT_DIRECTORY;
+    IMAGE_EXPORT_DIRECTORY = record
+        Characteristics : DWORD;
+        TimeDateStamp   : DWORD;
+        MajorVersion    : WORD;
+        MinorVersion    : WORD;
+        Name 	        : DWORD;
+        Base 		    : DWORD;
+        NumberOfFunctions : DWORD;
+        NumberOfNames   : DWORD;
+        AddressOfFunctions : DWORD;     { RVA from base of image }
+        AddressOfNames  : DWORD;        { RVA from base of image }
+        AddressOfNameOrdinals : DWORD;  { RVA from base of image }
+      end;
+    TIMAGE_EXPORT_DIRECTORY = IMAGE_EXPORT_DIRECTORY; 
+    _IMAGE_EXPORT_DIRECTORY = IMAGE_EXPORT_DIRECTORY;
+    LPIMAGE_EXPORT_DIRECTORY= PIMAGE_EXPORT_DIRECTORY;
+
   P_IMAGE_IMPORT_BY_NAME = ^_IMAGE_IMPORT_BY_NAME;
   _IMAGE_IMPORT_BY_NAME =  record
       Hint : WORD;
@@ -8403,15 +8422,13 @@ type
       AddressOfIndex : ULONGLONG;               { PDWORD }
       AddressOfCallBacks : ULONGLONG;           { PIMAGE_TLS_CALLBACK *; }
       SizeOfZeroFill : DWORD;
-      DUMMYUNIONNAME : bitpacked  record
           case longint of
             0 : ( Characteristics : DWORD );
-            1 : ( DUMMYSTRUCTNAME :  record
-           Reserved0 : 0..$FFFFF; // 5 nibbles=20 bits
-           Alignment : 0..$F;      // 4 bits
-           Reserved1 : 0..$FF;     // 8 bits
+            1 : ( CharacteristicsFields:  bitpacked record
+                                  Reserved0 : 0..$FFFFF; // 5 nibbles=20 bits
+                                  Alignment : 0..$F;      // 4 bits
+                                  Reserved1 : 0..$FF;     // 8 bits
               end );
-          end;
     end;
   IMAGE_TLS_DIRECTORY64 = _IMAGE_TLS_DIRECTORY64;
   PIMAGE_TLS_DIRECTORY64 = ^IMAGE_TLS_DIRECTORY64;
@@ -8425,15 +8442,14 @@ type
       AddressOfIndex : DWORD;                      { PDWORD }
       AddressOfCallBacks : DWORD;                  { PIMAGE_TLS_CALLBACK * }
       SizeOfZeroFill : DWORD;
-      DUMMYUNIONNAME :  record
           case longint of
             0 : ( Characteristics : DWORD );
-            1 : ( DUMMYSTRUCTNAME : bitpacked  record
-                    Reserved0 : 0..$FFFFF; // 5 nibbles=20 bits
-                    Alignment : 0..$F;      // 4 bits
-                    Reserved1 : 0..$FF;     // 8 bits
+            1 : ( CharacteristicsFields : bitpacked  record
+                                 Reserved0 : 0..$FFFFF; // 5 nibbles=20 bits
+                                 Alignment : 0..$F;      // 4 bits
+                                 Reserved1 : 0..$FF;     // 8 bits
               end );
-          end;
+
     end;
   IMAGE_TLS_DIRECTORY32 = _IMAGE_TLS_DIRECTORY32;
   PIMAGE_TLS_DIRECTORY32 = ^IMAGE_TLS_DIRECTORY32;
@@ -8472,18 +8488,17 @@ type
 
   P_IMAGE_IMPORT_DESCRIPTOR = ^_IMAGE_IMPORT_DESCRIPTOR;
   _IMAGE_IMPORT_DESCRIPTOR =  record
-      DUMMYUNIONNAME :  bitpacked record
           case longint of
             0 : ( Characteristics : DWORD );     { 0 for terminating null import descriptor }
-            1 : ( OriginalFirstThunk : DWORD );  { RVA to original unbound IAT (PIMAGE_THUNK_DATA) }
-          end;
-      TimeDateStamp : DWORD;                     { 0 if not bound, }
+            1 : ( OriginalFirstThunk : DWORD;    { RVA to original unbound IAT (PIMAGE_THUNK_DATA) }
+                  TimeDateStamp : DWORD;         { 0 if not bound, }
                                                  // -1 if bound, and real date\time stamp
                                                  //     in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND)
                                                  // O.W. date/time stamp of DLL bound to (Old BIND)
-      ForwarderChain : DWORD;                    // -1 if no forwarders
-      Name : DWORD;
-      FirstThunk : DWORD;                        // RVA to IAT (if bound this IAT has actual addresses)
+                  ForwarderChain : DWORD;        // -1 if no forwarders
+                  Name : DWORD;
+                  FirstThunk : DWORD;            // RVA to IAT (if bound this IAT has actual addresses)
+                );  
     end;
   IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR;
   PIMAGE_IMPORT_DESCRIPTOR = ^IMAGE_IMPORT_DESCRIPTOR   {UNALIGNED  }     ;