headers: Updated to current Wine version.
diff --git a/mingw-w64-headers/include/dxgi.h b/mingw-w64-headers/include/dxgi.h
index 5d63f2c..fb47742 100644
--- a/mingw-w64-headers/include/dxgi.h
+++ b/mingw-w64-headers/include/dxgi.h
@@ -247,7 +247,7 @@
     DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 0x1,
     DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 0x2,
     DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 0x4,
-    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTEXT = 0x8,
+    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 0x8,
     DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 0x10,
     DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 0x20,
     DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 0x40,
@@ -2164,6 +2164,10 @@
     LUID AdapterLuid;
     UINT Flags;
 } DXGI_ADAPTER_DESC1;
+typedef struct DXGI_DISPLAY_COLOR_SPACE {
+    FLOAT PrimaryCoordinates[8][2];
+    FLOAT WhitePoints[16][2];
+} DXGI_DISPLAY_COLOR_SPACE;
 /*****************************************************************************
  * IDXGIAdapter1 interface
  */
diff --git a/mingw-w64-headers/include/dxgi.idl b/mingw-w64-headers/include/dxgi.idl
index c2960fd..65c5a4b 100644
--- a/mingw-w64-headers/include/dxgi.idl
+++ b/mingw-w64-headers/include/dxgi.idl
@@ -119,7 +119,7 @@
     DXGI_SWAP_CHAIN_FLAG_NONPREROTATED                          = 0x0001,
     DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH                      = 0x0002,
     DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE                         = 0x0004,
-    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTEXT                     = 0x0008,
+    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT                     = 0x0008,
     DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER        = 0x0010,
     DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY                           = 0x0020,
     DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT          = 0x0040,
@@ -462,6 +462,11 @@
     UINT   Flags;
 } DXGI_ADAPTER_DESC1;
 
+typedef struct DXGI_DISPLAY_COLOR_SPACE {
+    FLOAT PrimaryCoordinates[8][2];
+    FLOAT WhitePoints[16][2];
+} DXGI_DISPLAY_COLOR_SPACE;
+
 [
     object,
     uuid(29038f61-3839-4626-91fd-086879011a05),
diff --git a/mingw-w64-headers/include/dxgi1_2.h b/mingw-w64-headers/include/dxgi1_2.h
index d02abaf..b2b0d76 100644
--- a/mingw-w64-headers/include/dxgi1_2.h
+++ b/mingw-w64-headers/include/dxgi1_2.h
@@ -1043,7 +1043,8 @@
 
 typedef enum DXGI_SCALING {
     DXGI_SCALING_STRETCH = 0,
-    DXGI_SCALING_NONE = 1
+    DXGI_SCALING_NONE = 1,
+    DXGI_SCALING_ASPECT_RATIO_STRETCH = 2
 } DXGI_SCALING;
 typedef struct DXGI_SWAP_CHAIN_DESC1 {
     UINT Width;
@@ -1440,7 +1441,7 @@
         HANDLE hResource,
         LUID *pLuid) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow(
+    virtual HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow(
         HWND WindowHandle,
         UINT wMsg,
         DWORD *pdwCookie) = 0;
@@ -1452,7 +1453,7 @@
     virtual void STDMETHODCALLTYPE UnregisterStereoStatus(
         DWORD dwCookie) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow(
+    virtual HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow(
         HWND WindowHandle,
         UINT wMsg,
         DWORD *pdwCookie) = 0;
@@ -1574,7 +1575,7 @@
         HANDLE hResource,
         LUID *pLuid);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
         IDXGIFactory2 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -1589,7 +1590,7 @@
         IDXGIFactory2 *This,
         DWORD dwCookie);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
         IDXGIFactory2 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -1643,10 +1644,10 @@
 #define IDXGIFactory2_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory2_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory2_GetSharedResourceAdapterLuid(This,hResource,pLuid) (This)->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid)
-#define IDXGIFactory2_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory2_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory2_RegisterStereoStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory2_UnregisterStereoStatus(This,dwCookie) (This)->lpVtbl->UnregisterStereoStatus(This,dwCookie)
-#define IDXGIFactory2_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory2_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory2_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory2_UnregisterOcclusionStatus(This,dwCookie) (This)->lpVtbl->UnregisterOcclusionStatus(This,dwCookie)
 #define IDXGIFactory2_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)
@@ -1710,8 +1711,8 @@
 static FORCEINLINE HRESULT IDXGIFactory2_GetSharedResourceAdapterLuid(IDXGIFactory2* This,HANDLE hResource,LUID *pLuid) {
     return This->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid);
 }
-static FORCEINLINE HRESULT IDXGIFactory2_RegisterOcclusionStatusWindow(IDXGIFactory2* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory2_RegisterStereoStatusWindow(IDXGIFactory2* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory2_RegisterStereoStatusEvent(IDXGIFactory2* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie);
@@ -1719,8 +1720,8 @@
 static FORCEINLINE void IDXGIFactory2_UnregisterStereoStatus(IDXGIFactory2* This,DWORD dwCookie) {
     This->lpVtbl->UnregisterStereoStatus(This,dwCookie);
 }
-static FORCEINLINE HRESULT IDXGIFactory2_RegisterStereoStatusWindow(IDXGIFactory2* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory2_RegisterOcclusionStatusWindow(IDXGIFactory2* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory2_RegisterOcclusionStatusEvent(IDXGIFactory2* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie);
diff --git a/mingw-w64-headers/include/dxgi1_2.idl b/mingw-w64-headers/include/dxgi1_2.idl
index eeabd03..921a66e 100644
--- a/mingw-w64-headers/include/dxgi1_2.idl
+++ b/mingw-w64-headers/include/dxgi1_2.idl
@@ -213,7 +213,8 @@
 
 typedef enum DXGI_SCALING {
     DXGI_SCALING_STRETCH = 0,
-    DXGI_SCALING_NONE = 1
+    DXGI_SCALING_NONE = 1,
+    DXGI_SCALING_ASPECT_RATIO_STRETCH = 2,
 } DXGI_SCALING;
 
 typedef struct DXGI_SWAP_CHAIN_DESC1 {
@@ -317,7 +318,7 @@
             [in]  HANDLE hResource,
             [out] LUID *pLuid);
 
-    HRESULT RegisterOcclusionStatusWindow(
+    HRESULT RegisterStereoStatusWindow(
             [in]  HWND WindowHandle,
             [in]  UINT wMsg,
             [out] DWORD *pdwCookie);
@@ -329,7 +330,7 @@
     void UnregisterStereoStatus(
             [in]  DWORD dwCookie);
 
-    HRESULT RegisterStereoStatusWindow(
+    HRESULT RegisterOcclusionStatusWindow(
             [in]  HWND WindowHandle,
             [in]  UINT wMsg,
             [out] DWORD *pdwCookie);
diff --git a/mingw-w64-headers/include/dxgi1_3.h b/mingw-w64-headers/include/dxgi1_3.h
index fba5385..3e8d7d2 100644
--- a/mingw-w64-headers/include/dxgi1_3.h
+++ b/mingw-w64-headers/include/dxgi1_3.h
@@ -1104,7 +1104,7 @@
         HANDLE hResource,
         LUID *pLuid);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
         IDXGIFactory3 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -1119,7 +1119,7 @@
         IDXGIFactory3 *This,
         DWORD dwCookie);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
         IDXGIFactory3 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -1177,10 +1177,10 @@
 #define IDXGIFactory3_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory3_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory3_GetSharedResourceAdapterLuid(This,hResource,pLuid) (This)->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid)
-#define IDXGIFactory3_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory3_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory3_RegisterStereoStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory3_UnregisterStereoStatus(This,dwCookie) (This)->lpVtbl->UnregisterStereoStatus(This,dwCookie)
-#define IDXGIFactory3_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory3_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory3_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory3_UnregisterOcclusionStatus(This,dwCookie) (This)->lpVtbl->UnregisterOcclusionStatus(This,dwCookie)
 #define IDXGIFactory3_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)
@@ -1246,8 +1246,8 @@
 static FORCEINLINE HRESULT IDXGIFactory3_GetSharedResourceAdapterLuid(IDXGIFactory3* This,HANDLE hResource,LUID *pLuid) {
     return This->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid);
 }
-static FORCEINLINE HRESULT IDXGIFactory3_RegisterOcclusionStatusWindow(IDXGIFactory3* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory3_RegisterStereoStatusWindow(IDXGIFactory3* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory3_RegisterStereoStatusEvent(IDXGIFactory3* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie);
@@ -1255,8 +1255,8 @@
 static FORCEINLINE void IDXGIFactory3_UnregisterStereoStatus(IDXGIFactory3* This,DWORD dwCookie) {
     This->lpVtbl->UnregisterStereoStatus(This,dwCookie);
 }
-static FORCEINLINE HRESULT IDXGIFactory3_RegisterStereoStatusWindow(IDXGIFactory3* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory3_RegisterOcclusionStatusWindow(IDXGIFactory3* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory3_RegisterOcclusionStatusEvent(IDXGIFactory3* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie);
diff --git a/mingw-w64-headers/include/dxgi1_4.h b/mingw-w64-headers/include/dxgi1_4.h
index af262b4..d9e24a3 100644
--- a/mingw-w64-headers/include/dxgi1_4.h
+++ b/mingw-w64-headers/include/dxgi1_4.h
@@ -911,7 +911,7 @@
         HANDLE hResource,
         LUID *pLuid);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
         IDXGIFactory4 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -926,7 +926,7 @@
         IDXGIFactory4 *This,
         DWORD dwCookie);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
         IDXGIFactory4 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -996,10 +996,10 @@
 #define IDXGIFactory4_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory4_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory4_GetSharedResourceAdapterLuid(This,hResource,pLuid) (This)->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid)
-#define IDXGIFactory4_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory4_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory4_RegisterStereoStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory4_UnregisterStereoStatus(This,dwCookie) (This)->lpVtbl->UnregisterStereoStatus(This,dwCookie)
-#define IDXGIFactory4_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory4_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory4_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory4_UnregisterOcclusionStatus(This,dwCookie) (This)->lpVtbl->UnregisterOcclusionStatus(This,dwCookie)
 #define IDXGIFactory4_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)
@@ -1068,8 +1068,8 @@
 static FORCEINLINE HRESULT IDXGIFactory4_GetSharedResourceAdapterLuid(IDXGIFactory4* This,HANDLE hResource,LUID *pLuid) {
     return This->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid);
 }
-static FORCEINLINE HRESULT IDXGIFactory4_RegisterOcclusionStatusWindow(IDXGIFactory4* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory4_RegisterStereoStatusWindow(IDXGIFactory4* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory4_RegisterStereoStatusEvent(IDXGIFactory4* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie);
@@ -1077,8 +1077,8 @@
 static FORCEINLINE void IDXGIFactory4_UnregisterStereoStatus(IDXGIFactory4* This,DWORD dwCookie) {
     This->lpVtbl->UnregisterStereoStatus(This,dwCookie);
 }
-static FORCEINLINE HRESULT IDXGIFactory4_RegisterStereoStatusWindow(IDXGIFactory4* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory4_RegisterOcclusionStatusWindow(IDXGIFactory4* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory4_RegisterOcclusionStatusEvent(IDXGIFactory4* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie);
diff --git a/mingw-w64-headers/include/dxgi1_5.h b/mingw-w64-headers/include/dxgi1_5.h
index b1b8528..6026ff6 100644
--- a/mingw-w64-headers/include/dxgi1_5.h
+++ b/mingw-w64-headers/include/dxgi1_5.h
@@ -63,7 +63,8 @@
 } DXGI_OUTDUPL_FLAG;
 typedef enum DXGI_HDR_METADATA_TYPE {
     DXGI_HDR_METADATA_TYPE_NONE = 0x0,
-    DXGI_HDR_METADATA_TYPE_HDR10 = 0x1
+    DXGI_HDR_METADATA_TYPE_HDR10 = 0x1,
+    DXGI_HDR_METADATA_TYPE_HDR10PLUS = 0x2
 } DXGI_HDR_METADATA_TYPE;
 typedef enum _DXGI_OFFER_RESOURCE_FLAGS {
     DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT = 0x1
@@ -86,6 +87,9 @@
     UINT16 MaxContentLightLevel;
     UINT16 MaxFrameAverageLightLevel;
 } DXGI_HDR_METADATA_HDR10;
+typedef struct DXGI_HDR_METADATA_HDR10PLUS {
+    BYTE Data[72];
+} DXGI_HDR_METADATA_HDR10PLUS;
 /*****************************************************************************
  * IDXGIOutput5 interface
  */
@@ -1181,7 +1185,7 @@
         HANDLE hResource,
         LUID *pLuid);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
         IDXGIFactory5 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -1196,7 +1200,7 @@
         IDXGIFactory5 *This,
         DWORD dwCookie);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
         IDXGIFactory5 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -1273,10 +1277,10 @@
 #define IDXGIFactory5_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory5_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory5_GetSharedResourceAdapterLuid(This,hResource,pLuid) (This)->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid)
-#define IDXGIFactory5_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory5_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory5_RegisterStereoStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory5_UnregisterStereoStatus(This,dwCookie) (This)->lpVtbl->UnregisterStereoStatus(This,dwCookie)
-#define IDXGIFactory5_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory5_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory5_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory5_UnregisterOcclusionStatus(This,dwCookie) (This)->lpVtbl->UnregisterOcclusionStatus(This,dwCookie)
 #define IDXGIFactory5_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)
@@ -1347,8 +1351,8 @@
 static FORCEINLINE HRESULT IDXGIFactory5_GetSharedResourceAdapterLuid(IDXGIFactory5* This,HANDLE hResource,LUID *pLuid) {
     return This->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid);
 }
-static FORCEINLINE HRESULT IDXGIFactory5_RegisterOcclusionStatusWindow(IDXGIFactory5* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory5_RegisterStereoStatusWindow(IDXGIFactory5* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory5_RegisterStereoStatusEvent(IDXGIFactory5* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie);
@@ -1356,8 +1360,8 @@
 static FORCEINLINE void IDXGIFactory5_UnregisterStereoStatus(IDXGIFactory5* This,DWORD dwCookie) {
     This->lpVtbl->UnregisterStereoStatus(This,dwCookie);
 }
-static FORCEINLINE HRESULT IDXGIFactory5_RegisterStereoStatusWindow(IDXGIFactory5* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory5_RegisterOcclusionStatusWindow(IDXGIFactory5* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory5_RegisterOcclusionStatusEvent(IDXGIFactory5* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie);
diff --git a/mingw-w64-headers/include/dxgi1_5.idl b/mingw-w64-headers/include/dxgi1_5.idl
index d88d141..7919f01 100644
--- a/mingw-w64-headers/include/dxgi1_5.idl
+++ b/mingw-w64-headers/include/dxgi1_5.idl
@@ -27,6 +27,7 @@
 {
     DXGI_HDR_METADATA_TYPE_NONE = 0x0,
     DXGI_HDR_METADATA_TYPE_HDR10 = 0x1,
+    DXGI_HDR_METADATA_TYPE_HDR10PLUS = 0x2,
 } DXGI_HDR_METADATA_TYPE;
 
 typedef enum _DXGI_OFFER_RESOURCE_FLAGS
@@ -58,6 +59,11 @@
     UINT16 MaxFrameAverageLightLevel;
 } DXGI_HDR_METADATA_HDR10;
 
+typedef struct DXGI_HDR_METADATA_HDR10PLUS
+{
+    BYTE Data[72];
+} DXGI_HDR_METADATA_HDR10PLUS;
+
 [
     object,
     uuid(80a07424-ab52-42eb-833c-0c42fd282d98),
diff --git a/mingw-w64-headers/include/dxgi1_6.h b/mingw-w64-headers/include/dxgi1_6.h
index b8dc911..2778f2a 100644
--- a/mingw-w64-headers/include/dxgi1_6.h
+++ b/mingw-w64-headers/include/dxgi1_6.h
@@ -63,6 +63,9 @@
     DXGI_ADAPTER_FLAG3_REMOTE = 0x1,
     DXGI_ADAPTER_FLAG3_SOFTWARE = 0x2,
     DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE = 0x4,
+    DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES = 0x8,
+    DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES = 0x10,
+    DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE = 0x20,
     DXGI_ADAPTER_FLAG3_FORCE_DWORD = 0xffffffff
 } DXGI_ADAPTER_FLAG3;
 typedef enum DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
@@ -777,7 +780,7 @@
         HANDLE hResource,
         LUID *pLuid);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
         IDXGIFactory6 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -792,7 +795,7 @@
         IDXGIFactory6 *This,
         DWORD dwCookie);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
         IDXGIFactory6 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -877,10 +880,10 @@
 #define IDXGIFactory6_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory6_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory6_GetSharedResourceAdapterLuid(This,hResource,pLuid) (This)->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid)
-#define IDXGIFactory6_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory6_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory6_RegisterStereoStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory6_UnregisterStereoStatus(This,dwCookie) (This)->lpVtbl->UnregisterStereoStatus(This,dwCookie)
-#define IDXGIFactory6_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory6_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory6_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory6_UnregisterOcclusionStatus(This,dwCookie) (This)->lpVtbl->UnregisterOcclusionStatus(This,dwCookie)
 #define IDXGIFactory6_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)
@@ -953,8 +956,8 @@
 static FORCEINLINE HRESULT IDXGIFactory6_GetSharedResourceAdapterLuid(IDXGIFactory6* This,HANDLE hResource,LUID *pLuid) {
     return This->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid);
 }
-static FORCEINLINE HRESULT IDXGIFactory6_RegisterOcclusionStatusWindow(IDXGIFactory6* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory6_RegisterStereoStatusWindow(IDXGIFactory6* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory6_RegisterStereoStatusEvent(IDXGIFactory6* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie);
@@ -962,8 +965,8 @@
 static FORCEINLINE void IDXGIFactory6_UnregisterStereoStatus(IDXGIFactory6* This,DWORD dwCookie) {
     This->lpVtbl->UnregisterStereoStatus(This,dwCookie);
 }
-static FORCEINLINE HRESULT IDXGIFactory6_RegisterStereoStatusWindow(IDXGIFactory6* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory6_RegisterOcclusionStatusWindow(IDXGIFactory6* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory6_RegisterOcclusionStatusEvent(IDXGIFactory6* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie);
@@ -1123,7 +1126,7 @@
         HANDLE hResource,
         LUID *pLuid);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
         IDXGIFactory7 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -1138,7 +1141,7 @@
         IDXGIFactory7 *This,
         DWORD dwCookie);
 
-    HRESULT (STDMETHODCALLTYPE *RegisterStereoStatusWindow)(
+    HRESULT (STDMETHODCALLTYPE *RegisterOcclusionStatusWindow)(
         IDXGIFactory7 *This,
         HWND WindowHandle,
         UINT wMsg,
@@ -1233,10 +1236,10 @@
 #define IDXGIFactory7_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory7_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)
 #define IDXGIFactory7_GetSharedResourceAdapterLuid(This,hResource,pLuid) (This)->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid)
-#define IDXGIFactory7_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory7_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory7_RegisterStereoStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory7_UnregisterStereoStatus(This,dwCookie) (This)->lpVtbl->UnregisterStereoStatus(This,dwCookie)
-#define IDXGIFactory7_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)
+#define IDXGIFactory7_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)
 #define IDXGIFactory7_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) (This)->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)
 #define IDXGIFactory7_UnregisterOcclusionStatus(This,dwCookie) (This)->lpVtbl->UnregisterOcclusionStatus(This,dwCookie)
 #define IDXGIFactory7_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) (This)->lpVtbl->CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)
@@ -1312,8 +1315,8 @@
 static FORCEINLINE HRESULT IDXGIFactory7_GetSharedResourceAdapterLuid(IDXGIFactory7* This,HANDLE hResource,LUID *pLuid) {
     return This->lpVtbl->GetSharedResourceAdapterLuid(This,hResource,pLuid);
 }
-static FORCEINLINE HRESULT IDXGIFactory7_RegisterOcclusionStatusWindow(IDXGIFactory7* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory7_RegisterStereoStatusWindow(IDXGIFactory7* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory7_RegisterStereoStatusEvent(IDXGIFactory7* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterStereoStatusEvent(This,hEvent,pdwCookie);
@@ -1321,8 +1324,8 @@
 static FORCEINLINE void IDXGIFactory7_UnregisterStereoStatus(IDXGIFactory7* This,DWORD dwCookie) {
     This->lpVtbl->UnregisterStereoStatus(This,dwCookie);
 }
-static FORCEINLINE HRESULT IDXGIFactory7_RegisterStereoStatusWindow(IDXGIFactory7* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
-    return This->lpVtbl->RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie);
+static FORCEINLINE HRESULT IDXGIFactory7_RegisterOcclusionStatusWindow(IDXGIFactory7* This,HWND WindowHandle,UINT wMsg,DWORD *pdwCookie) {
+    return This->lpVtbl->RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie);
 }
 static FORCEINLINE HRESULT IDXGIFactory7_RegisterOcclusionStatusEvent(IDXGIFactory7* This,HANDLE hEvent,DWORD *pdwCookie) {
     return This->lpVtbl->RegisterOcclusionStatusEvent(This,hEvent,pdwCookie);
diff --git a/mingw-w64-headers/include/dxgi1_6.idl b/mingw-w64-headers/include/dxgi1_6.idl
index e24dd4b..5657f73 100644
--- a/mingw-w64-headers/include/dxgi1_6.idl
+++ b/mingw-w64-headers/include/dxgi1_6.idl
@@ -24,6 +24,9 @@
     DXGI_ADAPTER_FLAG3_REMOTE = 0x1,
     DXGI_ADAPTER_FLAG3_SOFTWARE = 0x2,
     DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE = 0x4,
+    DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES = 0x8,
+    DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES = 0x10,
+    DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE = 0x20,
     DXGI_ADAPTER_FLAG3_FORCE_DWORD = 0xffffffff,
 } DXGI_ADAPTER_FLAG3;
 
diff --git a/mingw-w64-headers/include/xaudio2.h b/mingw-w64-headers/include/xaudio2.h
index 132003c..1caa673 100644
--- a/mingw-w64-headers/include/xaudio2.h
+++ b/mingw-w64-headers/include/xaudio2.h
@@ -6183,20 +6183,13 @@
 
 #define XAUDIO2_QUANTUM_MS ((1000.00000000000 * XAUDIO2_QUANTUM_NUMERATOR) / XAUDIO2_QUANTUM_DENOMINATOR)
 
-#define XAUDIO2_E_INVALID_CALL (0x88960001)
-
-#define XAUDIO2_E_XMA_DECODER_ERROR (0x88960002)
-
-#define XAUDIO2_E_XAPO_CREATION_FAILED (0x88960003)
-
-#define XAUDIO2_E_DEVICE_INVALIDATED (0x88960004)
-
-#define XAUDIO20_E_XMA_DECODER_ERROR (0x88960001)
-
-#define XAUDIO20_E_XAPO_CREATION_FAILED (0x88960002)
-
-#define XAUDIO20_E_DEVICE_INVALIDATED (0x88960003)
-
+#define XAUDIO2_E_INVALID_CALL ((HRESULT)0x88960001)
+#define XAUDIO2_E_XMA_DECODER_ERROR ((HRESULT)0x88960002)
+#define XAUDIO2_E_XAPO_CREATION_FAILED ((HRESULT)0x88960003)
+#define XAUDIO2_E_DEVICE_INVALIDATED ((HRESULT)0x88960004)
+#define XAUDIO20_E_XMA_DECODER_ERROR ((HRESULT)0x88960001)
+#define XAUDIO20_E_XAPO_CREATION_FAILED ((HRESULT)0x88960002)
+#define XAUDIO20_E_DEVICE_INVALIDATED ((HRESULT)0x88960003)
 #ifdef XAUDIO2_HELPER_FUNCTIONS
 #define _USE_MATH_DEFINES
 #include <math.h>
diff --git a/mingw-w64-headers/include/xaudio2.idl b/mingw-w64-headers/include/xaudio2.idl
index 074454d..3201e86 100644
--- a/mingw-w64-headers/include/xaudio2.idl
+++ b/mingw-w64-headers/include/xaudio2.idl
@@ -1243,15 +1243,16 @@
 const UINT32 XAUDIO2_QUANTUM_DENOMINATOR = 100;
 const float XAUDIO2_QUANTUM_MS = (1000.0 * XAUDIO2_QUANTUM_NUMERATOR / XAUDIO2_QUANTUM_DENOMINATOR);
 
-const HRESULT XAUDIO2_E_INVALID_CALL = 0x88960001;
-const HRESULT XAUDIO2_E_XMA_DECODER_ERROR = 0x88960002;
-const HRESULT XAUDIO2_E_XAPO_CREATION_FAILED = 0x88960003;
-const HRESULT XAUDIO2_E_DEVICE_INVALIDATED = 0x88960004;
+/* use cpp_quote to retain the HRESULT type in header file */
+cpp_quote("#define XAUDIO2_E_INVALID_CALL ((HRESULT)0x88960001)")
+cpp_quote("#define XAUDIO2_E_XMA_DECODER_ERROR ((HRESULT)0x88960002)")
+cpp_quote("#define XAUDIO2_E_XAPO_CREATION_FAILED ((HRESULT)0x88960003)")
+cpp_quote("#define XAUDIO2_E_DEVICE_INVALIDATED ((HRESULT)0x88960004)")
 
 /* xaudio 2.0 error codes */
-const HRESULT XAUDIO20_E_XMA_DECODER_ERROR = 0x88960001;
-const HRESULT XAUDIO20_E_XAPO_CREATION_FAILED = 0x88960002;
-const HRESULT XAUDIO20_E_DEVICE_INVALIDATED = 0x88960003;
+cpp_quote("#define XAUDIO20_E_XMA_DECODER_ERROR ((HRESULT)0x88960001)")
+cpp_quote("#define XAUDIO20_E_XAPO_CREATION_FAILED ((HRESULT)0x88960002)")
+cpp_quote("#define XAUDIO20_E_DEVICE_INVALIDATED ((HRESULT)0x88960003)")
 
 cpp_quote("#ifdef XAUDIO2_HELPER_FUNCTIONS")
 cpp_quote("#define _USE_MATH_DEFINES")