diff --git a/mingw-w64-headers/include/adsprop.h b/mingw-w64-headers/include/adsprop.h
index f83d2f6..8e30c17 100644
--- a/mingw-w64-headers/include/adsprop.h
+++ b/mingw-w64-headers/include/adsprop.h
@@ -6,6 +6,8 @@
 #ifndef _ADSPROP_H_
 #define _ADSPROP_H_
 
+#include <iads.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/mingw-w64-headers/include/clusapi.h b/mingw-w64-headers/include/clusapi.h
index f3fca15..3a71f6a 100644
--- a/mingw-w64-headers/include/clusapi.h
+++ b/mingw-w64-headers/include/clusapi.h
@@ -649,7 +649,7 @@
 #ifndef __cplusplus
     CLUSPROP_VALUE;
 #endif
-    BYTE rgb[];
+    BYTE rgb[1];
   } CLUSPROP_BINARY,*PCLUSPROP_BINARY;
 
   typedef struct CLUSPROP_WORD
@@ -693,7 +693,7 @@
 #ifndef __cplusplus
     CLUSPROP_VALUE;
 #endif
-    WCHAR sz[];
+    WCHAR sz[1];
   } CLUSPROP_SZ,*PCLUSPROP_SZ;
 
   typedef CLUSPROP_SZ CLUSPROP_MULTI_SZ,*PCLUSPROP_MULTI_SZ;
@@ -731,7 +731,7 @@
 #endif
     union {
       SECURITY_DESCRIPTOR_RELATIVE sd;
-      BYTE rgbSecurityDescriptor[];
+      BYTE rgbSecurityDescriptor[1];
     };
   } CLUSPROP_SECURITY_DESCRIPTOR,*PCLUSPROP_SECURITY_DESCRIPTOR;
 
diff --git a/mingw-w64-headers/include/dsclient.h b/mingw-w64-headers/include/dsclient.h
index 7cd534b..f01f426 100644
--- a/mingw-w64-headers/include/dsclient.h
+++ b/mingw-w64-headers/include/dsclient.h
@@ -6,6 +6,8 @@
 #ifndef __dsclient_h
 #define __dsclient_h
 
+#include <shlobj.h>
+
 DEFINE_GUID(CLSID_MicrosoftDS,0xfe1290f0,0xcfbd,0x11cf,0xa3,0x30,0x0,0xaa,0x0,0xc1,0x6e,0x65);
 #define CLSID_DsFolder CLSID_MicrosoftDS
 DEFINE_GUID(CLSID_DsPropertyPages,0xd45d530,0x764b,0x11d0,0xa1,0xca,0x0,0xaa,0x0,0xc1,0x6e,0x65);
diff --git a/mingw-w64-headers/include/hostinfo.h b/mingw-w64-headers/include/hostinfo.h
index ec1ebb8..e8a795f 100644
--- a/mingw-w64-headers/include/hostinfo.h
+++ b/mingw-w64-headers/include/hostinfo.h
@@ -12,6 +12,7 @@
   hostinfoLocale = 0,hostinfoCodePage = 1,hostinfoErrorLocale = 2
 };
 
+#ifdef __cplusplus
 class IHostInfoUpdate : public IUnknown {
 public:
   STDMETHOD(QueryInterface)(REFIID riid,void **ppvObj) = 0;
@@ -19,9 +20,11 @@
   STDMETHOD_(ULONG,Release)(void) = 0;
   STDMETHOD(UpdateInfo)(hostinfo hostinfoNew) = 0;
 };
+#endif /* __cplusplus */
 
 const GUID IID_IHostInfoProvider = { 0xf8418ae0,0x9a5d,0x11d0,{ 0xab,0xd4,0x0,0xa0,0xc9,0x11,0xe8,0xb2 } };
 
+#ifdef __cplusplus
 class IHostInfoProvider : public IUnknown {
 public:
   STDMETHOD(QueryInterface)(REFIID riid,void **ppvObj) = 0;
@@ -29,5 +32,6 @@
   STDMETHOD_(ULONG,Release)(void) = 0;
   STDMETHOD(GetHostInfo)(hostinfo hostinfoRequest,void **ppvInfo) = 0;
 };
+#endif /* __cplusplus */
 
 #endif
diff --git a/mingw-w64-headers/include/iads.h b/mingw-w64-headers/include/iads.h
index 08a54ee..73cc4d3 100644
--- a/mingw-w64-headers/include/iads.h
+++ b/mingw-w64-headers/include/iads.h
@@ -3,6 +3,10 @@
  * This file is part of the w64 mingw-runtime package.
  * No warranty is given; refer to the file DISCLAIMER within this package.
  */
+
+#ifndef _IADS_H_
+#define _IADS_H_
+
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
 #define __REQUIRED_RPCNDR_H_VERSION__ 475
 #endif
@@ -7065,3 +7069,5 @@
 }
 #endif
 #endif
+
+#endif /* _IADS_H_ */
\ No newline at end of file
diff --git a/mingw-w64-headers/include/lmaudit.h b/mingw-w64-headers/include/lmaudit.h
index e1d0a47..b286ccc 100644
--- a/mingw-w64-headers/include/lmaudit.h
+++ b/mingw-w64-headers/include/lmaudit.h
@@ -25,9 +25,9 @@
 #define LOGFLAGS_SEEK 0x2
 #endif
 
-  NET_API_STATUS WINAPI NetAuditClear(LPCWSTR server,LPCWSTR backupfile,LPCWSTR service);
-  NET_API_STATUS WINAPI NetAuditRead(LPCWSTR server,LPCWSTR service,LPHLOG auditloghandle,DWORD offset,LPDWORD reserved1,DWORD reserved2,DWORD offsetflag,LPBYTE *bufptr,DWORD prefmaxlen,LPDWORD bytesread,LPDWORD totalavailable);
-  NET_API_STATUS WINAPI NetAuditWrite(DWORD type,LPBYTE buf,DWORD numbytes,LPCWSTR service,LPBYTE reserved);
+  DWORD WINAPI NetAuditClear(LPCWSTR server,LPCWSTR backupfile,LPCWSTR service);
+  DWORD WINAPI NetAuditRead(LPCWSTR server,LPCWSTR service,LPHLOG auditloghandle,DWORD offset,LPDWORD reserved1,DWORD reserved2,DWORD offsetflag,LPBYTE *bufptr,DWORD prefmaxlen,LPDWORD bytesread,LPDWORD totalavailable);
+  DWORD WINAPI NetAuditWrite(DWORD type,LPBYTE buf,DWORD numbytes,LPCWSTR service,LPBYTE reserved);
 
   typedef struct _AUDIT_ENTRY {
     DWORD ae_len;
diff --git a/mingw-w64-headers/include/msclus.h b/mingw-w64-headers/include/msclus.h
index efa6bed..58e2eea 100644
--- a/mingw-w64-headers/include/msclus.h
+++ b/mingw-w64-headers/include/msclus.h
@@ -717,7 +717,7 @@
     CLUSPROP_SYNTAX_PARTITION_INFO = (DWORD)(CLUSPROP_TYPE_PARTITION_INFO << 16 | CLUSPROP_FORMAT_BINARY),
     CLUSPROP_SYNTAX_FTSET_INFO = (DWORD)(CLUSPROP_TYPE_FTSET_INFO << 16 | CLUSPROP_FORMAT_BINARY),
     CLUSPROP_SYNTAX_DISK_SERIALNUMBER = (DWORD)(CLUSPROP_TYPE_DISK_SERIALNUMBER << 16 | CLUSPROP_FORMAT_SZ)
-  };
+  } CLUSTER_PROPERTY_SYNTAX;
 
   typedef enum CLUSTER_CONTROL_OBJECT {
     CLUS_OBJECT_INVALID = 0,CLUS_OBJECT_RESOURCE = CLUS_OBJECT_INVALID + 1,CLUS_OBJECT_RESOURCE_TYPE = CLUS_OBJECT_RESOURCE + 1,
diff --git a/mingw-w64-headers/include/msptrmac.h b/mingw-w64-headers/include/msptrmac.h
index 8ee612c..04a83f0 100644
--- a/mingw-w64-headers/include/msptrmac.h
+++ b/mingw-w64-headers/include/msptrmac.h
@@ -3,6 +3,8 @@
 
 #define WAVEIN_NAME L"WaveIn Terminal"
 
+#ifdef __cplusplus
+
 class CAudioCaptureTerminal : public IDispatchImpl<ITBasicAudioTerminal,&IID_ITBasicAudioTerminal,&LIBID_TAPI3Lib>,public IDispatchImpl<ITStaticAudioTerminal,&IID_ITStaticAudioTerminal,&LIBID_TAPI3Lib>,public CSingleFilterStaticTerminal,public CMSPObjectSafetyImpl
 {
   BEGIN_COM_MAP(CAudioCaptureTerminal)
@@ -41,4 +43,6 @@
   return S_OK;
 }
 
+#endif /* __cplusplus */
+
 #endif
diff --git a/mingw-w64-headers/include/wmistr.h b/mingw-w64-headers/include/wmistr.h
index aaf0f8e..46cfacf 100644
--- a/mingw-w64-headers/include/wmistr.h
+++ b/mingw-w64-headers/include/wmistr.h
@@ -60,7 +60,7 @@
   ULONG OffsetInstanceNameOffsets;
   union {
     ULONG FixedInstanceSize;
-    OFFSETINSTANCEDATAANDLENGTH OffsetInstanceDataAndLength[];
+    OFFSETINSTANCEDATAANDLENGTH OffsetInstanceDataAndLength[1];
   };
 } WNODE_ALL_DATA,*PWNODE_ALL_DATA;
 
@@ -103,7 +103,7 @@
   ULONG TargetDataBlockSize;
   union {
     ULONG TargetInstanceIndex;
-    WCHAR TargetInstanceName[];
+    WCHAR TargetInstanceName[1];
   };
 } WNODE_EVENT_REFERENCE,*PWNODE_EVENT_REFERENCE;
 
diff --git a/mingw-w64-headers/include/xcmcext.h b/mingw-w64-headers/include/xcmcext.h
index 2c1f8d9..64da29a 100644
--- a/mingw-w64-headers/include/xcmcext.h
+++ b/mingw-w64-headers/include/xcmcext.h
@@ -6,6 +6,8 @@
 #ifndef _XCMCEXT_H
 #define _XCMCEXT_H
 
+#include <xcmc.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
