diff --git a/mingw-w64-headers/include/activation.h b/mingw-w64-headers/include/activation.h
index 0474dd3..2df4e93 100644
--- a/mingw-w64-headers/include/activation.h
+++ b/mingw-w64-headers/include/activation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/activation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/activation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activaut.h b/mingw-w64-headers/include/activaut.h
index 7120110..1101824 100644
--- a/mingw-w64-headers/include/activaut.h
+++ b/mingw-w64-headers/include/activaut.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/activaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/activaut.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activdbg.h b/mingw-w64-headers/include/activdbg.h
index 5dc02f5..9d4018b 100644
--- a/mingw-w64-headers/include/activdbg.h
+++ b/mingw-w64-headers/include/activdbg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/activdbg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/activdbg.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activdbg100.h b/mingw-w64-headers/include/activdbg100.h
index 9554586..4bab3c0 100644
--- a/mingw-w64-headers/include/activdbg100.h
+++ b/mingw-w64-headers/include/activdbg100.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/activdbg100.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/activdbg100.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activprof.h b/mingw-w64-headers/include/activprof.h
index 7e06e27..3ee29b6 100644
--- a/mingw-w64-headers/include/activprof.h
+++ b/mingw-w64-headers/include/activprof.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/activprof.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/activprof.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activscp.h b/mingw-w64-headers/include/activscp.h
index b3349bd..2b9b42b 100644
--- a/mingw-w64-headers/include/activscp.h
+++ b/mingw-w64-headers/include/activscp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/activscp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/activscp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/adhoc.h b/mingw-w64-headers/include/adhoc.h
index fba000d..0baec86 100644
--- a/mingw-w64-headers/include/adhoc.h
+++ b/mingw-w64-headers/include/adhoc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/adhoc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/adhoc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/alg.h b/mingw-w64-headers/include/alg.h
index 5a2db8e..84ecbf9 100644
--- a/mingw-w64-headers/include/alg.h
+++ b/mingw-w64-headers/include/alg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/alg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/alg.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/amstream.h b/mingw-w64-headers/include/amstream.h
index b0fefab..4119262 100644
--- a/mingw-w64-headers/include/amstream.h
+++ b/mingw-w64-headers/include/amstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/amstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/amstream.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/amvideo.h b/mingw-w64-headers/include/amvideo.h
index 88d0094..73a1db3 100644
--- a/mingw-w64-headers/include/amvideo.h
+++ b/mingw-w64-headers/include/amvideo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/amvideo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/amvideo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/asyncinfo.h b/mingw-w64-headers/include/asyncinfo.h
index 232ddfc..59f6be5 100644
--- a/mingw-w64-headers/include/asyncinfo.h
+++ b/mingw-w64-headers/include/asyncinfo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/asyncinfo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/asyncinfo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/audioclient.h b/mingw-w64-headers/include/audioclient.h
index 5a4dc57..8f9bfa7 100644
--- a/mingw-w64-headers/include/audioclient.h
+++ b/mingw-w64-headers/include/audioclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/audioclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/audioclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/audioendpoints.h b/mingw-w64-headers/include/audioendpoints.h
index 544023a..ff42984 100644
--- a/mingw-w64-headers/include/audioendpoints.h
+++ b/mingw-w64-headers/include/audioendpoints.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/audioendpoints.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/audioendpoints.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/audiopolicy.h b/mingw-w64-headers/include/audiopolicy.h
index f9df0b8..d5a3796 100644
--- a/mingw-w64-headers/include/audiopolicy.h
+++ b/mingw-w64-headers/include/audiopolicy.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/audiopolicy.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/audiopolicy.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/austream.h b/mingw-w64-headers/include/austream.h
index 2faa26a..9bf4790 100644
--- a/mingw-w64-headers/include/austream.h
+++ b/mingw-w64-headers/include/austream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/austream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/austream.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bdaiface.h b/mingw-w64-headers/include/bdaiface.h
index ddd9cc0..bc24280 100644
--- a/mingw-w64-headers/include/bdaiface.h
+++ b/mingw-w64-headers/include/bdaiface.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/bdaiface.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/bdaiface.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits.h b/mingw-w64-headers/include/bits.h
index 1289d63..db8d2e6 100644
--- a/mingw-w64-headers/include/bits.h
+++ b/mingw-w64-headers/include/bits.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/bits.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/bits.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits1_5.h b/mingw-w64-headers/include/bits1_5.h
index 5de60d3..a23ce46 100644
--- a/mingw-w64-headers/include/bits1_5.h
+++ b/mingw-w64-headers/include/bits1_5.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/bits1_5.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/bits1_5.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits2_0.h b/mingw-w64-headers/include/bits2_0.h
index 16337c6..8ea6143 100644
--- a/mingw-w64-headers/include/bits2_0.h
+++ b/mingw-w64-headers/include/bits2_0.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/bits2_0.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/bits2_0.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits2_5.h b/mingw-w64-headers/include/bits2_5.h
index 652a71d..65c98af 100644
--- a/mingw-w64-headers/include/bits2_5.h
+++ b/mingw-w64-headers/include/bits2_5.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/bits2_5.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/bits2_5.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits3_0.h b/mingw-w64-headers/include/bits3_0.h
index 8ef9b3c..2f1f58e 100644
--- a/mingw-w64-headers/include/bits3_0.h
+++ b/mingw-w64-headers/include/bits3_0.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/bits3_0.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/bits3_0.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits5_0.h b/mingw-w64-headers/include/bits5_0.h
index 83dbf1a..2ef4ee1 100644
--- a/mingw-w64-headers/include/bits5_0.h
+++ b/mingw-w64-headers/include/bits5_0.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/bits5_0.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/bits5_0.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/comadmin.h b/mingw-w64-headers/include/comadmin.h
index a524648..584fe95 100644
--- a/mingw-w64-headers/include/comadmin.h
+++ b/mingw-w64-headers/include/comadmin.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/comadmin.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/comadmin.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/comcat.h b/mingw-w64-headers/include/comcat.h
index 9cefcfc..387cce7 100644
--- a/mingw-w64-headers/include/comcat.h
+++ b/mingw-w64-headers/include/comcat.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/comcat.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/comcat.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/commoncontrols.h b/mingw-w64-headers/include/commoncontrols.h
index 785f6ef..1a08339 100644
--- a/mingw-w64-headers/include/commoncontrols.h
+++ b/mingw-w64-headers/include/commoncontrols.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/commoncontrols.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/commoncontrols.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/control.h b/mingw-w64-headers/include/control.h
index d5e7599..397116b 100644
--- a/mingw-w64-headers/include/control.h
+++ b/mingw-w64-headers/include/control.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/control.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/control.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/credentialprovider.h b/mingw-w64-headers/include/credentialprovider.h
index 32e4ee1..76d12f5 100644
--- a/mingw-w64-headers/include/credentialprovider.h
+++ b/mingw-w64-headers/include/credentialprovider.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/credentialprovider.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/credentialprovider.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ctfutb.h b/mingw-w64-headers/include/ctfutb.h
index e68e58c..8461259 100644
--- a/mingw-w64-headers/include/ctfutb.h
+++ b/mingw-w64-headers/include/ctfutb.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/ctfutb.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/ctfutb.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ctxtcall.h b/mingw-w64-headers/include/ctxtcall.h
index 13a8086..0f75869 100644
--- a/mingw-w64-headers/include/ctxtcall.h
+++ b/mingw-w64-headers/include/ctxtcall.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/ctxtcall.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/ctxtcall.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10.h b/mingw-w64-headers/include/d3d10.h
index 2ced36d..bf039a4 100644
--- a/mingw-w64-headers/include/d3d10.h
+++ b/mingw-w64-headers/include/d3d10.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d10.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d10.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10_1.h b/mingw-w64-headers/include/d3d10_1.h
index e9ab73e..6675289 100644
--- a/mingw-w64-headers/include/d3d10_1.h
+++ b/mingw-w64-headers/include/d3d10_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d10_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d10_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10effect.h b/mingw-w64-headers/include/d3d10effect.h
index f65cfb0..3e4d960 100644
--- a/mingw-w64-headers/include/d3d10effect.h
+++ b/mingw-w64-headers/include/d3d10effect.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d10effect.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d10effect.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10sdklayers.h b/mingw-w64-headers/include/d3d10sdklayers.h
index e15b3bf..d891ee0 100644
--- a/mingw-w64-headers/include/d3d10sdklayers.h
+++ b/mingw-w64-headers/include/d3d10sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d10sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d10sdklayers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10shader.h b/mingw-w64-headers/include/d3d10shader.h
index d8540cf..c518793 100644
--- a/mingw-w64-headers/include/d3d10shader.h
+++ b/mingw-w64-headers/include/d3d10shader.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d10shader.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d10shader.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11.h b/mingw-w64-headers/include/d3d11.h
index 498cd9a..cf3ef77 100644
--- a/mingw-w64-headers/include/d3d11.h
+++ b/mingw-w64-headers/include/d3d11.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d11.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d11.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -1265,34 +1265,47 @@
     D3D11_FILTER_TYPE_POINT = 0,
     D3D11_FILTER_TYPE_LINEAR = 1
 } D3D11_FILTER_TYPE;
+typedef enum D3D11_FILTER_REDUCTION_TYPE {
+    D3D11_FILTER_REDUCTION_TYPE_STANDARD = 0x0,
+    D3D11_FILTER_REDUCTION_TYPE_COMPARISON = 0x1,
+    D3D11_FILTER_REDUCTION_TYPE_MINIMUM = 0x2,
+    D3D11_FILTER_REDUCTION_TYPE_MAXIMUM = 0x3
+} D3D11_FILTER_REDUCTION_TYPE;
+#define D3D11_FILTER_REDUCTION_TYPE_SHIFT (7)
+
 #define D3D11_MIN_FILTER_SHIFT (4)
 
 #define D3D11_MAG_FILTER_SHIFT (2)
 
 #define D3D11_MIP_FILTER_SHIFT (0)
 
+#define D3D11_FILTER_REDUCTION_TYPE_MASK (0x3)
+
 #define D3D11_FILTER_TYPE_MASK (0x3)
 
 #define D3D11_COMPARISON_FILTERING_BIT (0x80)
 
 #define D3D11_ANISOTROPIC_FILTERING_BIT (0x40)
 
-#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, bComparison) \
-    ((D3D11_FILTER)(((bComparison) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \
-                    (((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \
+#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, reduction_mode) \
+    ((D3D11_FILTER)((((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \
                     (((mag)&D3D11_FILTER_TYPE_MASK) << D3D11_MAG_FILTER_SHIFT) | \
-                    (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))
-#define D3D11_ENCODE_ANISOTROPIC_FILTER(bComparison) \
+                    (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT) | \
+                    (((reduction_mode)&D3D11_FILTER_REDUCTION_TYPE_MASK) << D3D11_FILTER_REDUCTION_TYPE_SHIFT)))
+#define D3D11_ENCODE_ANISOTROPIC_FILTER(reduction_mode) \
     ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | \
                     D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR,D3D11_FILTER_TYPE_LINEAR, \
-                                              D3D11_FILTER_TYPE_LINEAR,bComparison)))
+                                              D3D11_FILTER_TYPE_LINEAR,reduction_mode)))
 #define D3D11_DECODE_MIN_FILTER(d3d11Filter) \
     ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
 #define D3D11_DECODE_MAG_FILTER(d3d11Filter) \
     ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MAG_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
 #define D3D11_DECODE_MIP_FILTER(d3d11Filter) \
     ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
-#define D3D11_DECODE_IS_COMPARISON_FILTER(d3d11Filter) ((d3d11Filter) & D3D11_COMPARISON_FILTERING_BIT)
+#define D3D11_DECODE_FILTER_REDUCTION(filter) \
+    ((D3D11_FILTER_REDUCTION_TYPE)(((filter) >> D3D11_FILTER_REDUCTION_TYPE_SHIFT) & D3D11_FILTER_REDUCTION_TYPE_MASK))
+#define D3D11_DECODE_IS_COMPARISON_FILTER(filter) \
+    (D3D11_DECODE_FILTER_REDUCTION(filter) == D3D11_FILTER_REDUCTION_TYPE_COMPARISON)
 #define D3D11_DECODE_IS_ANISOTROPIC_FILTER(d3d11Filter) \
     (((d3d11Filter) & D3D11_ANISOTROPIC_FILTERING_BIT ) \
      && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER(d3d11Filter)) \
diff --git a/mingw-w64-headers/include/d3d11_1.h b/mingw-w64-headers/include/d3d11_1.h
index 313f2d0..5d33df4 100644
--- a/mingw-w64-headers/include/d3d11_1.h
+++ b/mingw-w64-headers/include/d3d11_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d11_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d11_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11_2.h b/mingw-w64-headers/include/d3d11_2.h
index 88e00cb..5c53d27 100644
--- a/mingw-w64-headers/include/d3d11_2.h
+++ b/mingw-w64-headers/include/d3d11_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d11_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d11_2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11_3.h b/mingw-w64-headers/include/d3d11_3.h
index 1de6dd0..a21e61e 100644
--- a/mingw-w64-headers/include/d3d11_3.h
+++ b/mingw-w64-headers/include/d3d11_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d11_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d11_3.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11_4.h b/mingw-w64-headers/include/d3d11_4.h
index 635f820..43ac2f7 100644
--- a/mingw-w64-headers/include/d3d11_4.h
+++ b/mingw-w64-headers/include/d3d11_4.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d11_4.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d11_4.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11on12.h b/mingw-w64-headers/include/d3d11on12.h
index d81d4a7..41ef2c1 100644
--- a/mingw-w64-headers/include/d3d11on12.h
+++ b/mingw-w64-headers/include/d3d11on12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d11on12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d11on12.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11sdklayers.h b/mingw-w64-headers/include/d3d11sdklayers.h
index 0daee91..90b4872 100644
--- a/mingw-w64-headers/include/d3d11sdklayers.h
+++ b/mingw-w64-headers/include/d3d11sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d11sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d11sdklayers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d12.h b/mingw-w64-headers/include/d3d12.h
index 9d931e9..dcf3fb8 100644
--- a/mingw-w64-headers/include/d3d12.h
+++ b/mingw-w64-headers/include/d3d12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d12.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -1266,6 +1266,16 @@
 
 #define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN (0xffffffff)
 
+#define D3D12_VIDEO_ENCODER_AV1_INVALID_DPB_RESOURCE_INDEX (0xff)
+
+#define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS (64)
+
+#define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS (64)
+
+#define D3D12_VIDEO_ENCODER_AV1_SUPERRES_DENOM_MIN (9)
+
+#define D3D12_VIDEO_ENCODER_AV1_SUPERRES_NUM (8)
+
 #define D3D12_VIDEO_PROCESS_MAX_FILTERS (32)
 
 #define D3D12_VIDEO_PROCESS_STEREO_VIEWS (2)
diff --git a/mingw-w64-headers/include/d3d12sdklayers.h b/mingw-w64-headers/include/d3d12sdklayers.h
index a33d130..cad1ad8 100644
--- a/mingw-w64-headers/include/d3d12sdklayers.h
+++ b/mingw-w64-headers/include/d3d12sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d12sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d12sdklayers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d12shader.h b/mingw-w64-headers/include/d3d12shader.h
index 1d1448a..f7f23f3 100644
--- a/mingw-w64-headers/include/d3d12shader.h
+++ b/mingw-w64-headers/include/d3d12shader.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d12shader.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d12shader.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d12video.h b/mingw-w64-headers/include/d3d12video.h
index ab81dec..9f6a7a4 100644
--- a/mingw-w64-headers/include/d3d12video.h
+++ b/mingw-w64-headers/include/d3d12video.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3d12video.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3d12video.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -213,7 +213,9 @@
     D3D12_FEATURE_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT = 42,
     D3D12_FEATURE_VIDEO_ENCODER_SUPPORT = 43,
     D3D12_FEATURE_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT = 44,
-    D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS = 45
+    D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS = 45,
+    D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG = 46,
+    D3D12_FEATURE_VIDEO_ENCODER_SUPPORT1 = 47
 } D3D12_FEATURE_VIDEO;
 typedef enum D3D12_BITSTREAM_ENCRYPTION_TYPE {
     D3D12_BITSTREAM_ENCRYPTION_TYPE_NONE = 0
@@ -2983,6 +2985,362 @@
 DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE2, 0x0c5f2aa1, 0xe541, 0x4089, 0xbb, 0x7b, 0x98, 0x11, 0x0a, 0x19, 0xd7, 0xc8);
 DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2, 0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0);
 DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420, 0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8);
+typedef enum D3D12_VIDEO_ENCODER_AV1_PROFILE {
+    D3D12_VIDEO_ENCODER_AV1_PROFILE_MAIN = 0,
+    D3D12_VIDEO_ENCODER_AV1_PROFILE_HIGH = 1,
+    D3D12_VIDEO_ENCODER_AV1_PROFILE_PROFESSIONAL = 2
+} D3D12_VIDEO_ENCODER_AV1_PROFILE;
+typedef enum D3D12_VIDEO_ENCODER_AV1_LEVELS {
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_2_0 = 0,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_2_1 = 1,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_2_2 = 2,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_2_3 = 3,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_3_0 = 4,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_3_1 = 5,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_3_2 = 6,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_3_3 = 7,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_4_0 = 8,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_4_1 = 9,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_4_2 = 10,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_4_3 = 11,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_5_0 = 12,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_5_1 = 13,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_5_2 = 14,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_5_3 = 15,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_6_0 = 16,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_6_1 = 17,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_6_2 = 18,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_6_3 = 19,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_7_0 = 20,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_7_1 = 21,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_7_2 = 22,
+    D3D12_VIDEO_ENCODER_AV1_LEVELS_7_3 = 23
+} D3D12_VIDEO_ENCODER_AV1_LEVELS;
+typedef enum D3D12_VIDEO_ENCODER_AV1_TIER {
+    D3D12_VIDEO_ENCODER_AV1_TIER_MAIN = 0,
+    D3D12_VIDEO_ENCODER_AV1_TIER_HIGH = 1
+} D3D12_VIDEO_ENCODER_AV1_TIER;
+typedef struct D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS {
+    D3D12_VIDEO_ENCODER_AV1_LEVELS Level;
+    D3D12_VIDEO_ENCODER_AV1_TIER Tier;
+} D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS;
+typedef enum D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_NONE = 0x0,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_128x128_SUPERBLOCK = 0x1,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FILTER_INTRA = 0x2,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_EDGE_FILTER = 0x4,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTERINTRA_COMPOUND = 0x8,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MASKED_COMPOUND = 0x10,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_WARPED_MOTION = 0x20,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DUAL_FILTER = 0x40,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_JNT_COMP = 0x80,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FORCED_INTEGER_MOTION_VECTORS = 0x100,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SUPER_RESOLUTION = 0x200,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_RESTORATION_FILTER = 0x400,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_PALETTE_ENCODING = 0x800,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CDEF_FILTERING = 0x1000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_BLOCK_COPY = 0x2000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x4000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ORDER_HINT_TOOLS = 0x8000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_AUTO_SEGMENTATION = 0x10000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CUSTOM_SEGMENTATION = 0x20000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_FILTER_DELTAS = 0x40000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_DELTAS = 0x80000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_MATRIX = 0x100000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_REDUCED_TX_SET = 0x200000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MOTION_MODE_SWITCHABLE = 0x400000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ALLOW_HIGH_PRECISION_MV = 0x800000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SKIP_MODE_PRESENT = 0x1000000,
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DELTA_LF_PARAMS = 0x2000000
+} D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS)
+typedef enum D3D12_VIDEO_ENCODER_AV1_TX_MODE {
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4 = 0,
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST = 1,
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT = 2
+} D3D12_VIDEO_ENCODER_AV1_TX_MODE;
+typedef enum D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_NONE = 0x0,
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_ONLY4x4 = 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4,
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_LARGEST = 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST,
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_SELECT = 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT
+} D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS)
+typedef enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS {
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP = 0,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH = 1,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP = 2,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR = 3,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE = 4
+} D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS;
+typedef enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_NONE = 0x0,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP = 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SMOOTH = 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SHARP = 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_BILINEAR = 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR,
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_SWITCHABLE = 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE
+} D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS)
+typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE {
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_4x4 = 0,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_8x8 = 1,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_16x16 = 2,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_32x32 = 3,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_64x64 = 4
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE;
+typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE {
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED = 0,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q = 1,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V = 2,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H = 3,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U = 4,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V = 5,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME = 6,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP = 7,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV = 8
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE;
+typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_NONE = 0,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_DISABLED = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_Q = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_V = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_H = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_U = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_V = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_REF_FRAME = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_SKIP = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP,
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_GLOBALMV = 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS)
+typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE {
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED = 0,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SWITCHABLE = 1,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_WIENER = 2,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SGRPROJ = 3
+} D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE;
+typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE {
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_DISABLED = 0,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_32x32 = 1,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_64x64 = 2,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_128x128 = 3,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_256x256 = 4
+} D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE;
+typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED = 0x0,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_32x32 = 0x1,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_64x64 = 0x2,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_128x128 = 0x4,
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_256x256 = 0x8
+} D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS)
+typedef enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION {
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY = 0,
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION = 1,
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM = 2,
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE = 3
+} D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION;
+typedef enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_NONE = 0,
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_IDENTITY = 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY,
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_TRANSLATION = 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION,
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_ROTZOOM = 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM,
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_AFFINE = 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE
+} D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS)
+typedef enum D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_NONE = 0,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION = 0x1,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION_DELTA = 0x2,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER = 0x4,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER_DELTA = 0x8,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CDEF_DATA = 0x10,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CONTEXT_UPDATE_TILE_ID = 0x20,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_COMPOUND_PREDICTION_MODE = 0x40,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_PRIMARY_REF_FRAME = 0x80,
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_REFERENCE_INDICES = 0x100
+} D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS)
+typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT {
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS SupportedFeatureFlags;
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS RequiredFeatureFlags;
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS SupportedInterpolationFilters;
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS SupportedRestorationParams[3][3];
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS SupportedSegmentationModes;
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS SupportedTxModes[4];
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE SegmentationBlockSize;
+    D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS PostEncodeValuesFlags;
+    UINT MaxTemporalLayers;
+    UINT MaxSpatialLayers;
+} D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT;
+typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE {
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME = 0,
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME = 1,
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME = 2,
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME = 3
+} D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE;
+typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_NONE = 0x0,
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_KEY_FRAME = 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME,
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTER_FRAME = 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME,
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTRA_ONLY_FRAME = 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME,
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_SWITCH_FRAME = 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME
+} D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS)
+typedef enum D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE {
+    D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_SINGLE_REFERENCE = 0,
+    D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_REFERENCE = 1
+} D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE;
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT {
+    D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE PredictionMode;
+    UINT MaxUniqueReferencesPerFrame;
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS SupportedFrameTypes;
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS SupportedReferenceWarpedMotionFlags;
+} D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT;
+typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION {
+    D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS FeatureFlags;
+    UINT OrderHintBitsMinus1;
+} D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION;
+typedef struct D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE {
+    UINT IntraDistance;
+    UINT InterFramePeriod;
+} D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE;
+typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO {
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION TransformationType;
+    INT TransformationMatrix[8];
+    WINBOOL InvalidAffineSet;
+} D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO;
+typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR {
+    UINT ReconstructedPictureResourceIndex;
+    UINT TemporalLayerIndexPlus1;
+    UINT SpatialLayerIndexPlus1;
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType;
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO WarpedMotionInfo;
+    UINT OrderHint;
+    UINT PictureIndex;
+} D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR;
+typedef enum D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS {
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_NONE = 0x0,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_ERROR_RESILIENT_MODE = 0x1,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_CDF_UPDATE = 0x2,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_PALETTE_ENCODING = 0x4,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_SKIP_MODE = 0x8,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x10,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FORCE_INTEGER_MOTION_VECTORS = 0x20,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_INTRA_BLOCK_COPY = 0x40,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_USE_SUPER_RESOLUTION = 0x80,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_FRAME_END_UPDATE_CDF = 0x100,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO = 0x200,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM = 0x400,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_WARPED_MOTION = 0x800,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_REDUCED_TX_SET = 0x1000,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_MOTION_MODE_SWITCHABLE = 0x2000,
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_HIGH_PRECISION_MV = 0x4000
+} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS)
+typedef struct D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG {
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE FrameRestorationType[3];
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE LoopRestorationPixelSize[3];
+} D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG;
+typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA {
+    UINT64 EnabledFeatures;
+    INT64 FeatureValue[8];
+} D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA;
+typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG {
+    UINT64 UpdateMap;
+    UINT64 TemporalUpdate;
+    UINT64 UpdateData;
+    UINT64 NumSegments;
+    D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA SegmentsData[8];
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG;
+typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP {
+    UINT SegmentsMapByteSize;
+    UINT8 *pSegmentsMap;
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP;
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG {
+    UINT64 LoopFilterLevel[2];
+    UINT64 LoopFilterLevelU;
+    UINT64 LoopFilterLevelV;
+    UINT64 LoopFilterSharpnessLevel;
+    UINT64 LoopFilterDeltaEnabled;
+    UINT64 UpdateRefDelta;
+    INT64 RefDeltas[8];
+    UINT64 UpdateModeDelta;
+    INT64 ModeDeltas[2];
+} D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG;
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG {
+    UINT64 DeltaLFPresent;
+    UINT64 DeltaLFMulti;
+    UINT64 DeltaLFRes;
+} D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG;
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG {
+    UINT64 BaseQIndex;
+    INT64 YDCDeltaQ;
+    INT64 UDCDeltaQ;
+    INT64 UACDeltaQ;
+    INT64 VDCDeltaQ;
+    INT64 VACDeltaQ;
+    UINT64 UsingQMatrix;
+    UINT64 QMY;
+    UINT64 QMU;
+    UINT64 QMV;
+} D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG;
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG {
+    UINT64 DeltaQPresent;
+    UINT64 DeltaQRes;
+} D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG;
+typedef struct D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG {
+    UINT64 CdefBits;
+    UINT64 CdefDampingMinus3;
+    UINT64 CdefYPriStrength[8];
+    UINT64 CdefUVPriStrength[8];
+    UINT64 CdefYSecStrength[8];
+    UINT64 CdefUVSecStrength[8];
+} D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG;
+typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA {
+    D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS Flags;
+    D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType;
+    D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE CompoundPredictionType;
+    D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS InterpolationFilter;
+    D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG FrameRestorationConfig;
+    D3D12_VIDEO_ENCODER_AV1_TX_MODE TxMode;
+    UINT SuperResDenominator;
+    UINT OrderHint;
+    UINT PictureIndex;
+    UINT TemporalLayerIndexPlus1;
+    UINT SpatialLayerIndexPlus1;
+    D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR ReferenceFramesReconPictureDescriptors[8];
+    UINT ReferenceIndices[7];
+    UINT PrimaryRefFrame;
+    UINT RefreshFrameFlags;
+    D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter;
+    D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta;
+    D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization;
+    D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta;
+    D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF;
+    UINT QPMapValuesCount;
+    INT16 *pRateControlQPMap;
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG CustomSegmentation;
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP CustomSegmentsMap;
+} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA;
+typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES {
+    UINT64 RowCount;
+    UINT64 ColCount;
+    UINT64 RowHeights[64];
+    UINT64 ColWidths[64];
+    UINT64 ContextUpdateTileId;
+} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES;
+typedef struct D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES {
+    UINT64 CompoundPredictionType;
+    D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter;
+    D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta;
+    D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization;
+    D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta;
+    D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF;
+    D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG SegmentationConfig;
+    UINT64 PrimaryRefFrame;
+    UINT64 ReferenceIndices[7];
+} D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES;
 typedef enum D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE {
     D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP = 0,
     D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP = 1,
@@ -3050,7 +3408,8 @@
 } D3D12_VIDEO_ENCODER_RATE_CONTROL;
 typedef enum D3D12_VIDEO_ENCODER_CODEC {
     D3D12_VIDEO_ENCODER_CODEC_H264 = 0,
-    D3D12_VIDEO_ENCODER_CODEC_HEVC = 1
+    D3D12_VIDEO_ENCODER_CODEC_HEVC = 1,
+    D3D12_VIDEO_ENCODER_CODEC_AV1 = 2
 } D3D12_VIDEO_ENCODER_CODEC;
 typedef enum D3D12_VIDEO_ENCODER_PROFILE_H264 {
     D3D12_VIDEO_ENCODER_PROFILE_H264_MAIN = 0,
@@ -3066,6 +3425,7 @@
     __C89_NAMELESS union {
         D3D12_VIDEO_ENCODER_PROFILE_H264 *pH264Profile;
         D3D12_VIDEO_ENCODER_PROFILE_HEVC *pHEVCProfile;
+        D3D12_VIDEO_ENCODER_AV1_PROFILE *pAV1Profile;
     } __C89_NAMELESSUNIONNAME;
 } D3D12_VIDEO_ENCODER_PROFILE_DESC;
 typedef enum D3D12_VIDEO_ENCODER_LEVELS_H264 {
@@ -3118,6 +3478,7 @@
     __C89_NAMELESS union {
         D3D12_VIDEO_ENCODER_LEVELS_H264 *pH264LevelSetting;
         D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC *pHEVCLevelSetting;
+        D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS *pAV1LevelSetting;
     } __C89_NAMELESSUNIONNAME;
 } D3D12_VIDEO_ENCODER_LEVEL_SETTING;
 typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC {
@@ -3134,6 +3495,14 @@
     D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_NONE = 0,
     D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_ROW_BASED = 1
 } D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE;
+typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE {
+    UINT NodeIndex;
+    D3D12_VIDEO_ENCODER_CODEC Codec;
+    D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
+    D3D12_VIDEO_ENCODER_LEVEL_SETTING Level;
+    D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefreshMode;
+    WINBOOL IsSupported;
+} D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE;
 typedef enum D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE {
     D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME = 0,
     D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_BYTES_PER_SUBREGION = 1,
@@ -3223,11 +3592,36 @@
     UCHAR max_transform_hierarchy_depth_inter;
     UCHAR max_transform_hierarchy_depth_intra;
 } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC;
+typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 {
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_NONE = 0x0,
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_SUPPORT = 0x1,
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_REQUIRED = 0x2
+} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1;
+DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1)
+typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 {
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags;
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize;
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize;
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize;
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize;
+    UCHAR max_transform_hierarchy_depth_inter;
+    UCHAR max_transform_hierarchy_depth_intra;
+    UINT allowed_diff_cu_chroma_qp_offset_depth_values;
+    UINT allowed_log2_sao_offset_scale_luma_values;
+    UINT allowed_log2_sao_offset_scale_chroma_values;
+    UINT allowed_log2_max_transform_skip_block_size_minus2_values;
+    UINT allowed_chroma_qp_offset_list_len_minus1_values;
+    UINT allowed_cb_qp_offset_list_values[6];
+    UINT allowed_cr_qp_offset_list_values[6];
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 SupportFlags1;
+} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1;
 typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT {
     UINT DataSize;
     __C89_NAMELESS union {
         D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 *pH264Support;
         D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC *pHEVCSupport;
+        D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 *pHEVCSupport1;
+        D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT *pAV1Support;
     } __C89_NAMELESSUNIONNAME;
 } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT;
 typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT {
@@ -3256,6 +3650,7 @@
     __C89_NAMELESS union {
         D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 *pH264Support;
         D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC *pHEVCSupport;
+        D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT *pAV1Support;
     } __C89_NAMELESSUNIONNAME;
 } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;
 typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT {
@@ -3325,6 +3720,7 @@
     __C89_NAMELESS union {
         D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 *pH264Config;
         D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC *pHEVCConfig;
+        D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION *pAV1Config;
     } __C89_NAMELESSUNIONNAME;
 } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION;
 typedef struct D3D12_VIDEO_ENCODER_INTRA_REFRESH {
@@ -3373,6 +3769,7 @@
     __C89_NAMELESS union {
         D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 *pH264GroupOfPictures;
         D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC *pHEVCGroupOfPictures;
+        D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE *pAV1SequenceStructure;
     } __C89_NAMELESSUNIONNAME;
 } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE;
 typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT {
@@ -4123,11 +4520,39 @@
     UINT QPMapValuesCount;
     INT8 *pRateControlQPMap;
 } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC;
+typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 {
+    D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags;
+    D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType;
+    UINT slice_pic_parameter_set_id;
+    UINT PictureOrderCountNumber;
+    UINT TemporalLayerIndex;
+    UINT List0ReferenceFramesCount;
+    UINT *pList0ReferenceFrames;
+    UINT List1ReferenceFramesCount;
+    UINT *pList1ReferenceFrames;
+    UINT ReferenceFramesReconPictureDescriptorsCount;
+    D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC *pReferenceFramesReconPictureDescriptors;
+    UINT List0RefPicModificationsCount;
+    UINT *pList0RefPicModifications;
+    UINT List1RefPicModificationsCount;
+    UINT *pList1RefPicModifications;
+    UINT QPMapValuesCount;
+    INT8 *pRateControlQPMap;
+    UCHAR diff_cu_chroma_qp_offset_depth;
+    UCHAR log2_sao_offset_scale_luma;
+    UCHAR log2_sao_offset_scale_chroma;
+    UCHAR log2_max_transform_skip_block_size_minus2;
+    UCHAR chroma_qp_offset_list_len_minus1;
+    CHAR cb_qp_offset_list[6];
+    CHAR cr_qp_offset_list[6];
+} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1;
 typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA {
     UINT DataSize;
     __C89_NAMELESS union {
         D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 *pH264PicData;
         D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC *pHEVCPicData;
+        D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 *pHEVCPicData1;
+        D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA *pAV1PicData;
     } __C89_NAMELESSUNIONNAME;
 } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA;
 typedef struct D3D12_VIDEO_ENCODE_REFERENCE_FRAMES {
@@ -4168,8 +4593,29 @@
     __C89_NAMELESS union {
         const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *pSlicesPartition_H264;
         const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *pSlicesPartition_HEVC;
+        const D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES *pTilesPartition_AV1;
     } __C89_NAMELESSUNIONNAME;
 } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA;
+typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1 {
+    UINT NodeIndex;
+    D3D12_VIDEO_ENCODER_CODEC Codec;
+    DXGI_FORMAT InputFormat;
+    D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
+    D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
+    D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
+    D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh;
+    D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding;
+    UINT ResolutionsListCount;
+    const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList;
+    UINT MaxReferenceFramesInDPB;
+    D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags;
+    D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags;
+    D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile;
+    D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel;
+    D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS *pResolutionDependentSupport;
+    D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData;
+    UINT MaxQualityVsSpeed;
+} D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1;
 typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC {
     D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS Flags;
     D3D12_VIDEO_ENCODER_INTRA_REFRESH IntraRefreshConfig;
diff --git a/mingw-w64-headers/include/d3dcommon.h b/mingw-w64-headers/include/d3dcommon.h
index 031ded1..41e47b9 100644
--- a/mingw-w64-headers/include/d3dcommon.h
+++ b/mingw-w64-headers/include/d3dcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/d3dcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/d3dcommon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dbgprop.h b/mingw-w64-headers/include/dbgprop.h
index e6e63d8..c8e54b3 100644
--- a/mingw-w64-headers/include/dbgprop.h
+++ b/mingw-w64-headers/include/dbgprop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dbgprop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dbgprop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dcommon.h b/mingw-w64-headers/include/dcommon.h
index 125258c..9bab218 100644
--- a/mingw-w64-headers/include/dcommon.h
+++ b/mingw-w64-headers/include/dcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dcommon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dcompanimation.h b/mingw-w64-headers/include/dcompanimation.h
index db15d62..a6f9308 100644
--- a/mingw-w64-headers/include/dcompanimation.h
+++ b/mingw-w64-headers/include/dcompanimation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dcompanimation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dcompanimation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ddstream.h b/mingw-w64-headers/include/ddstream.h
index d717f93..274792a 100644
--- a/mingw-w64-headers/include/ddstream.h
+++ b/mingw-w64-headers/include/ddstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/ddstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/ddstream.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/devicetopology.h b/mingw-w64-headers/include/devicetopology.h
index 916ff34..f21a4af 100644
--- a/mingw-w64-headers/include/devicetopology.h
+++ b/mingw-w64-headers/include/devicetopology.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/devicetopology.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/devicetopology.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dimm.h b/mingw-w64-headers/include/dimm.h
index ea9a32c..728742c 100644
--- a/mingw-w64-headers/include/dimm.h
+++ b/mingw-w64-headers/include/dimm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dimm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dimm.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dinputd.h b/mingw-w64-headers/include/dinputd.h
index 53597e5..5f9af52 100644
--- a/mingw-w64-headers/include/dinputd.h
+++ b/mingw-w64-headers/include/dinputd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dinputd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dinputd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/directmanipulation.h b/mingw-w64-headers/include/directmanipulation.h
index 5c900d6..143b03d 100644
--- a/mingw-w64-headers/include/directmanipulation.h
+++ b/mingw-w64-headers/include/directmanipulation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/directmanipulation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/directmanipulation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dispex.h b/mingw-w64-headers/include/dispex.h
index f483532..a0fa985 100644
--- a/mingw-w64-headers/include/dispex.h
+++ b/mingw-w64-headers/include/dispex.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dispex.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dispex.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dmodshow.h b/mingw-w64-headers/include/dmodshow.h
index e900284..28c08f6 100644
--- a/mingw-w64-headers/include/dmodshow.h
+++ b/mingw-w64-headers/include/dmodshow.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dmodshow.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dmodshow.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/docobj.h b/mingw-w64-headers/include/docobj.h
index aeae0bc..b3fc380 100644
--- a/mingw-w64-headers/include/docobj.h
+++ b/mingw-w64-headers/include/docobj.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/docobj.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/docobj.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/docobjectservice.h b/mingw-w64-headers/include/docobjectservice.h
index 6157976..cf871ed 100644
--- a/mingw-w64-headers/include/docobjectservice.h
+++ b/mingw-w64-headers/include/docobjectservice.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/docobjectservice.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/docobjectservice.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/documenttarget.h b/mingw-w64-headers/include/documenttarget.h
index 4f3a4ee..ad1d03d 100644
--- a/mingw-w64-headers/include/documenttarget.h
+++ b/mingw-w64-headers/include/documenttarget.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/documenttarget.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/documenttarget.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/downloadmgr.h b/mingw-w64-headers/include/downloadmgr.h
index 23dfb1c..4266d8c 100644
--- a/mingw-w64-headers/include/downloadmgr.h
+++ b/mingw-w64-headers/include/downloadmgr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/downloadmgr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/downloadmgr.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/drmexternals.h b/mingw-w64-headers/include/drmexternals.h
index 45eff8e..a549254 100644
--- a/mingw-w64-headers/include/drmexternals.h
+++ b/mingw-w64-headers/include/drmexternals.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/drmexternals.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/drmexternals.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dvdif.h b/mingw-w64-headers/include/dvdif.h
index 431bb7f..8919bcd 100644
--- a/mingw-w64-headers/include/dvdif.h
+++ b/mingw-w64-headers/include/dvdif.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dvdif.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dvdif.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dwrite.h b/mingw-w64-headers/include/dwrite.h
index b3564d6..ba34d3e 100644
--- a/mingw-w64-headers/include/dwrite.h
+++ b/mingw-w64-headers/include/dwrite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dwrite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dwrite.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dwrite_1.h b/mingw-w64-headers/include/dwrite_1.h
index 25f0aa8..3dbc8c5 100644
--- a/mingw-w64-headers/include/dwrite_1.h
+++ b/mingw-w64-headers/include/dwrite_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dwrite_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dwrite_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dwrite_2.h b/mingw-w64-headers/include/dwrite_2.h
index 6272dda..45bbcf8 100644
--- a/mingw-w64-headers/include/dwrite_2.h
+++ b/mingw-w64-headers/include/dwrite_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dwrite_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dwrite_2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dwrite_3.h b/mingw-w64-headers/include/dwrite_3.h
index 1284430..f621ed4 100644
--- a/mingw-w64-headers/include/dwrite_3.h
+++ b/mingw-w64-headers/include/dwrite_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dwrite_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dwrite_3.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi.h b/mingw-w64-headers/include/dxgi.h
index 478ed9b..d56b28e 100644
--- a/mingw-w64-headers/include/dxgi.h
+++ b/mingw-w64-headers/include/dxgi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_2.h b/mingw-w64-headers/include/dxgi1_2.h
index b069296..00c7a76 100644
--- a/mingw-w64-headers/include/dxgi1_2.h
+++ b/mingw-w64-headers/include/dxgi1_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgi1_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgi1_2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_3.h b/mingw-w64-headers/include/dxgi1_3.h
index 8abd602..d67dacc 100644
--- a/mingw-w64-headers/include/dxgi1_3.h
+++ b/mingw-w64-headers/include/dxgi1_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgi1_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgi1_3.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_4.h b/mingw-w64-headers/include/dxgi1_4.h
index 11a320b..6675ad2 100644
--- a/mingw-w64-headers/include/dxgi1_4.h
+++ b/mingw-w64-headers/include/dxgi1_4.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgi1_4.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgi1_4.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_5.h b/mingw-w64-headers/include/dxgi1_5.h
index 58931d0..ac04287 100644
--- a/mingw-w64-headers/include/dxgi1_5.h
+++ b/mingw-w64-headers/include/dxgi1_5.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgi1_5.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgi1_5.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_6.h b/mingw-w64-headers/include/dxgi1_6.h
index 04dd73b..2d5a044 100644
--- a/mingw-w64-headers/include/dxgi1_6.h
+++ b/mingw-w64-headers/include/dxgi1_6.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgi1_6.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgi1_6.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgicommon.h b/mingw-w64-headers/include/dxgicommon.h
index cc8e93b..0c69d28 100644
--- a/mingw-w64-headers/include/dxgicommon.h
+++ b/mingw-w64-headers/include/dxgicommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgicommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgicommon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgidebug.h b/mingw-w64-headers/include/dxgidebug.h
index 5d0d9f3..9907503 100644
--- a/mingw-w64-headers/include/dxgidebug.h
+++ b/mingw-w64-headers/include/dxgidebug.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgidebug.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgidebug.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgiformat.h b/mingw-w64-headers/include/dxgiformat.h
index b35b60f..7b8041e 100644
--- a/mingw-w64-headers/include/dxgiformat.h
+++ b/mingw-w64-headers/include/dxgiformat.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgiformat.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgiformat.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgitype.h b/mingw-w64-headers/include/dxgitype.h
index ed4f1cc..592ef77 100644
--- a/mingw-w64-headers/include/dxgitype.h
+++ b/mingw-w64-headers/include/dxgitype.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxgitype.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxgitype.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxva2api.h b/mingw-w64-headers/include/dxva2api.h
index 4d4fc3c..d4ef521 100644
--- a/mingw-w64-headers/include/dxva2api.h
+++ b/mingw-w64-headers/include/dxva2api.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxva2api.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxva2api.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxvahd.h b/mingw-w64-headers/include/dxvahd.h
index e5749c3..1b65af0 100644
--- a/mingw-w64-headers/include/dxvahd.h
+++ b/mingw-w64-headers/include/dxvahd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/dxvahd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/dxvahd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/endpointvolume.h b/mingw-w64-headers/include/endpointvolume.h
index 8030c2f..e29495a 100644
--- a/mingw-w64-headers/include/endpointvolume.h
+++ b/mingw-w64-headers/include/endpointvolume.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/endpointvolume.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/endpointvolume.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/eventtoken.h b/mingw-w64-headers/include/eventtoken.h
index 472a161..930dbe7 100644
--- a/mingw-w64-headers/include/eventtoken.h
+++ b/mingw-w64-headers/include/eventtoken.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/eventtoken.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/eventtoken.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/evr.h b/mingw-w64-headers/include/evr.h
index 5146d0f..f44dc1c 100644
--- a/mingw-w64-headers/include/evr.h
+++ b/mingw-w64-headers/include/evr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/evr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/evr.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/evr9.h b/mingw-w64-headers/include/evr9.h
index a19e14b..4f7adb9 100644
--- a/mingw-w64-headers/include/evr9.h
+++ b/mingw-w64-headers/include/evr9.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/evr9.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/evr9.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/exdisp.h b/mingw-w64-headers/include/exdisp.h
index 5a2a263..86b5b1f 100644
--- a/mingw-w64-headers/include/exdisp.h
+++ b/mingw-w64-headers/include/exdisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/exdisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/exdisp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/filter.h b/mingw-w64-headers/include/filter.h
index eb538c1..ff0bb6b 100644
--- a/mingw-w64-headers/include/filter.h
+++ b/mingw-w64-headers/include/filter.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/filter.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/filter.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrm.h b/mingw-w64-headers/include/fsrm.h
index 9f41764..0e7dc1b 100644
--- a/mingw-w64-headers/include/fsrm.h
+++ b/mingw-w64-headers/include/fsrm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/fsrm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/fsrm.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrmenums.h b/mingw-w64-headers/include/fsrmenums.h
index 70160d3..5329a1b 100644
--- a/mingw-w64-headers/include/fsrmenums.h
+++ b/mingw-w64-headers/include/fsrmenums.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/fsrmenums.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/fsrmenums.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrmquota.h b/mingw-w64-headers/include/fsrmquota.h
index 74c5ef2..3bd576a 100644
--- a/mingw-w64-headers/include/fsrmquota.h
+++ b/mingw-w64-headers/include/fsrmquota.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/fsrmquota.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/fsrmquota.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrmreports.h b/mingw-w64-headers/include/fsrmreports.h
index 5777522..6ea6ef5 100644
--- a/mingw-w64-headers/include/fsrmreports.h
+++ b/mingw-w64-headers/include/fsrmreports.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/fsrmreports.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/fsrmreports.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrmscreen.h b/mingw-w64-headers/include/fsrmscreen.h
index ab448a7..ca3dfea 100644
--- a/mingw-w64-headers/include/fsrmscreen.h
+++ b/mingw-w64-headers/include/fsrmscreen.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/fsrmscreen.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/fsrmscreen.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fusion.h b/mingw-w64-headers/include/fusion.h
index bc0ebbb..513562c 100644
--- a/mingw-w64-headers/include/fusion.h
+++ b/mingw-w64-headers/include/fusion.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/fusion.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/fusion.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fwptypes.h b/mingw-w64-headers/include/fwptypes.h
index 35afe2d..c40470b 100644
--- a/mingw-w64-headers/include/fwptypes.h
+++ b/mingw-w64-headers/include/fwptypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/fwptypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/fwptypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/hstring.h b/mingw-w64-headers/include/hstring.h
index e211f77..8fce1e3 100644
--- a/mingw-w64-headers/include/hstring.h
+++ b/mingw-w64-headers/include/hstring.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/hstring.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/hstring.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/httprequest.h b/mingw-w64-headers/include/httprequest.h
index c8759e3..cd98205 100644
--- a/mingw-w64-headers/include/httprequest.h
+++ b/mingw-w64-headers/include/httprequest.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/httprequest.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/httprequest.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/icftypes.h b/mingw-w64-headers/include/icftypes.h
index 53b384c..d2a5ac2 100644
--- a/mingw-w64-headers/include/icftypes.h
+++ b/mingw-w64-headers/include/icftypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/icftypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/icftypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/icodecapi.h b/mingw-w64-headers/include/icodecapi.h
index ca91d42..0777840 100644
--- a/mingw-w64-headers/include/icodecapi.h
+++ b/mingw-w64-headers/include/icodecapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/icodecapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/icodecapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/iketypes.h b/mingw-w64-headers/include/iketypes.h
index 854172f..ec6ea16 100644
--- a/mingw-w64-headers/include/iketypes.h
+++ b/mingw-w64-headers/include/iketypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/iketypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/iketypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/inputpaneinterop.h b/mingw-w64-headers/include/inputpaneinterop.h
index 1cbcd6f..007642e 100644
--- a/mingw-w64-headers/include/inputpaneinterop.h
+++ b/mingw-w64-headers/include/inputpaneinterop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/inputpaneinterop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/inputpaneinterop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/inputscope.h b/mingw-w64-headers/include/inputscope.h
index c47b4c3..c5508ff 100644
--- a/mingw-w64-headers/include/inputscope.h
+++ b/mingw-w64-headers/include/inputscope.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/inputscope.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/inputscope.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/inspectable.h b/mingw-w64-headers/include/inspectable.h
index 0cec890..a3b55b5 100644
--- a/mingw-w64-headers/include/inspectable.h
+++ b/mingw-w64-headers/include/inspectable.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/inspectable.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/inspectable.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ivectorchangedeventargs.h b/mingw-w64-headers/include/ivectorchangedeventargs.h
index 732e77a..20ecb46 100644
--- a/mingw-w64-headers/include/ivectorchangedeventargs.h
+++ b/mingw-w64-headers/include/ivectorchangedeventargs.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/ivectorchangedeventargs.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/ivectorchangedeventargs.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/iwscapi.h b/mingw-w64-headers/include/iwscapi.h
index d4dc872..e4ff0f4 100644
--- a/mingw-w64-headers/include/iwscapi.h
+++ b/mingw-w64-headers/include/iwscapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/iwscapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/iwscapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/locationapi.h b/mingw-w64-headers/include/locationapi.h
index 7920870..744ac61 100644
--- a/mingw-w64-headers/include/locationapi.h
+++ b/mingw-w64-headers/include/locationapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/locationapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/locationapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mediaobj.h b/mingw-w64-headers/include/mediaobj.h
index a69a410..44b5935 100644
--- a/mingw-w64-headers/include/mediaobj.h
+++ b/mingw-w64-headers/include/mediaobj.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mediaobj.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mediaobj.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/medparam.h b/mingw-w64-headers/include/medparam.h
index e6edbfa..5c487a8 100644
--- a/mingw-w64-headers/include/medparam.h
+++ b/mingw-w64-headers/include/medparam.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/medparam.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/medparam.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfcaptureengine.h b/mingw-w64-headers/include/mfcaptureengine.h
index 9a39b01..7a026a0 100644
--- a/mingw-w64-headers/include/mfcaptureengine.h
+++ b/mingw-w64-headers/include/mfcaptureengine.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mfcaptureengine.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mfcaptureengine.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfd3d12.h b/mingw-w64-headers/include/mfd3d12.h
index 18dd1be..bac2f4c 100644
--- a/mingw-w64-headers/include/mfd3d12.h
+++ b/mingw-w64-headers/include/mfd3d12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mfd3d12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mfd3d12.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfidl.h b/mingw-w64-headers/include/mfidl.h
index 5e9c9f2..2af946d 100644
--- a/mingw-w64-headers/include/mfidl.h
+++ b/mingw-w64-headers/include/mfidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mfidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mfidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfmediacapture.h b/mingw-w64-headers/include/mfmediacapture.h
index a9180a6..c3e5ba9 100644
--- a/mingw-w64-headers/include/mfmediacapture.h
+++ b/mingw-w64-headers/include/mfmediacapture.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mfmediacapture.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mfmediacapture.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfmediaengine.h b/mingw-w64-headers/include/mfmediaengine.h
index 1452561..065308b 100644
--- a/mingw-w64-headers/include/mfmediaengine.h
+++ b/mingw-w64-headers/include/mfmediaengine.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mfmediaengine.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mfmediaengine.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfobjects.h b/mingw-w64-headers/include/mfobjects.h
index accc0b5..b5af40f 100644
--- a/mingw-w64-headers/include/mfobjects.h
+++ b/mingw-w64-headers/include/mfobjects.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mfobjects.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mfobjects.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfplay.h b/mingw-w64-headers/include/mfplay.h
index 440a3c3..534af38 100644
--- a/mingw-w64-headers/include/mfplay.h
+++ b/mingw-w64-headers/include/mfplay.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mfplay.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mfplay.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfreadwrite.h b/mingw-w64-headers/include/mfreadwrite.h
index 2fcf77c..762195f 100644
--- a/mingw-w64-headers/include/mfreadwrite.h
+++ b/mingw-w64-headers/include/mfreadwrite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mfreadwrite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mfreadwrite.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mftransform.h b/mingw-w64-headers/include/mftransform.h
index da3bb37..8568b25 100644
--- a/mingw-w64-headers/include/mftransform.h
+++ b/mingw-w64-headers/include/mftransform.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mftransform.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mftransform.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mmdeviceapi.h b/mingw-w64-headers/include/mmdeviceapi.h
index 68dd08b..2c14828 100644
--- a/mingw-w64-headers/include/mmdeviceapi.h
+++ b/mingw-w64-headers/include/mmdeviceapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mmdeviceapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mmdeviceapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mmstream.h b/mingw-w64-headers/include/mmstream.h
index ba80c0f..2c71e86 100644
--- a/mingw-w64-headers/include/mmstream.h
+++ b/mingw-w64-headers/include/mmstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mmstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mmstream.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mpeg2data.h b/mingw-w64-headers/include/mpeg2data.h
index 571e06c..9227e71 100644
--- a/mingw-w64-headers/include/mpeg2data.h
+++ b/mingw-w64-headers/include/mpeg2data.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mpeg2data.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mpeg2data.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mpeg2structs.h b/mingw-w64-headers/include/mpeg2structs.h
index 8a830f2..a465ba0 100644
--- a/mingw-w64-headers/include/mpeg2structs.h
+++ b/mingw-w64-headers/include/mpeg2structs.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mpeg2structs.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mpeg2structs.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mscoree.h b/mingw-w64-headers/include/mscoree.h
index c19fd11..d0356d9 100644
--- a/mingw-w64-headers/include/mscoree.h
+++ b/mingw-w64-headers/include/mscoree.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mscoree.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mscoree.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msctf.h b/mingw-w64-headers/include/msctf.h
index c0d39ba..04c2126 100644
--- a/mingw-w64-headers/include/msctf.h
+++ b/mingw-w64-headers/include/msctf.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/msctf.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/msctf.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mshtmhst.h b/mingw-w64-headers/include/mshtmhst.h
index 8028595..976663c 100644
--- a/mingw-w64-headers/include/mshtmhst.h
+++ b/mingw-w64-headers/include/mshtmhst.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mshtmhst.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mshtmhst.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mshtml.h b/mingw-w64-headers/include/mshtml.h
index 9199309..d46692a 100644
--- a/mingw-w64-headers/include/mshtml.h
+++ b/mingw-w64-headers/include/mshtml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/mshtml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/mshtml.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msinkaut.h b/mingw-w64-headers/include/msinkaut.h
index cd44ad0..64e7087 100644
--- a/mingw-w64-headers/include/msinkaut.h
+++ b/mingw-w64-headers/include/msinkaut.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/msinkaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/msinkaut.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msinkaut_i.c b/mingw-w64-headers/include/msinkaut_i.c
index aa47986..6f16204 100644
--- a/mingw-w64-headers/include/msinkaut_i.c
+++ b/mingw-w64-headers/include/msinkaut_i.c
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from msinkaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from msinkaut.idl - Do not edit ***/
 
 #include <rpc.h>
 #include <rpcndr.h>
diff --git a/mingw-w64-headers/include/msopc.h b/mingw-w64-headers/include/msopc.h
index ea5a3c6..8d836cb 100644
--- a/mingw-w64-headers/include/msopc.h
+++ b/mingw-w64-headers/include/msopc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/msopc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/msopc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msxml.h b/mingw-w64-headers/include/msxml.h
index b59fdb4..a8a64a4 100644
--- a/mingw-w64-headers/include/msxml.h
+++ b/mingw-w64-headers/include/msxml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/msxml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/msxml.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -9211,7 +9211,7 @@
     virtual HRESULT STDMETHODCALLTYPE get_doctype(
         BSTR *p) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_dtdURl(
+    virtual HRESULT STDMETHODCALLTYPE get_dtdURL(
         BSTR *p) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE createElement(
@@ -9318,7 +9318,7 @@
         IXMLDocument *This,
         BSTR *p);
 
-    HRESULT (STDMETHODCALLTYPE *get_dtdURl)(
+    HRESULT (STDMETHODCALLTYPE *get_dtdURL)(
         IXMLDocument *This,
         BSTR *p);
 
@@ -9359,7 +9359,7 @@
 #define IXMLDocument_put_charset(This,p) (This)->lpVtbl->put_charset(This,p)
 #define IXMLDocument_get_version(This,p) (This)->lpVtbl->get_version(This,p)
 #define IXMLDocument_get_doctype(This,p) (This)->lpVtbl->get_doctype(This,p)
-#define IXMLDocument_get_dtdURl(This,p) (This)->lpVtbl->get_dtdURl(This,p)
+#define IXMLDocument_get_dtdURL(This,p) (This)->lpVtbl->get_dtdURL(This,p)
 #define IXMLDocument_createElement(This,vType,var1,ppElem) (This)->lpVtbl->createElement(This,vType,var1,ppElem)
 #else
 /*** IUnknown methods ***/
@@ -9422,8 +9422,8 @@
 static inline HRESULT IXMLDocument_get_doctype(IXMLDocument* This,BSTR *p) {
     return This->lpVtbl->get_doctype(This,p);
 }
-static inline HRESULT IXMLDocument_get_dtdURl(IXMLDocument* This,BSTR *p) {
-    return This->lpVtbl->get_dtdURl(This,p);
+static inline HRESULT IXMLDocument_get_dtdURL(IXMLDocument* This,BSTR *p) {
+    return This->lpVtbl->get_dtdURL(This,p);
 }
 static inline HRESULT IXMLDocument_createElement(IXMLDocument* This,VARIANT vType,VARIANT var1,IXMLElement **ppElem) {
     return This->lpVtbl->createElement(This,vType,var1,ppElem);
diff --git a/mingw-w64-headers/include/msxml2.h b/mingw-w64-headers/include/msxml2.h
index 9e5d3bc..685e2c3 100644
--- a/mingw-w64-headers/include/msxml2.h
+++ b/mingw-w64-headers/include/msxml2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/msxml2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/msxml2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -370,15 +370,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __FreeThreadedDOMDocument40_FWD_DEFINED__ */
 
-#ifndef __FreeThreadedDOMDocument60_FWD_DEFINED__
-#define __FreeThreadedDOMDocument60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class FreeThreadedDOMDocument60 FreeThreadedDOMDocument60;
-#else
-typedef struct FreeThreadedDOMDocument60 FreeThreadedDOMDocument60;
-#endif /* defined __cplusplus */
-#endif /* defined __FreeThreadedDOMDocument60_FWD_DEFINED__ */
-
 #ifndef __FreeThreadedDOMDocument_FWD_DEFINED__
 #define __FreeThreadedDOMDocument_FWD_DEFINED__
 #ifdef __cplusplus
@@ -415,15 +406,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __XMLHTTP40_FWD_DEFINED__ */
 
-#ifndef __XMLHTTP60_FWD_DEFINED__
-#define __XMLHTTP60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class XMLHTTP60 XMLHTTP60;
-#else
-typedef struct XMLHTTP60 XMLHTTP60;
-#endif /* defined __cplusplus */
-#endif /* defined __XMLHTTP60_FWD_DEFINED__ */
-
 #ifndef __XMLHTTP_FWD_DEFINED__
 #define __XMLHTTP_FWD_DEFINED__
 #ifdef __cplusplus
@@ -451,15 +433,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __ServerXMLHTTP40_FWD_DEFINED__ */
 
-#ifndef __ServerXMLHTTP60_FWD_DEFINED__
-#define __ServerXMLHTTP60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class ServerXMLHTTP60 ServerXMLHTTP60;
-#else
-typedef struct ServerXMLHTTP60 ServerXMLHTTP60;
-#endif /* defined __cplusplus */
-#endif /* defined __ServerXMLHTTP60_FWD_DEFINED__ */
-
 #ifndef __ServerXMLHTTP_FWD_DEFINED__
 #define __ServerXMLHTTP_FWD_DEFINED__
 #ifdef __cplusplus
@@ -532,15 +505,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __XSLTemplate40_FWD_DEFINED__ */
 
-#ifndef __XSLTemplate60_FWD_DEFINED__
-#define __XSLTemplate60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class XSLTemplate60 XSLTemplate60;
-#else
-typedef struct XSLTemplate60 XSLTemplate60;
-#endif /* defined __cplusplus */
-#endif /* defined __XSLTemplate60_FWD_DEFINED__ */
-
 #ifndef __XSLTemplate_FWD_DEFINED__
 #define __XSLTemplate_FWD_DEFINED__
 #ifdef __cplusplus
@@ -904,15 +868,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __SAXXMLReader40_FWD_DEFINED__ */
 
-#ifndef __SAXXMLReader60_FWD_DEFINED__
-#define __SAXXMLReader60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class SAXXMLReader60 SAXXMLReader60;
-#else
-typedef struct SAXXMLReader60 SAXXMLReader60;
-#endif /* defined __cplusplus */
-#endif /* defined __SAXXMLReader60_FWD_DEFINED__ */
-
 #ifndef __SAXXMLReader_FWD_DEFINED__
 #define __SAXXMLReader_FWD_DEFINED__
 #ifdef __cplusplus
@@ -949,15 +904,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __MXHTMLWriter40_FWD_DEFINED__ */
 
-#ifndef __MXHTMLWriter60_FWD_DEFINED__
-#define __MXHTMLWriter60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class MXHTMLWriter60 MXHTMLWriter60;
-#else
-typedef struct MXHTMLWriter60 MXHTMLWriter60;
-#endif /* defined __cplusplus */
-#endif /* defined __MXHTMLWriter60_FWD_DEFINED__ */
-
 #ifndef __MXXMLWriter30_FWD_DEFINED__
 #define __MXXMLWriter30_FWD_DEFINED__
 #ifdef __cplusplus
@@ -976,15 +922,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __MXXMLWriter40_FWD_DEFINED__ */
 
-#ifndef __MXXMLWriter60_FWD_DEFINED__
-#define __MXXMLWriter60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class MXXMLWriter60 MXXMLWriter60;
-#else
-typedef struct MXXMLWriter60 MXXMLWriter60;
-#endif /* defined __cplusplus */
-#endif /* defined __MXXMLWriter60_FWD_DEFINED__ */
-
 #ifndef __MXXMLWriter_FWD_DEFINED__
 #define __MXXMLWriter_FWD_DEFINED__
 #ifdef __cplusplus
@@ -1012,15 +949,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __MXNamespaceManager40_FWD_DEFINED__ */
 
-#ifndef __MXNamespaceManager60_FWD_DEFINED__
-#define __MXNamespaceManager60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class MXNamespaceManager60 MXNamespaceManager60;
-#else
-typedef struct MXNamespaceManager60 MXNamespaceManager60;
-#endif /* defined __cplusplus */
-#endif /* defined __MXNamespaceManager60_FWD_DEFINED__ */
-
 #ifndef __SAXAttributes30_FWD_DEFINED__
 #define __SAXAttributes30_FWD_DEFINED__
 #ifdef __cplusplus
@@ -1039,15 +967,6 @@
 #endif /* defined __cplusplus */
 #endif /* defined __SAXAttributes40_FWD_DEFINED__ */
 
-#ifndef __SAXAttributes60_FWD_DEFINED__
-#define __SAXAttributes60_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class SAXAttributes60 SAXAttributes60;
-#else
-typedef struct SAXAttributes60 SAXAttributes60;
-#endif /* defined __cplusplus */
-#endif /* defined __SAXAttributes60_FWD_DEFINED__ */
-
 #ifndef __SAXAttributes_FWD_DEFINED__
 #define __SAXAttributes_FWD_DEFINED__
 #ifdef __cplusplus
@@ -14666,19 +14585,6 @@
 #endif
 
 /*****************************************************************************
- * FreeThreadedDOMDocument60 coclass
- */
-
-DEFINE_GUID(CLSID_FreeThreadedDOMDocument60, 0x88d96a06, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a06-f192-11d4-a65f-0040963251e5") FreeThreadedDOMDocument60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(FreeThreadedDOMDocument60, 0x88d96a06, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * FreeThreadedDOMDocument coclass
  */
 
@@ -14731,19 +14637,6 @@
 #endif
 
 /*****************************************************************************
- * XMLHTTP60 coclass
- */
-
-DEFINE_GUID(CLSID_XMLHTTP60, 0x88d96a0a, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a0a-f192-11d4-a65f-0040963251e5") XMLHTTP60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(XMLHTTP60, 0x88d96a0a, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * XMLHTTP coclass
  */
 
@@ -14783,19 +14676,6 @@
 #endif
 
 /*****************************************************************************
- * ServerXMLHTTP60 coclass
- */
-
-DEFINE_GUID(CLSID_ServerXMLHTTP60, 0x88d96a0b, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a0b-f192-11d4-a65f-0040963251e5") ServerXMLHTTP60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ServerXMLHTTP60, 0x88d96a0b, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * ServerXMLHTTP coclass
  */
 
@@ -14900,19 +14780,6 @@
 #endif
 
 /*****************************************************************************
- * XSLTemplate60 coclass
- */
-
-DEFINE_GUID(CLSID_XSLTemplate60, 0x88d96a08, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a08-f192-11d4-a65f-0040963251e5") XSLTemplate60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(XSLTemplate60, 0x88d96a08, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * XSLTemplate coclass
  */
 
@@ -23606,19 +23473,6 @@
 #endif
 
 /*****************************************************************************
- * SAXXMLReader60 coclass
- */
-
-DEFINE_GUID(CLSID_SAXXMLReader60, 0x88d96a0c, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a0c-f192-11d4-a65f-0040963251e5") SAXXMLReader60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(SAXXMLReader60, 0x88d96a0c, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * SAXXMLReader coclass
  */
 
@@ -23671,19 +23525,6 @@
 #endif
 
 /*****************************************************************************
- * MXHTMLWriter60 coclass
- */
-
-DEFINE_GUID(CLSID_MXHTMLWriter60, 0x88d96a10, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a10-f192-11d4-a65f-0040963251e5") MXHTMLWriter60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(MXHTMLWriter60, 0x88d96a10, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * MXXMLWriter30 coclass
  */
 
@@ -23710,19 +23551,6 @@
 #endif
 
 /*****************************************************************************
- * MXXMLWriter60 coclass
- */
-
-DEFINE_GUID(CLSID_MXXMLWriter60, 0x88d96a0f, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a0f-f192-11d4-a65f-0040963251e5") MXXMLWriter60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(MXXMLWriter60, 0x88d96a0f, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * MXXMLWriter coclass
  */
 
@@ -23762,19 +23590,6 @@
 #endif
 
 /*****************************************************************************
- * MXNamespaceManager60 coclass
- */
-
-DEFINE_GUID(CLSID_MXNamespaceManager60, 0x88d96a11, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a11-f192-11d4-a65f-0040963251e5") MXNamespaceManager60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(MXNamespaceManager60, 0x88d96a11, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * SAXAttributes30 coclass
  */
 
@@ -23801,19 +23616,6 @@
 #endif
 
 /*****************************************************************************
- * SAXAttributes60 coclass
- */
-
-DEFINE_GUID(CLSID_SAXAttributes60, 0x88d96a0e, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("88d96a0e-f192-11d4-a65f-0040963251e5") SAXAttributes60;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(SAXAttributes60, 0x88d96a0e, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5)
-#endif
-#endif
-
-/*****************************************************************************
  * SAXAttributes coclass
  */
 
diff --git a/mingw-w64-headers/include/msxml6.h b/mingw-w64-headers/include/msxml6.h
index e2066c7..502d856 100644
--- a/mingw-w64-headers/include/msxml6.h
+++ b/mingw-w64-headers/include/msxml6.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/msxml6.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/msxml6.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napcertrelyingparty.h b/mingw-w64-headers/include/napcertrelyingparty.h
index 1175bcc..98ee8e5 100644
--- a/mingw-w64-headers/include/napcertrelyingparty.h
+++ b/mingw-w64-headers/include/napcertrelyingparty.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/napcertrelyingparty.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/napcertrelyingparty.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napcommon.h b/mingw-w64-headers/include/napcommon.h
index bf6d299..8b211c9 100644
--- a/mingw-w64-headers/include/napcommon.h
+++ b/mingw-w64-headers/include/napcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/napcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/napcommon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napenforcementclient.h b/mingw-w64-headers/include/napenforcementclient.h
index daba843..c7bf663 100644
--- a/mingw-w64-headers/include/napenforcementclient.h
+++ b/mingw-w64-headers/include/napenforcementclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/napenforcementclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/napenforcementclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napmanagement.h b/mingw-w64-headers/include/napmanagement.h
index 60c397d..9f8dfbe 100644
--- a/mingw-w64-headers/include/napmanagement.h
+++ b/mingw-w64-headers/include/napmanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/napmanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/napmanagement.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napprotocol.h b/mingw-w64-headers/include/napprotocol.h
index 494ff02..720a8ed 100644
--- a/mingw-w64-headers/include/napprotocol.h
+++ b/mingw-w64-headers/include/napprotocol.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/napprotocol.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/napprotocol.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napservermanagement.h b/mingw-w64-headers/include/napservermanagement.h
index 9281926..4ac29e0 100644
--- a/mingw-w64-headers/include/napservermanagement.h
+++ b/mingw-w64-headers/include/napservermanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/napservermanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/napservermanagement.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napsystemhealthagent.h b/mingw-w64-headers/include/napsystemhealthagent.h
index ee4fe3c..e189161 100644
--- a/mingw-w64-headers/include/napsystemhealthagent.h
+++ b/mingw-w64-headers/include/napsystemhealthagent.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/napsystemhealthagent.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/napsystemhealthagent.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napsystemhealthvalidator.h b/mingw-w64-headers/include/napsystemhealthvalidator.h
index 3bd19ed..bddcf91 100644
--- a/mingw-w64-headers/include/napsystemhealthvalidator.h
+++ b/mingw-w64-headers/include/napsystemhealthvalidator.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/napsystemhealthvalidator.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/napsystemhealthvalidator.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/naptypes.h b/mingw-w64-headers/include/naptypes.h
index 30bc0fb..88b42af 100644
--- a/mingw-w64-headers/include/naptypes.h
+++ b/mingw-w64-headers/include/naptypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/naptypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/naptypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/netcfgn.h b/mingw-w64-headers/include/netcfgn.h
index d109860..dd1c6e0 100644
--- a/mingw-w64-headers/include/netcfgn.h
+++ b/mingw-w64-headers/include/netcfgn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/netcfgn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/netcfgn.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/netcfgx.h b/mingw-w64-headers/include/netcfgx.h
index 028df96..dbb89d8 100644
--- a/mingw-w64-headers/include/netcfgx.h
+++ b/mingw-w64-headers/include/netcfgx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/netcfgx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/netcfgx.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/netfw.h b/mingw-w64-headers/include/netfw.h
index 3a80389..37147f0 100644
--- a/mingw-w64-headers/include/netfw.h
+++ b/mingw-w64-headers/include/netfw.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/netfw.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/netfw.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/netlistmgr.h b/mingw-w64-headers/include/netlistmgr.h
index 5757733..6771a20 100644
--- a/mingw-w64-headers/include/netlistmgr.h
+++ b/mingw-w64-headers/include/netlistmgr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/netlistmgr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/netlistmgr.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/oaidl.h b/mingw-w64-headers/include/oaidl.h
index 0b7f7df..22d33d3 100644
--- a/mingw-w64-headers/include/oaidl.h
+++ b/mingw-w64-headers/include/oaidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/oaidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/oaidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/objectarray.h b/mingw-w64-headers/include/objectarray.h
index 140874a..cbbfd54 100644
--- a/mingw-w64-headers/include/objectarray.h
+++ b/mingw-w64-headers/include/objectarray.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/objectarray.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/objectarray.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/objidl.h b/mingw-w64-headers/include/objidl.h
index 45da497..a0afbe7 100644
--- a/mingw-w64-headers/include/objidl.h
+++ b/mingw-w64-headers/include/objidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/objidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/objidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/objidlbase.h b/mingw-w64-headers/include/objidlbase.h
index dd11c1e..ce815d3 100644
--- a/mingw-w64-headers/include/objidlbase.h
+++ b/mingw-w64-headers/include/objidlbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/objidlbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/objidlbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ocidl.h b/mingw-w64-headers/include/ocidl.h
index 462070f..b1427af 100644
--- a/mingw-w64-headers/include/ocidl.h
+++ b/mingw-w64-headers/include/ocidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/ocidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/ocidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/oleacc.h b/mingw-w64-headers/include/oleacc.h
index df9a5f5..05c4308 100644
--- a/mingw-w64-headers/include/oleacc.h
+++ b/mingw-w64-headers/include/oleacc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/oleacc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/oleacc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/oleidl.h b/mingw-w64-headers/include/oleidl.h
index bfdbbf3..8f800c5 100644
--- a/mingw-w64-headers/include/oleidl.h
+++ b/mingw-w64-headers/include/oleidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/oleidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/oleidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/optary.h b/mingw-w64-headers/include/optary.h
index 7469eac..af9ee03 100644
--- a/mingw-w64-headers/include/optary.h
+++ b/mingw-w64-headers/include/optary.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/optary.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/optary.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/portabledeviceapi.h b/mingw-w64-headers/include/portabledeviceapi.h
index b5ee423..4f8aa81 100644
--- a/mingw-w64-headers/include/portabledeviceapi.h
+++ b/mingw-w64-headers/include/portabledeviceapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/portabledeviceapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/portabledeviceapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/portabledevicetypes.h b/mingw-w64-headers/include/portabledevicetypes.h
index 4e35843..978bfe2 100644
--- a/mingw-w64-headers/include/portabledevicetypes.h
+++ b/mingw-w64-headers/include/portabledevicetypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/portabledevicetypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/portabledevicetypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/proofofpossessioncookieinfo.h b/mingw-w64-headers/include/proofofpossessioncookieinfo.h
index 4383d85..a70e3a7 100644
--- a/mingw-w64-headers/include/proofofpossessioncookieinfo.h
+++ b/mingw-w64-headers/include/proofofpossessioncookieinfo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/proofofpossessioncookieinfo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/proofofpossessioncookieinfo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/propidl.h b/mingw-w64-headers/include/propidl.h
index 1efd953..6e74ba1 100644
--- a/mingw-w64-headers/include/propidl.h
+++ b/mingw-w64-headers/include/propidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/propidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/propidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/propsys.h b/mingw-w64-headers/include/propsys.h
index 61976b2..efe24ec 100644
--- a/mingw-w64-headers/include/propsys.h
+++ b/mingw-w64-headers/include/propsys.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/propsys.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/propsys.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/qedit.h b/mingw-w64-headers/include/qedit.h
index 4f1f2c9..7f4792e 100644
--- a/mingw-w64-headers/include/qedit.h
+++ b/mingw-w64-headers/include/qedit.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/qedit.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/qedit.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/qnetwork.h b/mingw-w64-headers/include/qnetwork.h
index 8e0731e..9d7780c 100644
--- a/mingw-w64-headers/include/qnetwork.h
+++ b/mingw-w64-headers/include/qnetwork.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/qnetwork.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/qnetwork.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/rdpencomapi.h b/mingw-w64-headers/include/rdpencomapi.h
index 3c66883..d9a49a4 100644
--- a/mingw-w64-headers/include/rdpencomapi.h
+++ b/mingw-w64-headers/include/rdpencomapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/rdpencomapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/rdpencomapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/regbag.h b/mingw-w64-headers/include/regbag.h
index e1d17ba..39a12f7 100644
--- a/mingw-w64-headers/include/regbag.h
+++ b/mingw-w64-headers/include/regbag.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/regbag.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/regbag.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/relogger.h b/mingw-w64-headers/include/relogger.h
index 1e3c81d..7fcd272 100644
--- a/mingw-w64-headers/include/relogger.h
+++ b/mingw-w64-headers/include/relogger.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/relogger.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/relogger.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/robuffer.h b/mingw-w64-headers/include/robuffer.h
index f0d52ae..82bb7d9 100644
--- a/mingw-w64-headers/include/robuffer.h
+++ b/mingw-w64-headers/include/robuffer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/robuffer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/robuffer.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/rtworkq.h b/mingw-w64-headers/include/rtworkq.h
index 5583bed..80fda0e 100644
--- a/mingw-w64-headers/include/rtworkq.h
+++ b/mingw-w64-headers/include/rtworkq.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/rtworkq.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/rtworkq.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sapi51.h b/mingw-w64-headers/include/sapi51.h
index e311013..42d89ca 100644
--- a/mingw-w64-headers/include/sapi51.h
+++ b/mingw-w64-headers/include/sapi51.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/sapi51.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/sapi51.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sapi53.h b/mingw-w64-headers/include/sapi53.h
index c163ef1..dda6f6c 100644
--- a/mingw-w64-headers/include/sapi53.h
+++ b/mingw-w64-headers/include/sapi53.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/sapi53.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/sapi53.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sapi54.h b/mingw-w64-headers/include/sapi54.h
index 6a4ca74..f3b2868 100644
--- a/mingw-w64-headers/include/sapi54.h
+++ b/mingw-w64-headers/include/sapi54.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/sapi54.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/sapi54.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sensorsapi.h b/mingw-w64-headers/include/sensorsapi.h
index 6d547c4..93a6c99 100644
--- a/mingw-w64-headers/include/sensorsapi.h
+++ b/mingw-w64-headers/include/sensorsapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/sensorsapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/sensorsapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/servprov.h b/mingw-w64-headers/include/servprov.h
index e062e24..9257921 100644
--- a/mingw-w64-headers/include/servprov.h
+++ b/mingw-w64-headers/include/servprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/servprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/servprov.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/shldisp.h b/mingw-w64-headers/include/shldisp.h
index 12e17f4..2830430 100644
--- a/mingw-w64-headers/include/shldisp.h
+++ b/mingw-w64-headers/include/shldisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/shldisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/shldisp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/shobjidl.h b/mingw-w64-headers/include/shobjidl.h
index 1cbb93f..0cad92a 100644
--- a/mingw-w64-headers/include/shobjidl.h
+++ b/mingw-w64-headers/include/shobjidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/shobjidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/shobjidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/shtypes.h b/mingw-w64-headers/include/shtypes.h
index 1085f6b..a38b17e 100644
--- a/mingw-w64-headers/include/shtypes.h
+++ b/mingw-w64-headers/include/shtypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/shtypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/shtypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/spatialaudioclient.h b/mingw-w64-headers/include/spatialaudioclient.h
index ba0ea4c..d70ef32 100644
--- a/mingw-w64-headers/include/spatialaudioclient.h
+++ b/mingw-w64-headers/include/spatialaudioclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/spatialaudioclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/spatialaudioclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/spellcheck.h b/mingw-w64-headers/include/spellcheck.h
index 649db53..39a404e 100644
--- a/mingw-w64-headers/include/spellcheck.h
+++ b/mingw-w64-headers/include/spellcheck.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/spellcheck.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/spellcheck.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/strmif.h b/mingw-w64-headers/include/strmif.h
index b47e72d..4fecab0 100644
--- a/mingw-w64-headers/include/strmif.h
+++ b/mingw-w64-headers/include/strmif.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/strmif.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/strmif.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/structuredquerycondition.h b/mingw-w64-headers/include/structuredquerycondition.h
index 9c80094..e69a320 100644
--- a/mingw-w64-headers/include/structuredquerycondition.h
+++ b/mingw-w64-headers/include/structuredquerycondition.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/structuredquerycondition.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/structuredquerycondition.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/systemmediatransportcontrolsinterop.h b/mingw-w64-headers/include/systemmediatransportcontrolsinterop.h
index 833a444..7dbecf4 100644
--- a/mingw-w64-headers/include/systemmediatransportcontrolsinterop.h
+++ b/mingw-w64-headers/include/systemmediatransportcontrolsinterop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/systemmediatransportcontrolsinterop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/systemmediatransportcontrolsinterop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/taskschd.h b/mingw-w64-headers/include/taskschd.h
index bab83ac..fdf8469 100644
--- a/mingw-w64-headers/include/taskschd.h
+++ b/mingw-w64-headers/include/taskschd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/taskschd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/taskschd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/textstor.h b/mingw-w64-headers/include/textstor.h
index fbcbb94..11d5a2e 100644
--- a/mingw-w64-headers/include/textstor.h
+++ b/mingw-w64-headers/include/textstor.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/textstor.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/textstor.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/thumbcache.h b/mingw-w64-headers/include/thumbcache.h
index f26b73a..c27f1d0 100644
--- a/mingw-w64-headers/include/thumbcache.h
+++ b/mingw-w64-headers/include/thumbcache.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/thumbcache.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/thumbcache.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tlbref.h b/mingw-w64-headers/include/tlbref.h
index 9f2c205..4508eff 100644
--- a/mingw-w64-headers/include/tlbref.h
+++ b/mingw-w64-headers/include/tlbref.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/tlbref.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/tlbref.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tlogstg.h b/mingw-w64-headers/include/tlogstg.h
index d9c6853..b973eb9 100644
--- a/mingw-w64-headers/include/tlogstg.h
+++ b/mingw-w64-headers/include/tlogstg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/tlogstg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/tlogstg.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tpcshrd.h b/mingw-w64-headers/include/tpcshrd.h
index e0d09a5..fa9eb1a 100644
--- a/mingw-w64-headers/include/tpcshrd.h
+++ b/mingw-w64-headers/include/tpcshrd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/tpcshrd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/tpcshrd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tsvirtualchannels.h b/mingw-w64-headers/include/tsvirtualchannels.h
index dfef1a3..57adb99 100644
--- a/mingw-w64-headers/include/tsvirtualchannels.h
+++ b/mingw-w64-headers/include/tsvirtualchannels.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/tsvirtualchannels.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/tsvirtualchannels.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tuner.h b/mingw-w64-headers/include/tuner.h
index 416c029..6ba4121 100644
--- a/mingw-w64-headers/include/tuner.h
+++ b/mingw-w64-headers/include/tuner.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/tuner.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/tuner.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uianimation.h b/mingw-w64-headers/include/uianimation.h
index 0ed1e64..2c1305f 100644
--- a/mingw-w64-headers/include/uianimation.h
+++ b/mingw-w64-headers/include/uianimation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/uianimation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/uianimation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uiautomationclient.h b/mingw-w64-headers/include/uiautomationclient.h
index 49ab887..3cb91e4 100644
--- a/mingw-w64-headers/include/uiautomationclient.h
+++ b/mingw-w64-headers/include/uiautomationclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/uiautomationclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/uiautomationclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uiautomationcore.h b/mingw-w64-headers/include/uiautomationcore.h
index e5377cf..249cace 100644
--- a/mingw-w64-headers/include/uiautomationcore.h
+++ b/mingw-w64-headers/include/uiautomationcore.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/uiautomationcore.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/uiautomationcore.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uiviewsettingsinterop.h b/mingw-w64-headers/include/uiviewsettingsinterop.h
index 3fc5d74..eb689cd 100644
--- a/mingw-w64-headers/include/uiviewsettingsinterop.h
+++ b/mingw-w64-headers/include/uiviewsettingsinterop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/uiviewsettingsinterop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/uiviewsettingsinterop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/unknwn.h b/mingw-w64-headers/include/unknwn.h
index 351c310..600e63b 100644
--- a/mingw-w64-headers/include/unknwn.h
+++ b/mingw-w64-headers/include/unknwn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/unknwn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/unknwn.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/unknwnbase.h b/mingw-w64-headers/include/unknwnbase.h
index 6213f65..180558f 100644
--- a/mingw-w64-headers/include/unknwnbase.h
+++ b/mingw-w64-headers/include/unknwnbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/unknwnbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/unknwnbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/urlhist.h b/mingw-w64-headers/include/urlhist.h
index 978b47f..ee51920 100644
--- a/mingw-w64-headers/include/urlhist.h
+++ b/mingw-w64-headers/include/urlhist.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/urlhist.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/urlhist.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/urlmon.h b/mingw-w64-headers/include/urlmon.h
index df70676..c59333f 100644
--- a/mingw-w64-headers/include/urlmon.h
+++ b/mingw-w64-headers/include/urlmon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/urlmon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/urlmon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vdslun.h b/mingw-w64-headers/include/vdslun.h
index 28bb7fd..4751aef 100644
--- a/mingw-w64-headers/include/vdslun.h
+++ b/mingw-w64-headers/include/vdslun.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vdslun.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vdslun.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vidcap.h b/mingw-w64-headers/include/vidcap.h
index 21bd4ad..854d950 100644
--- a/mingw-w64-headers/include/vidcap.h
+++ b/mingw-w64-headers/include/vidcap.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vidcap.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vidcap.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vmr9.h b/mingw-w64-headers/include/vmr9.h
index da3bfd8..f2d2e97 100644
--- a/mingw-w64-headers/include/vmr9.h
+++ b/mingw-w64-headers/include/vmr9.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vmr9.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vmr9.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vsadmin.h b/mingw-w64-headers/include/vsadmin.h
index 7bce672..5bb6498 100644
--- a/mingw-w64-headers/include/vsadmin.h
+++ b/mingw-w64-headers/include/vsadmin.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vsadmin.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vsadmin.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vsbackup.h b/mingw-w64-headers/include/vsbackup.h
index 853c949..47ad640 100644
--- a/mingw-w64-headers/include/vsbackup.h
+++ b/mingw-w64-headers/include/vsbackup.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vsbackup.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vsbackup.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vsmgmt.h b/mingw-w64-headers/include/vsmgmt.h
index ddde407..176e01b 100644
--- a/mingw-w64-headers/include/vsmgmt.h
+++ b/mingw-w64-headers/include/vsmgmt.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vsmgmt.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vsmgmt.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vsprov.h b/mingw-w64-headers/include/vsprov.h
index d0c62e1..613ad8b 100644
--- a/mingw-w64-headers/include/vsprov.h
+++ b/mingw-w64-headers/include/vsprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vsprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vsprov.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vss.h b/mingw-w64-headers/include/vss.h
index 21e77d0..fc21424 100644
--- a/mingw-w64-headers/include/vss.h
+++ b/mingw-w64-headers/include/vss.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vss.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vss.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vswriter.h b/mingw-w64-headers/include/vswriter.h
index e2c80e0..0f818a1 100644
--- a/mingw-w64-headers/include/vswriter.h
+++ b/mingw-w64-headers/include/vswriter.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/vswriter.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/vswriter.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemads.h b/mingw-w64-headers/include/wbemads.h
index a798fd6..54aff2a 100644
--- a/mingw-w64-headers/include/wbemads.h
+++ b/mingw-w64-headers/include/wbemads.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wbemads.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wbemads.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemcli.h b/mingw-w64-headers/include/wbemcli.h
index cf33a42..e95ce7e 100644
--- a/mingw-w64-headers/include/wbemcli.h
+++ b/mingw-w64-headers/include/wbemcli.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wbemcli.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wbemcli.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemdisp.h b/mingw-w64-headers/include/wbemdisp.h
index cfc238e..c5a1fee 100644
--- a/mingw-w64-headers/include/wbemdisp.h
+++ b/mingw-w64-headers/include/wbemdisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wbemdisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wbemdisp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemprov.h b/mingw-w64-headers/include/wbemprov.h
index ed3a6f3..c647305 100644
--- a/mingw-w64-headers/include/wbemprov.h
+++ b/mingw-w64-headers/include/wbemprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wbemprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wbemprov.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemtran.h b/mingw-w64-headers/include/wbemtran.h
index aede4f4..9b9b87f 100644
--- a/mingw-w64-headers/include/wbemtran.h
+++ b/mingw-w64-headers/include/wbemtran.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wbemtran.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wbemtran.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wdstptmgmt.h b/mingw-w64-headers/include/wdstptmgmt.h
index 03c8f5d..560f344 100644
--- a/mingw-w64-headers/include/wdstptmgmt.h
+++ b/mingw-w64-headers/include/wdstptmgmt.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wdstptmgmt.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wdstptmgmt.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/weakreference.h b/mingw-w64-headers/include/weakreference.h
index a456790..8f885a7 100644
--- a/mingw-w64-headers/include/weakreference.h
+++ b/mingw-w64-headers/include/weakreference.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/weakreference.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/weakreference.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wia_lh.h b/mingw-w64-headers/include/wia_lh.h
index 4031e0f..96eac04 100644
--- a/mingw-w64-headers/include/wia_lh.h
+++ b/mingw-w64-headers/include/wia_lh.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wia_lh.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wia_lh.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wia_xp.h b/mingw-w64-headers/include/wia_xp.h
index 9b486a7..ad4f0f4 100644
--- a/mingw-w64-headers/include/wia_xp.h
+++ b/mingw-w64-headers/include/wia_xp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wia_xp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wia_xp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wincodec.h b/mingw-w64-headers/include/wincodec.h
index 827ae99..ae0bdb7 100644
--- a/mingw-w64-headers/include/wincodec.h
+++ b/mingw-w64-headers/include/wincodec.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wincodec.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wincodec.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wincodecsdk.h b/mingw-w64-headers/include/wincodecsdk.h
index ddcdc7d..db4645b 100644
--- a/mingw-w64-headers/include/wincodecsdk.h
+++ b/mingw-w64-headers/include/wincodecsdk.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wincodecsdk.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wincodecsdk.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.activation.h b/mingw-w64-headers/include/windows.applicationmodel.activation.h
index 9709ef7..33ddb68 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.activation.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.activation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.applicationmodel.activation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.applicationmodel.activation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.background.h b/mingw-w64-headers/include/windows.applicationmodel.background.h
index 604c709..4c3276c 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.background.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.background.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.applicationmodel.background.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.applicationmodel.background.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.core.h b/mingw-w64-headers/include/windows.applicationmodel.core.h
index 6024bab..168bd85 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.core.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.core.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.applicationmodel.core.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.applicationmodel.core.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.datatransfer.dragdrop.core.h b/mingw-w64-headers/include/windows.applicationmodel.datatransfer.dragdrop.core.h
index 217f709..587ea1e 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.datatransfer.dragdrop.core.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.datatransfer.dragdrop.core.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.applicationmodel.datatransfer.dragdrop.core.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.applicationmodel.datatransfer.dragdrop.core.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.datatransfer.dragdrop.h b/mingw-w64-headers/include/windows.applicationmodel.datatransfer.dragdrop.h
index 5211892..1b8623a 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.datatransfer.dragdrop.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.datatransfer.dragdrop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.applicationmodel.datatransfer.dragdrop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.applicationmodel.datatransfer.dragdrop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.datatransfer.h b/mingw-w64-headers/include/windows.applicationmodel.datatransfer.h
index 611aafc..73444f6 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.datatransfer.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.datatransfer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.applicationmodel.datatransfer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.applicationmodel.datatransfer.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.h b/mingw-w64-headers/include/windows.applicationmodel.h
index c8e1a34..3a3444d 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.applicationmodel.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.applicationmodel.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.data.json.h b/mingw-w64-headers/include/windows.data.json.h
index 82deb04..486ef57 100644
--- a/mingw-w64-headers/include/windows.data.json.h
+++ b/mingw-w64-headers/include/windows.data.json.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.data.json.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.data.json.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.data.xml.dom.h b/mingw-w64-headers/include/windows.data.xml.dom.h
index 8c766f1..388b95d 100644
--- a/mingw-w64-headers/include/windows.data.xml.dom.h
+++ b/mingw-w64-headers/include/windows.data.xml.dom.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.data.xml.dom.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.data.xml.dom.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.bluetooth.advertisement.h b/mingw-w64-headers/include/windows.devices.bluetooth.advertisement.h
index a95e61f..d405b68 100644
--- a/mingw-w64-headers/include/windows.devices.bluetooth.advertisement.h
+++ b/mingw-w64-headers/include/windows.devices.bluetooth.advertisement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.bluetooth.advertisement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.bluetooth.advertisement.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.bluetooth.genericattributeprofile.h b/mingw-w64-headers/include/windows.devices.bluetooth.genericattributeprofile.h
index 9d3756d..f32483a 100644
--- a/mingw-w64-headers/include/windows.devices.bluetooth.genericattributeprofile.h
+++ b/mingw-w64-headers/include/windows.devices.bluetooth.genericattributeprofile.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.bluetooth.genericattributeprofile.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.bluetooth.genericattributeprofile.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.bluetooth.h b/mingw-w64-headers/include/windows.devices.bluetooth.h
index 7aa0c49..ebbf5dc 100644
--- a/mingw-w64-headers/include/windows.devices.bluetooth.h
+++ b/mingw-w64-headers/include/windows.devices.bluetooth.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.bluetooth.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.bluetooth.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.bluetooth.rfcomm.h b/mingw-w64-headers/include/windows.devices.bluetooth.rfcomm.h
index fb2ca56..6b594e2 100644
--- a/mingw-w64-headers/include/windows.devices.bluetooth.rfcomm.h
+++ b/mingw-w64-headers/include/windows.devices.bluetooth.rfcomm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.bluetooth.rfcomm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.bluetooth.rfcomm.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.enumeration.h b/mingw-w64-headers/include/windows.devices.enumeration.h
index 2b5e53e..4da827c 100644
--- a/mingw-w64-headers/include/windows.devices.enumeration.h
+++ b/mingw-w64-headers/include/windows.devices.enumeration.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.enumeration.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.enumeration.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.geolocation.h b/mingw-w64-headers/include/windows.devices.geolocation.h
index dd4f00b..32a1d2c 100644
--- a/mingw-w64-headers/include/windows.devices.geolocation.h
+++ b/mingw-w64-headers/include/windows.devices.geolocation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.geolocation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.geolocation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.haptics.h b/mingw-w64-headers/include/windows.devices.haptics.h
index 3d92f06..4aadcd5 100644
--- a/mingw-w64-headers/include/windows.devices.haptics.h
+++ b/mingw-w64-headers/include/windows.devices.haptics.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.haptics.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.haptics.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.input.h b/mingw-w64-headers/include/windows.devices.input.h
index 37a22f4..4856be7 100644
--- a/mingw-w64-headers/include/windows.devices.input.h
+++ b/mingw-w64-headers/include/windows.devices.input.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.input.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.input.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.power.h b/mingw-w64-headers/include/windows.devices.power.h
index b9a90d6..4d08d68 100644
--- a/mingw-w64-headers/include/windows.devices.power.h
+++ b/mingw-w64-headers/include/windows.devices.power.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.power.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.power.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.radios.h b/mingw-w64-headers/include/windows.devices.radios.h
index d1a9334..9918d12 100644
--- a/mingw-w64-headers/include/windows.devices.radios.h
+++ b/mingw-w64-headers/include/windows.devices.radios.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.radios.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.radios.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.usb.h b/mingw-w64-headers/include/windows.devices.usb.h
index 64912b8..0e28a93 100644
--- a/mingw-w64-headers/include/windows.devices.usb.h
+++ b/mingw-w64-headers/include/windows.devices.usb.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.devices.usb.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.devices.usb.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.collections.h b/mingw-w64-headers/include/windows.foundation.collections.h
index 73c3a05..cd0aff0 100644
--- a/mingw-w64-headers/include/windows.foundation.collections.h
+++ b/mingw-w64-headers/include/windows.foundation.collections.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.foundation.collections.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.foundation.collections.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h
index a60b22e..d20a289 100644
--- a/mingw-w64-headers/include/windows.foundation.h
+++ b/mingw-w64-headers/include/windows.foundation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.foundation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.foundation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.metadata.h b/mingw-w64-headers/include/windows.foundation.metadata.h
index df3fec2..9d4807a 100644
--- a/mingw-w64-headers/include/windows.foundation.metadata.h
+++ b/mingw-w64-headers/include/windows.foundation.metadata.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.foundation.metadata.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.foundation.metadata.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.numerics.h b/mingw-w64-headers/include/windows.foundation.numerics.h
index 22a6ae3..7b07a84 100644
--- a/mingw-w64-headers/include/windows.foundation.numerics.h
+++ b/mingw-w64-headers/include/windows.foundation.numerics.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.foundation.numerics.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.foundation.numerics.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.gaming.input.custom.h b/mingw-w64-headers/include/windows.gaming.input.custom.h
index bd59385..0f480f6 100644
--- a/mingw-w64-headers/include/windows.gaming.input.custom.h
+++ b/mingw-w64-headers/include/windows.gaming.input.custom.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.gaming.input.custom.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.gaming.input.custom.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.gaming.input.forcefeedback.h b/mingw-w64-headers/include/windows.gaming.input.forcefeedback.h
index d77b79f..f64d548 100644
--- a/mingw-w64-headers/include/windows.gaming.input.forcefeedback.h
+++ b/mingw-w64-headers/include/windows.gaming.input.forcefeedback.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.gaming.input.forcefeedback.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.gaming.input.forcefeedback.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.gaming.input.h b/mingw-w64-headers/include/windows.gaming.input.h
index adb7b11..225a7bd 100644
--- a/mingw-w64-headers/include/windows.gaming.input.h
+++ b/mingw-w64-headers/include/windows.gaming.input.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.gaming.input.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.gaming.input.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.gaming.ui.h b/mingw-w64-headers/include/windows.gaming.ui.h
index 3bf038b..920119f 100644
--- a/mingw-w64-headers/include/windows.gaming.ui.h
+++ b/mingw-w64-headers/include/windows.gaming.ui.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.gaming.ui.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.gaming.ui.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.globalization.h b/mingw-w64-headers/include/windows.globalization.h
index 609a891..2fe1ef0 100644
--- a/mingw-w64-headers/include/windows.globalization.h
+++ b/mingw-w64-headers/include/windows.globalization.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.globalization.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.globalization.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.capture.h b/mingw-w64-headers/include/windows.graphics.capture.h
index c570b24..c563271 100644
--- a/mingw-w64-headers/include/windows.graphics.capture.h
+++ b/mingw-w64-headers/include/windows.graphics.capture.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.graphics.capture.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.graphics.capture.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.capture.interop.h b/mingw-w64-headers/include/windows.graphics.capture.interop.h
index 5a2f397..234e4b3 100644
--- a/mingw-w64-headers/include/windows.graphics.capture.interop.h
+++ b/mingw-w64-headers/include/windows.graphics.capture.interop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.graphics.capture.interop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.graphics.capture.interop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.directx.direct3d11.h b/mingw-w64-headers/include/windows.graphics.directx.direct3d11.h
index 7395ca6..89cd5fc 100644
--- a/mingw-w64-headers/include/windows.graphics.directx.direct3d11.h
+++ b/mingw-w64-headers/include/windows.graphics.directx.direct3d11.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.graphics.directx.direct3d11.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.graphics.directx.direct3d11.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.directx.h b/mingw-w64-headers/include/windows.graphics.directx.h
index 756521e..4615732 100644
--- a/mingw-w64-headers/include/windows.graphics.directx.h
+++ b/mingw-w64-headers/include/windows.graphics.directx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.graphics.directx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.graphics.directx.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.effects.h b/mingw-w64-headers/include/windows.graphics.effects.h
index 8668f23..59b8be9 100644
--- a/mingw-w64-headers/include/windows.graphics.effects.h
+++ b/mingw-w64-headers/include/windows.graphics.effects.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.graphics.effects.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.graphics.effects.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.h b/mingw-w64-headers/include/windows.graphics.h
index c460433..9778dbb 100644
--- a/mingw-w64-headers/include/windows.graphics.h
+++ b/mingw-w64-headers/include/windows.graphics.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.graphics.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.graphics.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.holographic.h b/mingw-w64-headers/include/windows.graphics.holographic.h
index cefd10b..fec9b80 100644
--- a/mingw-w64-headers/include/windows.graphics.holographic.h
+++ b/mingw-w64-headers/include/windows.graphics.holographic.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.graphics.holographic.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.graphics.holographic.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.imaging.h b/mingw-w64-headers/include/windows.graphics.imaging.h
index 79a460b..7ed0367 100644
--- a/mingw-w64-headers/include/windows.graphics.imaging.h
+++ b/mingw-w64-headers/include/windows.graphics.imaging.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.graphics.imaging.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.graphics.imaging.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.management.deployment.h b/mingw-w64-headers/include/windows.management.deployment.h
index 94beae9..2d42e7b 100644
--- a/mingw-w64-headers/include/windows.management.deployment.h
+++ b/mingw-w64-headers/include/windows.management.deployment.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.management.deployment.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.management.deployment.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.capture.h b/mingw-w64-headers/include/windows.media.capture.h
index 996c4ae..8950624 100644
--- a/mingw-w64-headers/include/windows.media.capture.h
+++ b/mingw-w64-headers/include/windows.media.capture.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.capture.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.capture.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.closedcaptioning.h b/mingw-w64-headers/include/windows.media.closedcaptioning.h
index 2d69d84..9e6018a 100644
--- a/mingw-w64-headers/include/windows.media.closedcaptioning.h
+++ b/mingw-w64-headers/include/windows.media.closedcaptioning.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.closedcaptioning.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.closedcaptioning.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.core.h b/mingw-w64-headers/include/windows.media.core.h
index 214fa3b..65cfd9e 100644
--- a/mingw-w64-headers/include/windows.media.core.h
+++ b/mingw-w64-headers/include/windows.media.core.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.core.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.core.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.devices.h b/mingw-w64-headers/include/windows.media.devices.h
index e8e2907..2774b47 100644
--- a/mingw-w64-headers/include/windows.media.devices.h
+++ b/mingw-w64-headers/include/windows.media.devices.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.devices.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.devices.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.effects.h b/mingw-w64-headers/include/windows.media.effects.h
index 7494088..11a196f 100644
--- a/mingw-w64-headers/include/windows.media.effects.h
+++ b/mingw-w64-headers/include/windows.media.effects.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.effects.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.effects.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.faceanalysis.h b/mingw-w64-headers/include/windows.media.faceanalysis.h
index 05fd2ec..2913aa4 100644
--- a/mingw-w64-headers/include/windows.media.faceanalysis.h
+++ b/mingw-w64-headers/include/windows.media.faceanalysis.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.faceanalysis.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.faceanalysis.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.h b/mingw-w64-headers/include/windows.media.h
index 72d95bc..1b415b4 100644
--- a/mingw-w64-headers/include/windows.media.h
+++ b/mingw-w64-headers/include/windows.media.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.mediaproperties.h b/mingw-w64-headers/include/windows.media.mediaproperties.h
index d95764b..56bca14 100644
--- a/mingw-w64-headers/include/windows.media.mediaproperties.h
+++ b/mingw-w64-headers/include/windows.media.mediaproperties.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.mediaproperties.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.mediaproperties.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.playback.h b/mingw-w64-headers/include/windows.media.playback.h
index a53e41c..240d497 100644
--- a/mingw-w64-headers/include/windows.media.playback.h
+++ b/mingw-w64-headers/include/windows.media.playback.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.playback.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.playback.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.render.h b/mingw-w64-headers/include/windows.media.render.h
index 0c0080d..099e7c1 100644
--- a/mingw-w64-headers/include/windows.media.render.h
+++ b/mingw-w64-headers/include/windows.media.render.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.render.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.render.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.speechrecognition.h b/mingw-w64-headers/include/windows.media.speechrecognition.h
index 31156ed..0bd28d1 100644
--- a/mingw-w64-headers/include/windows.media.speechrecognition.h
+++ b/mingw-w64-headers/include/windows.media.speechrecognition.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.speechrecognition.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.speechrecognition.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.speechsynthesis.h b/mingw-w64-headers/include/windows.media.speechsynthesis.h
index 120b042..30ea811 100644
--- a/mingw-w64-headers/include/windows.media.speechsynthesis.h
+++ b/mingw-w64-headers/include/windows.media.speechsynthesis.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.speechsynthesis.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.speechsynthesis.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.transcoding.h b/mingw-w64-headers/include/windows.media.transcoding.h
index 8eac343..374bd23 100644
--- a/mingw-w64-headers/include/windows.media.transcoding.h
+++ b/mingw-w64-headers/include/windows.media.transcoding.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.media.transcoding.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.media.transcoding.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.networking.connectivity.h b/mingw-w64-headers/include/windows.networking.connectivity.h
index 9494ce5..c3fbae3 100644
--- a/mingw-w64-headers/include/windows.networking.connectivity.h
+++ b/mingw-w64-headers/include/windows.networking.connectivity.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.networking.connectivity.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.networking.connectivity.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.networking.h b/mingw-w64-headers/include/windows.networking.h
index 356478b..d108b8d 100644
--- a/mingw-w64-headers/include/windows.networking.h
+++ b/mingw-w64-headers/include/windows.networking.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.networking.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.networking.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.networking.sockets.h b/mingw-w64-headers/include/windows.networking.sockets.h
index 53470ce..b3c6ab7 100644
--- a/mingw-w64-headers/include/windows.networking.sockets.h
+++ b/mingw-w64-headers/include/windows.networking.sockets.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.networking.sockets.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.networking.sockets.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.perception.h b/mingw-w64-headers/include/windows.perception.h
index 26c126e..3ad9453 100644
--- a/mingw-w64-headers/include/windows.perception.h
+++ b/mingw-w64-headers/include/windows.perception.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.perception.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.perception.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.perception.spatial.h b/mingw-w64-headers/include/windows.perception.spatial.h
index 073c039..101c143 100644
--- a/mingw-w64-headers/include/windows.perception.spatial.h
+++ b/mingw-w64-headers/include/windows.perception.spatial.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.perception.spatial.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.perception.spatial.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -69,6 +69,108 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics ABI::Windows::Perception::Spatial::ISpatialAnchorStatics
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor ABI::Windows::Perception::Spatial::ISpatialAnchor
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchor;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency ABI::Windows::Perception::Spatial::ISpatialAnchorExportSufficiency
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorExportSufficiency;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs ABI::Windows::Perception::Spatial::ISpatialAnchorRawCoordinateSystemAdjustedEventArgs
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter ABI::Windows::Perception::Spatial::ISpatialAnchorExporter
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorExporter;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics ABI::Windows::Perception::Spatial::ISpatialAnchorExporterStatics
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorExporterStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingVolume_FWD_DEFINED__
 #define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingVolume_FWD_DEFINED__
 #ifdef __cplusplus
@@ -103,6 +205,74 @@
 #endif /* defined __cplusplus */
 #endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialCoordinateSystem_FWD_DEFINED__ */
 
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                class SpatialAnchor;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor_FWD_DEFINED__ */
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                class SpatialAnchorExportSufficiency;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency_FWD_DEFINED__ */
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                class SpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__ */
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                class SpatialAnchorExporter;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter_FWD_DEFINED__ */
+
 #ifndef ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
 #define ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
 typedef interface __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume;
@@ -159,6 +329,30 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
+#define ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
+typedef interface __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+#ifdef __cplusplus
+#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
+#define ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
+typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency;
+#ifdef __cplusplus
+#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
+#define ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
+typedef interface __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency;
+#ifdef __cplusplus
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* >
+#endif /* __cplusplus */
+#endif
+
 /* Headers for imported files */
 
 #include <inspectable.h>
@@ -271,6 +465,40 @@
 }
 #endif /* __cplusplus */
 
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose_ENUM_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose_ENUM_DEFINED__
+#ifdef __cplusplus
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                enum SpatialAnchorExportPurpose {
+                    SpatialAnchorExportPurpose_Relocalization = 0,
+                    SpatialAnchorExportPurpose_Sharing = 1
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#else
+enum __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose {
+    SpatialAnchorExportPurpose_Relocalization = 0,
+    SpatialAnchorExportPurpose_Sharing = 1
+};
+#ifdef WIDL_using_Windows_Perception_Spatial
+#define SpatialAnchorExportPurpose __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose
+#endif /* WIDL_using_Windows_Perception_Spatial */
+#endif
+
+#endif /* ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose_ENUM_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */
+#ifndef __cplusplus
+typedef enum __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose;
+#endif /* __cplusplus */
+
 #ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_FWD_DEFINED__
 #define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume;
@@ -322,6 +550,108 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs ABI::Windows::Perception::Spatial::ISpatialAnchorRawCoordinateSystemAdjustedEventArgs
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor ABI::Windows::Perception::Spatial::ISpatialAnchor
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchor;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics ABI::Windows::Perception::Spatial::ISpatialAnchorStatics
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency ABI::Windows::Perception::Spatial::ISpatialAnchorExportSufficiency
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorExportSufficiency;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter ABI::Windows::Perception::Spatial::ISpatialAnchorExporter
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorExporter;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics ABI::Windows::Perception::Spatial::ISpatialAnchorExporterStatics
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                interface ISpatialAnchorExporterStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
 #define ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
 typedef interface __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume;
@@ -370,6 +700,14 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
+#define ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
+typedef interface __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency;
+#ifdef __cplusplus
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* >
+#endif /* __cplusplus */
+#endif
+
 #if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
 #ifdef __cplusplus
 } /* extern "C" */
@@ -911,6 +1249,906 @@
 #endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_INTERFACE_DEFINED__ */
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
 
+/*****************************************************************************
+ * ISpatialAnchorStatics interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics, 0xa9928642, 0x0174, 0x311c, 0xae,0x79, 0x0e,0x51,0x07,0x66,0x9f,0x16);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                MIDL_INTERFACE("a9928642-0174-311c-ae79-0e5107669f16")
+                ISpatialAnchorStatics : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE TryCreateRelativeTo(
+                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *coord_system,
+                        ABI::Windows::Perception::Spatial::ISpatialAnchor **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE TryCreateWithPositionRelativeTo(
+                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *coord_system,
+                        ABI::Windows::Foundation::Numerics::Vector3 position,
+                        ABI::Windows::Perception::Spatial::ISpatialAnchor **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE TryCreateWithPositionAndOrientationRelativeTo(
+                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *coord_system,
+                        ABI::Windows::Foundation::Numerics::Vector3 position,
+                        ABI::Windows::Foundation::Numerics::Quaternion orientation,
+                        ABI::Windows::Perception::Spatial::ISpatialAnchor **value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics, 0xa9928642, 0x0174, 0x311c, 0xae,0x79, 0x0e,0x51,0x07,0x66,0x9f,0x16)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStaticsVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
+        TrustLevel *trustLevel);
+
+    /*** ISpatialAnchorStatics methods ***/
+    HRESULT (STDMETHODCALLTYPE *TryCreateRelativeTo)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value);
+
+    HRESULT (STDMETHODCALLTYPE *TryCreateWithPositionRelativeTo)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,
+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value);
+
+    HRESULT (STDMETHODCALLTYPE *TryCreateWithPositionAndOrientationRelativeTo)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,
+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,
+        __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion orientation,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStaticsVtbl;
+
+interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics {
+    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStaticsVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** ISpatialAnchorStatics methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateRelativeTo(This,coord_system,value) (This)->lpVtbl->TryCreateRelativeTo(This,coord_system,value)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionRelativeTo(This,coord_system,position,value) (This)->lpVtbl->TryCreateWithPositionRelativeTo(This,coord_system,position,value)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionAndOrientationRelativeTo(This,coord_system,position,orientation,value) (This)->lpVtbl->TryCreateWithPositionAndOrientationRelativeTo(This,coord_system,position,orientation,value)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** ISpatialAnchorStatics methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateRelativeTo(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value) {
+    return This->lpVtbl->TryCreateRelativeTo(This,coord_system,value);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionRelativeTo(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value) {
+    return This->lpVtbl->TryCreateWithPositionRelativeTo(This,coord_system,position,value);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionAndOrientationRelativeTo(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,__x_ABI_CWindows_CFoundation_CNumerics_CQuaternion orientation,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value) {
+    return This->lpVtbl->TryCreateWithPositionAndOrientationRelativeTo(This,coord_system,position,orientation,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Perception_Spatial
+#define IID_ISpatialAnchorStatics IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics
+#define ISpatialAnchorStaticsVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStaticsVtbl
+#define ISpatialAnchorStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics
+#define ISpatialAnchorStatics_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_QueryInterface
+#define ISpatialAnchorStatics_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_AddRef
+#define ISpatialAnchorStatics_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_Release
+#define ISpatialAnchorStatics_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetIids
+#define ISpatialAnchorStatics_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetRuntimeClassName
+#define ISpatialAnchorStatics_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetTrustLevel
+#define ISpatialAnchorStatics_TryCreateRelativeTo __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateRelativeTo
+#define ISpatialAnchorStatics_TryCreateWithPositionRelativeTo __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionRelativeTo
+#define ISpatialAnchorStatics_TryCreateWithPositionAndOrientationRelativeTo __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionAndOrientationRelativeTo
+#endif /* WIDL_using_Windows_Perception_Spatial */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
+
+/*****************************************************************************
+ * ISpatialAnchor interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor, 0x0529e5ce, 0x1d34, 0x3702, 0xbc,0xec, 0xea,0xbf,0xf5,0x78,0xa8,0x69);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                MIDL_INTERFACE("0529e5ce-1d34-3702-bcec-eabff578a869")
+                ISpatialAnchor : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE get_CoordinateSystem(
+                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE get_RawCoordinateSystem(
+                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE add_RawCoordinateSystemAdjusted(
+                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > *handler,
+                        EventRegistrationToken *cookie) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE remove_RawCoordinateSystemAdjusted(
+                        EventRegistrationToken cookie) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor, 0x0529e5ce, 0x1d34, 0x3702, 0xbc,0xec, 0xea,0xbf,0xf5,0x78,0xa8,0x69)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
+        TrustLevel *trustLevel);
+
+    /*** ISpatialAnchor methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_CoordinateSystem)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_RawCoordinateSystem)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem **value);
+
+    HRESULT (STDMETHODCALLTYPE *add_RawCoordinateSystemAdjusted)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
+        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *handler,
+        EventRegistrationToken *cookie);
+
+    HRESULT (STDMETHODCALLTYPE *remove_RawCoordinateSystemAdjusted)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
+        EventRegistrationToken cookie);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorVtbl;
+
+interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor {
+    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** ISpatialAnchor methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_CoordinateSystem(This,value) (This)->lpVtbl->get_CoordinateSystem(This,value)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_RawCoordinateSystem(This,value) (This)->lpVtbl->get_RawCoordinateSystem(This,value)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_add_RawCoordinateSystemAdjusted(This,handler,cookie) (This)->lpVtbl->add_RawCoordinateSystemAdjusted(This,handler,cookie)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_remove_RawCoordinateSystemAdjusted(This,cookie) (This)->lpVtbl->remove_RawCoordinateSystemAdjusted(This,cookie)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** ISpatialAnchor methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_CoordinateSystem(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem **value) {
+    return This->lpVtbl->get_CoordinateSystem(This,value);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_RawCoordinateSystem(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem **value) {
+    return This->lpVtbl->get_RawCoordinateSystem(This,value);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_add_RawCoordinateSystemAdjusted(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *handler,EventRegistrationToken *cookie) {
+    return This->lpVtbl->add_RawCoordinateSystemAdjusted(This,handler,cookie);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_remove_RawCoordinateSystemAdjusted(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,EventRegistrationToken cookie) {
+    return This->lpVtbl->remove_RawCoordinateSystemAdjusted(This,cookie);
+}
+#endif
+#ifdef WIDL_using_Windows_Perception_Spatial
+#define IID_ISpatialAnchor IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor
+#define ISpatialAnchorVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorVtbl
+#define ISpatialAnchor __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor
+#define ISpatialAnchor_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_QueryInterface
+#define ISpatialAnchor_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_AddRef
+#define ISpatialAnchor_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_Release
+#define ISpatialAnchor_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetIids
+#define ISpatialAnchor_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetRuntimeClassName
+#define ISpatialAnchor_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetTrustLevel
+#define ISpatialAnchor_get_CoordinateSystem __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_CoordinateSystem
+#define ISpatialAnchor_get_RawCoordinateSystem __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_RawCoordinateSystem
+#define ISpatialAnchor_add_RawCoordinateSystemAdjusted __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_add_RawCoordinateSystemAdjusted
+#define ISpatialAnchor_remove_RawCoordinateSystemAdjusted __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_remove_RawCoordinateSystemAdjusted
+#endif /* WIDL_using_Windows_Perception_Spatial */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
+
+/*****************************************************************************
+ * ISpatialAnchorExportSufficiency interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency, 0x77c25b2b, 0x3409, 0x4088, 0xb9,0x1b, 0xfd,0xfd,0x05,0xd1,0x64,0x8f);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                MIDL_INTERFACE("77c25b2b-3409-4088-b91b-fdfd05d1648f")
+                ISpatialAnchorExportSufficiency : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE get_IsMinimallySufficient(
+                        boolean *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE get_SufficiencyLevel(
+                        DOUBLE *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE get_RecommendedSufficiencyLevel(
+                        DOUBLE *value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency, 0x77c25b2b, 0x3409, 0x4088, 0xb9,0x1b, 0xfd,0xfd,0x05,0xd1,0x64,0x8f)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiencyVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
+        TrustLevel *trustLevel);
+
+    /*** ISpatialAnchorExportSufficiency methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_IsMinimallySufficient)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *get_SufficiencyLevel)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
+        DOUBLE *value);
+
+    HRESULT (STDMETHODCALLTYPE *get_RecommendedSufficiencyLevel)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
+        DOUBLE *value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiencyVtbl;
+
+interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency {
+    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiencyVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** ISpatialAnchorExportSufficiency methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_IsMinimallySufficient(This,value) (This)->lpVtbl->get_IsMinimallySufficient(This,value)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_SufficiencyLevel(This,value) (This)->lpVtbl->get_SufficiencyLevel(This,value)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_RecommendedSufficiencyLevel(This,value) (This)->lpVtbl->get_RecommendedSufficiencyLevel(This,value)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** ISpatialAnchorExportSufficiency methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_IsMinimallySufficient(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,boolean *value) {
+    return This->lpVtbl->get_IsMinimallySufficient(This,value);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_SufficiencyLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,DOUBLE *value) {
+    return This->lpVtbl->get_SufficiencyLevel(This,value);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_RecommendedSufficiencyLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,DOUBLE *value) {
+    return This->lpVtbl->get_RecommendedSufficiencyLevel(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Perception_Spatial
+#define IID_ISpatialAnchorExportSufficiency IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency
+#define ISpatialAnchorExportSufficiencyVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiencyVtbl
+#define ISpatialAnchorExportSufficiency __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency
+#define ISpatialAnchorExportSufficiency_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_QueryInterface
+#define ISpatialAnchorExportSufficiency_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_AddRef
+#define ISpatialAnchorExportSufficiency_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_Release
+#define ISpatialAnchorExportSufficiency_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetIids
+#define ISpatialAnchorExportSufficiency_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetRuntimeClassName
+#define ISpatialAnchorExportSufficiency_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetTrustLevel
+#define ISpatialAnchorExportSufficiency_get_IsMinimallySufficient __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_IsMinimallySufficient
+#define ISpatialAnchorExportSufficiency_get_SufficiencyLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_SufficiencyLevel
+#define ISpatialAnchorExportSufficiency_get_RecommendedSufficiencyLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_RecommendedSufficiencyLevel
+#endif /* WIDL_using_Windows_Perception_Spatial */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */
+
+/*****************************************************************************
+ * ISpatialAnchorRawCoordinateSystemAdjustedEventArgs interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs, 0xa1e81eb8, 0x56c7, 0x3117, 0xa2,0xe4, 0x81,0xe0,0xfc,0xf2,0x8e,0x00);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                MIDL_INTERFACE("a1e81eb8-56c7-3117-a2e4-81e0fcf28e00")
+                ISpatialAnchorRawCoordinateSystemAdjustedEventArgs : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(
+                        ABI::Windows::Foundation::Numerics::Matrix4x4 *value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs, 0xa1e81eb8, 0x56c7, 0x3117, 0xa2,0xe4, 0x81,0xe0,0xfc,0xf2,0x8e,0x00)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
+        TrustLevel *trustLevel);
+
+    /*** ISpatialAnchorRawCoordinateSystemAdjustedEventArgs methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
+        __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl;
+
+interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs {
+    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** ISpatialAnchorRawCoordinateSystemAdjustedEventArgs methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(This,value) (This)->lpVtbl->get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(This,value)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** ISpatialAnchorRawCoordinateSystemAdjustedEventArgs methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,__x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value) {
+    return This->lpVtbl->get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Perception_Spatial
+#define IID_ISpatialAnchorRawCoordinateSystemAdjustedEventArgs IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetIids
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetRuntimeClassName
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetTrustLevel
+#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform
+#endif /* WIDL_using_Windows_Perception_Spatial */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
+
+/*****************************************************************************
+ * ISpatialAnchorExporter interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter, 0x9a2a4338, 0x24fb, 0x4269, 0x89,0xc5, 0x88,0x30,0x4a,0xee,0xf2,0x0f);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                MIDL_INTERFACE("9a2a4338-24fb-4269-89c5-88304aeef20f")
+                ISpatialAnchorExporter : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE GetAnchorExportSufficiencyAsync(
+                        ABI::Windows::Perception::Spatial::ISpatialAnchor *anchor,
+                        ABI::Windows::Perception::Spatial::SpatialAnchorExportPurpose purpose,
+                        ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > **operation) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE TryExportAnchorAsync(
+                        ABI::Windows::Perception::Spatial::ISpatialAnchor *anchor,
+                        ABI::Windows::Perception::Spatial::SpatialAnchorExportPurpose purpose,
+                        ABI::Windows::Storage::Streams::IOutputStream *stream,
+                        ABI::Windows::Foundation::IAsyncOperation<boolean > **operation) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter, 0x9a2a4338, 0x24fb, 0x4269, 0x89,0xc5, 0x88,0x30,0x4a,0xee,0xf2,0x0f)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
+        TrustLevel *trustLevel);
+
+    /*** ISpatialAnchorExporter methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetAnchorExportSufficiencyAsync)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *anchor,
+        __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose purpose,
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency **operation);
+
+    HRESULT (STDMETHODCALLTYPE *TryExportAnchorAsync)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *anchor,
+        __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose purpose,
+        __x_ABI_CWindows_CStorage_CStreams_CIOutputStream *stream,
+        __FIAsyncOperation_1_boolean **operation);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterVtbl;
+
+interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter {
+    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** ISpatialAnchorExporter methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetAnchorExportSufficiencyAsync(This,anchor,purpose,operation) (This)->lpVtbl->GetAnchorExportSufficiencyAsync(This,anchor,purpose,operation)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_TryExportAnchorAsync(This,anchor,purpose,stream,operation) (This)->lpVtbl->TryExportAnchorAsync(This,anchor,purpose,stream,operation)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** ISpatialAnchorExporter methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetAnchorExportSufficiencyAsync(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *anchor,__x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose purpose,__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency **operation) {
+    return This->lpVtbl->GetAnchorExportSufficiencyAsync(This,anchor,purpose,operation);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_TryExportAnchorAsync(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *anchor,__x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose purpose,__x_ABI_CWindows_CStorage_CStreams_CIOutputStream *stream,__FIAsyncOperation_1_boolean **operation) {
+    return This->lpVtbl->TryExportAnchorAsync(This,anchor,purpose,stream,operation);
+}
+#endif
+#ifdef WIDL_using_Windows_Perception_Spatial
+#define IID_ISpatialAnchorExporter IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter
+#define ISpatialAnchorExporterVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterVtbl
+#define ISpatialAnchorExporter __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter
+#define ISpatialAnchorExporter_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_QueryInterface
+#define ISpatialAnchorExporter_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_AddRef
+#define ISpatialAnchorExporter_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_Release
+#define ISpatialAnchorExporter_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetIids
+#define ISpatialAnchorExporter_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetRuntimeClassName
+#define ISpatialAnchorExporter_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetTrustLevel
+#define ISpatialAnchorExporter_GetAnchorExportSufficiencyAsync __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetAnchorExportSufficiencyAsync
+#define ISpatialAnchorExporter_TryExportAnchorAsync __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_TryExportAnchorAsync
+#endif /* WIDL_using_Windows_Perception_Spatial */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */
+
+/*****************************************************************************
+ * ISpatialAnchorExporterStatics interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
+#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics, 0xed2507b8, 0x2475, 0x439c, 0x85,0xff, 0x7f,0xed,0x34,0x1f,0xdc,0x88);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Perception {
+            namespace Spatial {
+                MIDL_INTERFACE("ed2507b8-2475-439c-85ff-7fed341fdc88")
+                ISpatialAnchorExporterStatics : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE GetDefault(
+                        ABI::Windows::Perception::Spatial::ISpatialAnchorExporter **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE RequestAccessAsync(
+                        ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > **result) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics, 0xed2507b8, 0x2475, 0x439c, 0x85,0xff, 0x7f,0xed,0x34,0x1f,0xdc,0x88)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStaticsVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
+        TrustLevel *trustLevel);
+
+    /*** ISpatialAnchorExporterStatics methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetDefault)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter **value);
+
+    HRESULT (STDMETHODCALLTYPE *RequestAccessAsync)(
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
+        __FIAsyncOperation_1_SpatialPerceptionAccessStatus **result);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStaticsVtbl;
+
+interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics {
+    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStaticsVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** ISpatialAnchorExporterStatics methods ***/
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetDefault(This,value) (This)->lpVtbl->GetDefault(This,value)
+#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_RequestAccessAsync(This,result) (This)->lpVtbl->RequestAccessAsync(This,result)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** ISpatialAnchorExporterStatics methods ***/
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetDefault(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter **value) {
+    return This->lpVtbl->GetDefault(This,value);
+}
+static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_RequestAccessAsync(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,__FIAsyncOperation_1_SpatialPerceptionAccessStatus **result) {
+    return This->lpVtbl->RequestAccessAsync(This,result);
+}
+#endif
+#ifdef WIDL_using_Windows_Perception_Spatial
+#define IID_ISpatialAnchorExporterStatics IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics
+#define ISpatialAnchorExporterStaticsVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStaticsVtbl
+#define ISpatialAnchorExporterStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics
+#define ISpatialAnchorExporterStatics_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_QueryInterface
+#define ISpatialAnchorExporterStatics_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_AddRef
+#define ISpatialAnchorExporterStatics_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_Release
+#define ISpatialAnchorExporterStatics_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetIids
+#define ISpatialAnchorExporterStatics_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetRuntimeClassName
+#define ISpatialAnchorExporterStatics_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetTrustLevel
+#define ISpatialAnchorExporterStatics_GetDefault __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetDefault
+#define ISpatialAnchorExporterStatics_RequestAccessAsync __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_RequestAccessAsync
+#endif /* WIDL_using_Windows_Perception_Spatial */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */
+
 /*
  * Class Windows.Perception.Spatial.SpatialBoundingVolume
  */
@@ -943,6 +2181,70 @@
 #endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialCoordinateSystem_DEFINED */
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
 
+/*
+ * Class Windows.Perception.Spatial.SpatialAnchor
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
+#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchor_DEFINED
+#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchor_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchor[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchor[] = L"Windows.Perception.Spatial.SpatialAnchor";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchor[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchor_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
+
+/*
+ * Class Windows.Perception.Spatial.SpatialAnchorExportSufficiency
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
+#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExportSufficiency_DEFINED
+#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExportSufficiency_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExportSufficiency[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','E','x','p','o','r','t','S','u','f','f','i','c','i','e','n','c','y',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExportSufficiency[] = L"Windows.Perception.Spatial.SpatialAnchorExportSufficiency";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExportSufficiency[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','E','x','p','o','r','t','S','u','f','f','i','c','i','e','n','c','y',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExportSufficiency_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */
+
+/*
+ * Class Windows.Perception.Spatial.SpatialAnchorRawCoordinateSystemAdjustedEventArgs
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
+#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_DEFINED
+#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','R','a','w','C','o','o','r','d','i','n','a','t','e','S','y','s','t','e','m','A','d','j','u','s','t','e','d','E','v','e','n','t','A','r','g','s',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs[] = L"Windows.Perception.Spatial.SpatialAnchorRawCoordinateSystemAdjustedEventArgs";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','R','a','w','C','o','o','r','d','i','n','a','t','e','S','y','s','t','e','m','A','d','j','u','s','t','e','d','E','v','e','n','t','A','r','g','s',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
+
+/*
+ * Class Windows.Perception.Spatial.SpatialAnchorExporter
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
+#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExporter_DEFINED
+#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExporter_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExporter[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','E','x','p','o','r','t','e','r',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExporter[] = L"Windows.Perception.Spatial.SpatialAnchorExporter";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExporter[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','E','x','p','o','r','t','e','r',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExporter_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */
+
 /*****************************************************************************
  * IIterable<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > interface
  */
@@ -1818,6 +3120,330 @@
 
 #endif  /* ____FIReference_1_SpatialBoundingOrientedBox_INTERFACE_DEFINED__ */
 
+/*****************************************************************************
+ * ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > interface
+ */
+#ifndef ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__
+#define ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs, 0xfa43f9e4, 0x3558, 0x59c8, 0x9a,0x77, 0x6e,0x8b,0x76,0x5a,0xdc,0xc8);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            template<>
+            MIDL_INTERFACE("fa43f9e4-3558-59c8-9a77-6e8b765adcc8")
+            ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialAnchor*, ABI::Windows::Perception::Spatial::ISpatialAnchor* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs*, ABI::Windows::Perception::Spatial::ISpatialAnchorRawCoordinateSystemAdjustedEventArgs* > >
+            {
+            };
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs, 0xfa43f9e4, 0x3558, 0x59c8, 0x9a,0x77, 0x6e,0x8b,0x76,0x5a,0xdc,0xc8)
+#endif
+#else
+typedef struct __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *This);
+
+    /*** ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *sender,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *args);
+
+    END_INTERFACE
+} __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl;
+
+interface __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs {
+    CONST_VTBL __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release(This) (This)->lpVtbl->Release(This)
+/*** ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > methods ***/
+#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > methods ***/
+static inline HRESULT __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Invoke(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *sender,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *args) {
+    return This->lpVtbl->Invoke(This,sender,args);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation
+#define IID_ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs IID___FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs
+#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl
+#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs
+#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface
+#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef
+#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release
+#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_Invoke __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Invoke
+#endif /* WIDL_using_Windows_Foundation */
+#endif
+
+#endif
+
+#endif  /* ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > interface
+ */
+#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__
+#define ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency, 0x4b6593d2, 0x11a8, 0x513e, 0x83,0x8d, 0x42,0x26,0xfb,0x1e,0x3c,0x1f);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            template<>
+            MIDL_INTERFACE("4b6593d2-11a8-513e-838d-4226fb1e3c1f")
+            IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency*, ABI::Windows::Perception::Spatial::ISpatialAnchorExportSufficiency* > >
+            {
+            };
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency, 0x4b6593d2, 0x11a8, 0x513e, 0x83,0x8d, 0x42,0x26,0xfb,0x1e,0x3c,0x1f)
+#endif
+#else
+typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This);
+
+    /*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *info,
+        AsyncStatus status);
+
+    END_INTERFACE
+} __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl;
+
+interface __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency {
+    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release(This) (This)->lpVtbl->Release(This)
+/*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
+#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
+static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *info,AsyncStatus status) {
+    return This->lpVtbl->Invoke(This,info,status);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation
+#define IID_IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency IID___FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency
+#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiencyVtbl __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl
+#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency
+#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface
+#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef
+#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency_Release __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release
+#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Invoke
+#endif /* WIDL_using_Windows_Foundation */
+#endif
+
+#endif
+
+#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > interface
+ */
+#ifndef ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__
+#define ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency, 0x260957b8, 0x5b76, 0x5159, 0x8d,0xc5, 0xe0,0x3d,0x74,0xaa,0x5f,0x3d);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            template<>
+            MIDL_INTERFACE("260957b8-5b76-5159-8dc5-e03d74aa5f3d")
+            IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency*, ABI::Windows::Perception::Spatial::ISpatialAnchorExportSufficiency* > >
+            {
+            };
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency, 0x260957b8, 0x5b76, 0x5159, 0x8d,0xc5, 0xe0,0x3d,0x74,0xaa,0x5f,0x3d)
+#endif
+#else
+typedef struct __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        TrustLevel *trustLevel);
+
+    /*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *put_Completed)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *handler);
+
+    HRESULT (STDMETHODCALLTYPE *get_Completed)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency **handler);
+
+    HRESULT (STDMETHODCALLTYPE *GetResults)(
+        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
+        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency **results);
+
+    END_INTERFACE
+} __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl;
+
+interface __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency {
+    CONST_VTBL __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
+#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetIids(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetTrustLevel(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
+static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_put_Completed(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *handler) {
+    return This->lpVtbl->put_Completed(This,handler);
+}
+static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_get_Completed(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency **handler) {
+    return This->lpVtbl->get_Completed(This,handler);
+}
+static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetResults(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency **results) {
+    return This->lpVtbl->GetResults(This,results);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation
+#define IID_IAsyncOperation_SpatialAnchorExportSufficiency IID___FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency
+#define IAsyncOperation_SpatialAnchorExportSufficiencyVtbl __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl
+#define IAsyncOperation_SpatialAnchorExportSufficiency __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency
+#define IAsyncOperation_SpatialAnchorExportSufficiency_QueryInterface __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface
+#define IAsyncOperation_SpatialAnchorExportSufficiency_AddRef __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef
+#define IAsyncOperation_SpatialAnchorExportSufficiency_Release __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release
+#define IAsyncOperation_SpatialAnchorExportSufficiency_GetIids __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetIids
+#define IAsyncOperation_SpatialAnchorExportSufficiency_GetRuntimeClassName __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetRuntimeClassName
+#define IAsyncOperation_SpatialAnchorExportSufficiency_GetTrustLevel __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetTrustLevel
+#define IAsyncOperation_SpatialAnchorExportSufficiency_put_Completed __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_put_Completed
+#define IAsyncOperation_SpatialAnchorExportSufficiency_get_Completed __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_get_Completed
+#define IAsyncOperation_SpatialAnchorExportSufficiency_GetResults __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetResults
+#endif /* WIDL_using_Windows_Foundation */
+#endif
+
+#endif
+
+#endif  /* ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__ */
+
 /* Begin additional prototypes for all interfaces */
 
 
diff --git a/mingw-w64-headers/include/windows.perception.spatial.surfaces.h b/mingw-w64-headers/include/windows.perception.spatial.surfaces.h
index 57e6f5e..a9a329b 100644
--- a/mingw-w64-headers/include/windows.perception.spatial.surfaces.h
+++ b/mingw-w64-headers/include/windows.perception.spatial.surfaces.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.perception.spatial.surfaces.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.perception.spatial.surfaces.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.authentication.onlineid.h b/mingw-w64-headers/include/windows.security.authentication.onlineid.h
index a35d4f5..fd72768 100644
--- a/mingw-w64-headers/include/windows.security.authentication.onlineid.h
+++ b/mingw-w64-headers/include/windows.security.authentication.onlineid.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.authentication.onlineid.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.authentication.onlineid.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.authorization.appcapabilityaccess.h b/mingw-w64-headers/include/windows.security.authorization.appcapabilityaccess.h
index 537be74..a0e4bb3 100644
--- a/mingw-w64-headers/include/windows.security.authorization.appcapabilityaccess.h
+++ b/mingw-w64-headers/include/windows.security.authorization.appcapabilityaccess.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.authorization.appcapabilityaccess.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.authorization.appcapabilityaccess.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.credentials.h b/mingw-w64-headers/include/windows.security.credentials.h
index 6c4ceb4..2afeb7f 100644
--- a/mingw-w64-headers/include/windows.security.credentials.h
+++ b/mingw-w64-headers/include/windows.security.credentials.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.credentials.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.credentials.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.credentials.ui.h b/mingw-w64-headers/include/windows.security.credentials.ui.h
index b5610bb..fec63e5 100644
--- a/mingw-w64-headers/include/windows.security.credentials.ui.h
+++ b/mingw-w64-headers/include/windows.security.credentials.ui.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.credentials.ui.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.credentials.ui.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.cryptography.core.h b/mingw-w64-headers/include/windows.security.cryptography.core.h
index e2e3160..5220354 100644
--- a/mingw-w64-headers/include/windows.security.cryptography.core.h
+++ b/mingw-w64-headers/include/windows.security.cryptography.core.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.cryptography.core.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.cryptography.core.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.cryptography.h b/mingw-w64-headers/include/windows.security.cryptography.h
index 9a3ead7..cb25906 100644
--- a/mingw-w64-headers/include/windows.security.cryptography.h
+++ b/mingw-w64-headers/include/windows.security.cryptography.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.cryptography.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.cryptography.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.enterprisedata.h b/mingw-w64-headers/include/windows.security.enterprisedata.h
index 436f2c8..4694fe0 100644
--- a/mingw-w64-headers/include/windows.security.enterprisedata.h
+++ b/mingw-w64-headers/include/windows.security.enterprisedata.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.enterprisedata.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.enterprisedata.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.exchangeactivesyncprovisioning.h b/mingw-w64-headers/include/windows.security.exchangeactivesyncprovisioning.h
index 2062d95..7f69917 100644
--- a/mingw-w64-headers/include/windows.security.exchangeactivesyncprovisioning.h
+++ b/mingw-w64-headers/include/windows.security.exchangeactivesyncprovisioning.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.exchangeactivesyncprovisioning.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.exchangeactivesyncprovisioning.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.isolation.h b/mingw-w64-headers/include/windows.security.isolation.h
index b72b674..42570c9 100644
--- a/mingw-w64-headers/include/windows.security.isolation.h
+++ b/mingw-w64-headers/include/windows.security.isolation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.security.isolation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.security.isolation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.fileproperties.h b/mingw-w64-headers/include/windows.storage.fileproperties.h
index c311726..98b9a3d 100644
--- a/mingw-w64-headers/include/windows.storage.fileproperties.h
+++ b/mingw-w64-headers/include/windows.storage.fileproperties.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.storage.fileproperties.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.storage.fileproperties.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.h b/mingw-w64-headers/include/windows.storage.h
index 5587900..d3a802c 100644
--- a/mingw-w64-headers/include/windows.storage.h
+++ b/mingw-w64-headers/include/windows.storage.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.storage.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.storage.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.search.h b/mingw-w64-headers/include/windows.storage.search.h
index f004649..4b1459a 100644
--- a/mingw-w64-headers/include/windows.storage.search.h
+++ b/mingw-w64-headers/include/windows.storage.search.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.storage.search.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.storage.search.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.streams.h b/mingw-w64-headers/include/windows.storage.streams.h
index 865297e..8293368 100644
--- a/mingw-w64-headers/include/windows.storage.streams.h
+++ b/mingw-w64-headers/include/windows.storage.streams.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.storage.streams.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.storage.streams.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.h b/mingw-w64-headers/include/windows.system.h
index 544ef8a..63ae788 100644
--- a/mingw-w64-headers/include/windows.system.h
+++ b/mingw-w64-headers/include/windows.system.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.system.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.system.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.power.h b/mingw-w64-headers/include/windows.system.power.h
index edb2a9b..dac72a2 100644
--- a/mingw-w64-headers/include/windows.system.power.h
+++ b/mingw-w64-headers/include/windows.system.power.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.system.power.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.system.power.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.profile.h b/mingw-w64-headers/include/windows.system.profile.h
index 9d76454..7e28152 100644
--- a/mingw-w64-headers/include/windows.system.profile.h
+++ b/mingw-w64-headers/include/windows.system.profile.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.system.profile.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.system.profile.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.profile.systemmanufacturers.h b/mingw-w64-headers/include/windows.system.profile.systemmanufacturers.h
index d8f0699..f683d23 100644
--- a/mingw-w64-headers/include/windows.system.profile.systemmanufacturers.h
+++ b/mingw-w64-headers/include/windows.system.profile.systemmanufacturers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.system.profile.systemmanufacturers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.system.profile.systemmanufacturers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.threading.h b/mingw-w64-headers/include/windows.system.threading.h
index 5e9b53b..403f459 100644
--- a/mingw-w64-headers/include/windows.system.threading.h
+++ b/mingw-w64-headers/include/windows.system.threading.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.system.threading.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.system.threading.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.userprofile.h b/mingw-w64-headers/include/windows.system.userprofile.h
index 525bc1d..7a7f144 100644
--- a/mingw-w64-headers/include/windows.system.userprofile.h
+++ b/mingw-w64-headers/include/windows.system.userprofile.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.system.userprofile.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.system.userprofile.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.composition.h b/mingw-w64-headers/include/windows.ui.composition.h
index b420f35..95f2a83 100644
--- a/mingw-w64-headers/include/windows.ui.composition.h
+++ b/mingw-w64-headers/include/windows.ui.composition.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.composition.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.composition.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.h b/mingw-w64-headers/include/windows.ui.composition.interop.h
index bc45e52..0324075 100644
--- a/mingw-w64-headers/include/windows.ui.composition.interop.h
+++ b/mingw-w64-headers/include/windows.ui.composition.interop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.composition.interop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.composition.interop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.core.h b/mingw-w64-headers/include/windows.ui.core.h
index 34d1544..9f1302b 100644
--- a/mingw-w64-headers/include/windows.ui.core.h
+++ b/mingw-w64-headers/include/windows.ui.core.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.core.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.core.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.h b/mingw-w64-headers/include/windows.ui.h
index 22f5611..4677102 100644
--- a/mingw-w64-headers/include/windows.ui.h
+++ b/mingw-w64-headers/include/windows.ui.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.input.h b/mingw-w64-headers/include/windows.ui.input.h
index b6cfb99..ff688b9 100644
--- a/mingw-w64-headers/include/windows.ui.input.h
+++ b/mingw-w64-headers/include/windows.ui.input.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.input.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.input.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.notifications.h b/mingw-w64-headers/include/windows.ui.notifications.h
index f9d856f..a7de1fe 100644
--- a/mingw-w64-headers/include/windows.ui.notifications.h
+++ b/mingw-w64-headers/include/windows.ui.notifications.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.notifications.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.notifications.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.viewmanagement.core.h b/mingw-w64-headers/include/windows.ui.viewmanagement.core.h
index 4224373..fd871d8 100644
--- a/mingw-w64-headers/include/windows.ui.viewmanagement.core.h
+++ b/mingw-w64-headers/include/windows.ui.viewmanagement.core.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.viewmanagement.core.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.viewmanagement.core.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -357,6 +357,14 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_FWD_DEFINED__
+#define ____FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_FWD_DEFINED__
+typedef interface __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion;
+#ifdef __cplusplus
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion ABI::Windows::Foundation::Collections::IVector<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion* >
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_FWD_DEFINED__
 #define ____FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_FWD_DEFINED__
 typedef interface __FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion __FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion;
@@ -771,6 +779,14 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_FWD_DEFINED__
+#define ____FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_FWD_DEFINED__
+typedef interface __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion;
+#ifdef __cplusplus
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion ABI::Windows::Foundation::Collections::IVector<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion* >
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_FWD_DEFINED__
 #define ____FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_FWD_DEFINED__
 typedef interface __FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion __FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion;
@@ -2853,6 +2869,236 @@
 #endif  /* ____FIIterator_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
+ * IVector<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion* > interface
+ */
+#ifndef ____FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_INTERFACE_DEFINED__
+#define ____FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion, 0x496abefc, 0x24af, 0x5e94, 0xb8,0x57, 0xb0,0xf2,0x4d,0xb2,0x3e,0xf6);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("496abefc-24af-5e94-b857-b0f24db23ef6")
+                IVector<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion* > : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion*, ABI::Windows::UI::ViewManagement::Core::ICoreInputViewOcclusion* > >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion, 0x496abefc, 0x24af, 0x5e94, 0xb8,0x57, 0xb0,0xf2,0x4d,0xb2,0x3e,0xf6)
+#endif
+#else
+typedef struct __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusionVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        TrustLevel *trustLevel);
+
+    /*** IVector<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetAt)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        UINT32 index,
+        __x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Size)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        UINT32 *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetView)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        __FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion **value);
+
+    HRESULT (STDMETHODCALLTYPE *IndexOf)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        __x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion *element,
+        UINT32 *index,
+        BOOLEAN *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetAt)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        UINT32 index,
+        __x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion *value);
+
+    HRESULT (STDMETHODCALLTYPE *InsertAt)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        UINT32 index,
+        __x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion *value);
+
+    HRESULT (STDMETHODCALLTYPE *RemoveAt)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        UINT32 index);
+
+    HRESULT (STDMETHODCALLTYPE *Append)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        __x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion *value);
+
+    HRESULT (STDMETHODCALLTYPE *RemoveAtEnd)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This);
+
+    HRESULT (STDMETHODCALLTYPE *Clear)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetMany)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        UINT32 start_index,
+        UINT32 items_size,
+        __x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion **items,
+        UINT32 *value);
+
+    HRESULT (STDMETHODCALLTYPE *ReplaceAll)(
+        __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion *This,
+        UINT32 count,
+        __x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion **items);
+
+    END_INTERFACE
+} __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusionVtbl;
+
+interface __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion {
+    CONST_VTBL __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusionVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IVector<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion* > methods ***/
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetView(This,value) (This)->lpVtbl->GetView(This,value)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_SetAt(This,index,value) (This)->lpVtbl->SetAt(This,index,value)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_InsertAt(This,index,value) (This)->lpVtbl->InsertAt(This,index,value)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Append(This,value) (This)->lpVtbl->Append(This,value)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_RemoveAtEnd(This) (This)->lpVtbl->RemoveAtEnd(This)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Clear(This) (This)->lpVtbl->Clear(This)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
+#define __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_ReplaceAll(This,count,items) (This)->lpVtbl->ReplaceAll(This,count,items)
+#else
+/*** IUnknown methods ***/
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_QueryInterface(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static inline ULONG __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_AddRef(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static inline ULONG __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Release(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetIids(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetRuntimeClassName(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetTrustLevel(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IVector<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion* > methods ***/
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetAt(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,UINT32 index,__x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion **value) {
+    return This->lpVtbl->GetAt(This,index,value);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_get_Size(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,UINT32 *value) {
+    return This->lpVtbl->get_Size(This,value);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetView(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,__FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion **value) {
+    return This->lpVtbl->GetView(This,value);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_IndexOf(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,__x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion *element,UINT32 *index,BOOLEAN *value) {
+    return This->lpVtbl->IndexOf(This,element,index,value);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_SetAt(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,UINT32 index,__x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion *value) {
+    return This->lpVtbl->SetAt(This,index,value);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_InsertAt(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,UINT32 index,__x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion *value) {
+    return This->lpVtbl->InsertAt(This,index,value);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_RemoveAt(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,UINT32 index) {
+    return This->lpVtbl->RemoveAt(This,index);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Append(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,__x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion *value) {
+    return This->lpVtbl->Append(This,value);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_RemoveAtEnd(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This) {
+    return This->lpVtbl->RemoveAtEnd(This);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Clear(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This) {
+    return This->lpVtbl->Clear(This);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetMany(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion **items,UINT32 *value) {
+    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
+}
+static inline HRESULT __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_ReplaceAll(__FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion* This,UINT32 count,__x_ABI_CWindows_CUI_CViewManagement_CCore_CICoreInputViewOcclusion **items) {
+    return This->lpVtbl->ReplaceAll(This,count,items);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IVector_CoreInputViewOcclusion IID___FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion
+#define IVector_CoreInputViewOcclusionVtbl __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusionVtbl
+#define IVector_CoreInputViewOcclusion __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion
+#define IVector_CoreInputViewOcclusion_QueryInterface __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_QueryInterface
+#define IVector_CoreInputViewOcclusion_AddRef __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_AddRef
+#define IVector_CoreInputViewOcclusion_Release __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Release
+#define IVector_CoreInputViewOcclusion_GetIids __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetIids
+#define IVector_CoreInputViewOcclusion_GetRuntimeClassName __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetRuntimeClassName
+#define IVector_CoreInputViewOcclusion_GetTrustLevel __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetTrustLevel
+#define IVector_CoreInputViewOcclusion_GetAt __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetAt
+#define IVector_CoreInputViewOcclusion_get_Size __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_get_Size
+#define IVector_CoreInputViewOcclusion_GetView __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetView
+#define IVector_CoreInputViewOcclusion_IndexOf __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_IndexOf
+#define IVector_CoreInputViewOcclusion_SetAt __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_SetAt
+#define IVector_CoreInputViewOcclusion_InsertAt __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_InsertAt
+#define IVector_CoreInputViewOcclusion_RemoveAt __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_RemoveAt
+#define IVector_CoreInputViewOcclusion_Append __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Append
+#define IVector_CoreInputViewOcclusion_RemoveAtEnd __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_RemoveAtEnd
+#define IVector_CoreInputViewOcclusion_Clear __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_Clear
+#define IVector_CoreInputViewOcclusion_GetMany __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_GetMany
+#define IVector_CoreInputViewOcclusion_ReplaceAll __FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_ReplaceAll
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIVector_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
  * IVectorView<ABI::Windows::UI::ViewManagement::Core::CoreInputViewOcclusion* > interface
  */
 #ifndef ____FIVectorView_1_Windows__CUI__CViewManagement__CCore__CCoreInputViewOcclusion_INTERFACE_DEFINED__
diff --git a/mingw-w64-headers/include/windows.ui.viewmanagement.h b/mingw-w64-headers/include/windows.ui.viewmanagement.h
index c7abcf9..5c0764c 100644
--- a/mingw-w64-headers/include/windows.ui.viewmanagement.h
+++ b/mingw-w64-headers/include/windows.ui.viewmanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.viewmanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.viewmanagement.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.windowmanagement.h b/mingw-w64-headers/include/windows.ui.windowmanagement.h
index 2959d6a..11d2cda 100644
--- a/mingw-w64-headers/include/windows.ui.windowmanagement.h
+++ b/mingw-w64-headers/include/windows.ui.windowmanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.windowmanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.windowmanagement.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.xaml.h b/mingw-w64-headers/include/windows.ui.xaml.h
index d0a98b3..14bc909 100644
--- a/mingw-w64-headers/include/windows.ui.xaml.h
+++ b/mingw-w64-headers/include/windows.ui.xaml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.xaml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.xaml.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.xaml.hosting.desktopwindowxamlsource.h b/mingw-w64-headers/include/windows.ui.xaml.hosting.desktopwindowxamlsource.h
index 6ca470d..fefc77c 100644
--- a/mingw-w64-headers/include/windows.ui.xaml.hosting.desktopwindowxamlsource.h
+++ b/mingw-w64-headers/include/windows.ui.xaml.hosting.desktopwindowxamlsource.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.xaml.hosting.desktopwindowxamlsource.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.xaml.hosting.desktopwindowxamlsource.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.xaml.interop.h b/mingw-w64-headers/include/windows.ui.xaml.interop.h
index a6bc6b4..35802cf 100644
--- a/mingw-w64-headers/include/windows.ui.xaml.interop.h
+++ b/mingw-w64-headers/include/windows.ui.xaml.interop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windows.ui.xaml.interop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windows.ui.xaml.interop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windowscontracts.h b/mingw-w64-headers/include/windowscontracts.h
index f805ea8..712640a 100644
--- a/mingw-w64-headers/include/windowscontracts.h
+++ b/mingw-w64-headers/include/windowscontracts.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/windowscontracts.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/windowscontracts.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmcodecdsp.h b/mingw-w64-headers/include/wmcodecdsp.h
index d912dad..09885d7 100644
--- a/mingw-w64-headers/include/wmcodecdsp.h
+++ b/mingw-w64-headers/include/wmcodecdsp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmcodecdsp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmcodecdsp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmcontainer.h b/mingw-w64-headers/include/wmcontainer.h
index f9c1302..ca7c478 100644
--- a/mingw-w64-headers/include/wmcontainer.h
+++ b/mingw-w64-headers/include/wmcontainer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmcontainer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmcontainer.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmdrmsdk.h b/mingw-w64-headers/include/wmdrmsdk.h
index c50e35b..702284e 100644
--- a/mingw-w64-headers/include/wmdrmsdk.h
+++ b/mingw-w64-headers/include/wmdrmsdk.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmdrmsdk.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmdrmsdk.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmp.h b/mingw-w64-headers/include/wmp.h
index 31318df..a299133 100644
--- a/mingw-w64-headers/include/wmp.h
+++ b/mingw-w64-headers/include/wmp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmprealestate.h b/mingw-w64-headers/include/wmprealestate.h
index 2a3c912..b8b3173 100644
--- a/mingw-w64-headers/include/wmprealestate.h
+++ b/mingw-w64-headers/include/wmprealestate.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmprealestate.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmprealestate.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmpservices.h b/mingw-w64-headers/include/wmpservices.h
index 0976793..68480c6 100644
--- a/mingw-w64-headers/include/wmpservices.h
+++ b/mingw-w64-headers/include/wmpservices.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmpservices.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmpservices.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmsbuffer.h b/mingw-w64-headers/include/wmsbuffer.h
index e011f41..be10758 100644
--- a/mingw-w64-headers/include/wmsbuffer.h
+++ b/mingw-w64-headers/include/wmsbuffer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmsbuffer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmsbuffer.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmsdkidl.h b/mingw-w64-headers/include/wmsdkidl.h
index b94afb8..0758be8 100644
--- a/mingw-w64-headers/include/wmsdkidl.h
+++ b/mingw-w64-headers/include/wmsdkidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmsdkidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmsdkidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmsecure.h b/mingw-w64-headers/include/wmsecure.h
index 507f28f..0249f89 100644
--- a/mingw-w64-headers/include/wmsecure.h
+++ b/mingw-w64-headers/include/wmsecure.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wmsecure.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wmsecure.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wpcapi.h b/mingw-w64-headers/include/wpcapi.h
index cb5c90a..afd3641 100644
--- a/mingw-w64-headers/include/wpcapi.h
+++ b/mingw-w64-headers/include/wpcapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wpcapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wpcapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdattachment.h b/mingw-w64-headers/include/wsdattachment.h
index 6bf8889..3826de2 100644
--- a/mingw-w64-headers/include/wsdattachment.h
+++ b/mingw-w64-headers/include/wsdattachment.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wsdattachment.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wsdattachment.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdbase.h b/mingw-w64-headers/include/wsdbase.h
index 1b3c6f1..d7d8aa2 100644
--- a/mingw-w64-headers/include/wsdbase.h
+++ b/mingw-w64-headers/include/wsdbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wsdbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wsdbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdclient.h b/mingw-w64-headers/include/wsdclient.h
index 77da241..f636b57 100644
--- a/mingw-w64-headers/include/wsdclient.h
+++ b/mingw-w64-headers/include/wsdclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wsdclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wsdclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsddisco.h b/mingw-w64-headers/include/wsddisco.h
index 595859e..b78ce2c 100644
--- a/mingw-w64-headers/include/wsddisco.h
+++ b/mingw-w64-headers/include/wsddisco.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wsddisco.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wsddisco.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdhost.h b/mingw-w64-headers/include/wsdhost.h
index efd20a0..3c59916 100644
--- a/mingw-w64-headers/include/wsdhost.h
+++ b/mingw-w64-headers/include/wsdhost.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wsdhost.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wsdhost.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdxml.h b/mingw-w64-headers/include/wsdxml.h
index 35aeb0e..e6c4246 100644
--- a/mingw-w64-headers/include/wsdxml.h
+++ b/mingw-w64-headers/include/wsdxml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wsdxml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wsdxml.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsmandisp.h b/mingw-w64-headers/include/wsmandisp.h
index 34b1c3d..6f2b111 100644
--- a/mingw-w64-headers/include/wsmandisp.h
+++ b/mingw-w64-headers/include/wsmandisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wsmandisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wsmandisp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wtypes.h b/mingw-w64-headers/include/wtypes.h
index 412fdd9..e23106f 100644
--- a/mingw-w64-headers/include/wtypes.h
+++ b/mingw-w64-headers/include/wtypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wtypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wtypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wtypesbase.h b/mingw-w64-headers/include/wtypesbase.h
index 5a3e739..a3a22f0 100644
--- a/mingw-w64-headers/include/wtypesbase.h
+++ b/mingw-w64-headers/include/wtypesbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wtypesbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wtypesbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wuapi.h b/mingw-w64-headers/include/wuapi.h
index 25c180a..d732cdf 100644
--- a/mingw-w64-headers/include/wuapi.h
+++ b/mingw-w64-headers/include/wuapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/wuapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/wuapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xamlom.h b/mingw-w64-headers/include/xamlom.h
index cb7050f..9200026 100644
--- a/mingw-w64-headers/include/xamlom.h
+++ b/mingw-w64-headers/include/xamlom.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xamlom.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xamlom.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xapo.h b/mingw-w64-headers/include/xapo.h
index 6e98511..c010da0 100644
--- a/mingw-w64-headers/include/xapo.h
+++ b/mingw-w64-headers/include/xapo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xapo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xapo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xaudio2.h b/mingw-w64-headers/include/xaudio2.h
index a9b70a7..1ceb1ed 100644
--- a/mingw-w64-headers/include/xaudio2.h
+++ b/mingw-w64-headers/include/xaudio2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xaudio2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xaudio2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -1858,6 +1858,7 @@
 #endif
 #pragma pack(pop)
 HRESULT WINAPI XAudio2Create(IXAudio2** pxaudio2, UINT32 flags, XAUDIO2_PROCESSOR processor);
+HRESULT WINAPI XAudio2CreateWithVersionInfo(IXAudio2** pxaudio2, UINT32 flags, XAUDIO2_PROCESSOR processor, DWORD version);
 /* Begin additional prototypes for all interfaces */
 
 
diff --git a/mingw-w64-headers/include/xaudio2fx.h b/mingw-w64-headers/include/xaudio2fx.h
index 70b8453..b1e9930 100644
--- a/mingw-w64-headers/include/xaudio2fx.h
+++ b/mingw-w64-headers/include/xaudio2fx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xaudio2fx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xaudio2fx.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xmllite.h b/mingw-w64-headers/include/xmllite.h
index 662b6ed..d794a72 100644
--- a/mingw-w64-headers/include/xmllite.h
+++ b/mingw-w64-headers/include/xmllite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xmllite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xmllite.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsdigitalsignature.h b/mingw-w64-headers/include/xpsdigitalsignature.h
index 6aa4e6e..03ec27f 100644
--- a/mingw-w64-headers/include/xpsdigitalsignature.h
+++ b/mingw-w64-headers/include/xpsdigitalsignature.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xpsdigitalsignature.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xpsdigitalsignature.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsobjectmodel.h b/mingw-w64-headers/include/xpsobjectmodel.h
index 101f4f2..d99f408 100644
--- a/mingw-w64-headers/include/xpsobjectmodel.h
+++ b/mingw-w64-headers/include/xpsobjectmodel.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xpsobjectmodel.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xpsobjectmodel.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsobjectmodel_1.h b/mingw-w64-headers/include/xpsobjectmodel_1.h
index 122ff4b..359edb4 100644
--- a/mingw-w64-headers/include/xpsobjectmodel_1.h
+++ b/mingw-w64-headers/include/xpsobjectmodel_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xpsobjectmodel_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xpsobjectmodel_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsprint.h b/mingw-w64-headers/include/xpsprint.h
index b8e82dc..b886721 100644
--- a/mingw-w64-headers/include/xpsprint.h
+++ b/mingw-w64-headers/include/xpsprint.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xpsprint.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xpsprint.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsrassvc.h b/mingw-w64-headers/include/xpsrassvc.h
index 7582b09..a2e1e0f 100644
--- a/mingw-w64-headers/include/xpsrassvc.h
+++ b/mingw-w64-headers/include/xpsrassvc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 10.16 from include/xpsrassvc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 11.0-rc1 from include/xpsrassvc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
