diff --git a/mingw-w64-headers/include/activation.h b/mingw-w64-headers/include/activation.h
index 6a07fd4..00999b4 100644
--- a/mingw-w64-headers/include/activation.h
+++ b/mingw-w64-headers/include/activation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/activation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 2c59007..429f1c5 100644
--- a/mingw-w64-headers/include/activaut.h
+++ b/mingw-w64-headers/include/activaut.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/activaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 70be37f..5960a06 100644
--- a/mingw-w64-headers/include/activdbg.h
+++ b/mingw-w64-headers/include/activdbg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/activdbg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 8f4b7df..9487198 100644
--- a/mingw-w64-headers/include/activdbg100.h
+++ b/mingw-w64-headers/include/activdbg100.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/activdbg100.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 b6cb315..cc4d7be 100644
--- a/mingw-w64-headers/include/activprof.h
+++ b/mingw-w64-headers/include/activprof.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/activprof.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 f6c3983..8ef4327 100644
--- a/mingw-w64-headers/include/activscp.h
+++ b/mingw-w64-headers/include/activscp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/activscp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 bd8eb74..8b61e08 100644
--- a/mingw-w64-headers/include/adhoc.h
+++ b/mingw-w64-headers/include/adhoc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/adhoc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 c39b847..8554079 100644
--- a/mingw-w64-headers/include/alg.h
+++ b/mingw-w64-headers/include/alg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/alg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 b66108e..7d97cfc 100644
--- a/mingw-w64-headers/include/amstream.h
+++ b/mingw-w64-headers/include/amstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/amstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 888c4be..4669198 100644
--- a/mingw-w64-headers/include/amvideo.h
+++ b/mingw-w64-headers/include/amvideo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/amvideo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/amvideo.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 8df8f02..4f5bdea 100644
--- a/mingw-w64-headers/include/audioclient.h
+++ b/mingw-w64-headers/include/audioclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/audioclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 156485b..b5ba40f 100644
--- a/mingw-w64-headers/include/audioendpoints.h
+++ b/mingw-w64-headers/include/audioendpoints.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/audioendpoints.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 64368bd..0091bd0 100644
--- a/mingw-w64-headers/include/audiopolicy.h
+++ b/mingw-w64-headers/include/audiopolicy.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/audiopolicy.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 dd722e6..9677c5d 100644
--- a/mingw-w64-headers/include/austream.h
+++ b/mingw-w64-headers/include/austream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/austream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 ed9d6bc..0836664 100644
--- a/mingw-w64-headers/include/bdaiface.h
+++ b/mingw-w64-headers/include/bdaiface.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/bdaiface.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/bdaiface.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 1b94053..0511c4b 100644
--- a/mingw-w64-headers/include/comadmin.h
+++ b/mingw-w64-headers/include/comadmin.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/comadmin.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 34b582b..a2a9dda 100644
--- a/mingw-w64-headers/include/comcat.h
+++ b/mingw-w64-headers/include/comcat.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/comcat.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 8e0a2a5..ae4587f 100644
--- a/mingw-w64-headers/include/commoncontrols.h
+++ b/mingw-w64-headers/include/commoncontrols.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/commoncontrols.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 6da564c..7d5d68c 100644
--- a/mingw-w64-headers/include/control.h
+++ b/mingw-w64-headers/include/control.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/control.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/control.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 c2a151d..721d92c 100644
--- a/mingw-w64-headers/include/ctfutb.h
+++ b/mingw-w64-headers/include/ctfutb.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/ctfutb.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/ctfutb.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 09394ae..0015ee4 100644
--- a/mingw-w64-headers/include/d3d10.h
+++ b/mingw-w64-headers/include/d3d10.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d10.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 0f5fd7e..3af5c11 100644
--- a/mingw-w64-headers/include/d3d10_1.h
+++ b/mingw-w64-headers/include/d3d10_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d10_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/d3d10_1.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 71cc769..e0ab4c4 100644
--- a/mingw-w64-headers/include/d3d10sdklayers.h
+++ b/mingw-w64-headers/include/d3d10sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d10sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/d3d10sdklayers.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 f657c85..5b77a98 100644
--- a/mingw-w64-headers/include/d3d11.h
+++ b/mingw-w64-headers/include/d3d11.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d11.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/d3d11.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11_1.h b/mingw-w64-headers/include/d3d11_1.h
index fb73a2b..6bf6b62 100644
--- a/mingw-w64-headers/include/d3d11_1.h
+++ b/mingw-w64-headers/include/d3d11_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d11_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 044c0c8..ec42871 100644
--- a/mingw-w64-headers/include/d3d11_2.h
+++ b/mingw-w64-headers/include/d3d11_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d11_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 3f13f27..a1a2b51 100644
--- a/mingw-w64-headers/include/d3d11_3.h
+++ b/mingw-w64-headers/include/d3d11_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d11_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 42c2303..e1ba34e 100644
--- a/mingw-w64-headers/include/d3d11_4.h
+++ b/mingw-w64-headers/include/d3d11_4.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d11_4.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 16a5538..c0d0cb6 100644
--- a/mingw-w64-headers/include/d3d11on12.h
+++ b/mingw-w64-headers/include/d3d11on12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d11on12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 cfa335b..f7684f7 100644
--- a/mingw-w64-headers/include/d3d11sdklayers.h
+++ b/mingw-w64-headers/include/d3d11sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d11sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 2790e68..f58a03e 100644
--- a/mingw-w64-headers/include/d3d12.h
+++ b/mingw-w64-headers/include/d3d12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/d3d12.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d12sdklayers.h b/mingw-w64-headers/include/d3d12sdklayers.h
index e1941aa..e0f3a86 100644
--- a/mingw-w64-headers/include/d3d12sdklayers.h
+++ b/mingw-w64-headers/include/d3d12sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d12sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 3b0e430..db0fc4f 100644
--- a/mingw-w64-headers/include/d3d12shader.h
+++ b/mingw-w64-headers/include/d3d12shader.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3d12shader.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/d3d12shader.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3dcommon.h b/mingw-w64-headers/include/d3dcommon.h
index deb068c..9fa1f43 100644
--- a/mingw-w64-headers/include/d3dcommon.h
+++ b/mingw-w64-headers/include/d3dcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/d3dcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 ef16a10..9f48892 100644
--- a/mingw-w64-headers/include/dbgprop.h
+++ b/mingw-w64-headers/include/dbgprop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dbgprop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 fbcf8db..4da028d 100644
--- a/mingw-w64-headers/include/dcommon.h
+++ b/mingw-w64-headers/include/dcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 6a1dfe1..570a9b6 100644
--- a/mingw-w64-headers/include/dcompanimation.h
+++ b/mingw-w64-headers/include/dcompanimation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dcompanimation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 837478b..9406f70 100644
--- a/mingw-w64-headers/include/ddstream.h
+++ b/mingw-w64-headers/include/ddstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/ddstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 e679f8d..a596dda 100644
--- a/mingw-w64-headers/include/devicetopology.h
+++ b/mingw-w64-headers/include/devicetopology.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/devicetopology.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 4e51f88..5e2ba42 100644
--- a/mingw-w64-headers/include/dimm.h
+++ b/mingw-w64-headers/include/dimm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dimm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 5d10268..a4b8222 100644
--- a/mingw-w64-headers/include/dinputd.h
+++ b/mingw-w64-headers/include/dinputd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dinputd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 5003418..6491123 100644
--- a/mingw-w64-headers/include/directmanipulation.h
+++ b/mingw-w64-headers/include/directmanipulation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/directmanipulation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 8dac966..9cbab73 100644
--- a/mingw-w64-headers/include/dispex.h
+++ b/mingw-w64-headers/include/dispex.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dispex.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 d6eaeb3..43de083 100644
--- a/mingw-w64-headers/include/dmodshow.h
+++ b/mingw-w64-headers/include/dmodshow.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dmodshow.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 dc7d859..351fa86 100644
--- a/mingw-w64-headers/include/docobj.h
+++ b/mingw-w64-headers/include/docobj.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/docobj.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 2fc3679..b3f1d19 100644
--- a/mingw-w64-headers/include/docobjectservice.h
+++ b/mingw-w64-headers/include/docobjectservice.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/docobjectservice.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 db83d6e..cf67ee3 100644
--- a/mingw-w64-headers/include/documenttarget.h
+++ b/mingw-w64-headers/include/documenttarget.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/documenttarget.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 0ac8921..9b368a8 100644
--- a/mingw-w64-headers/include/downloadmgr.h
+++ b/mingw-w64-headers/include/downloadmgr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/downloadmgr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 49ca52b..f2fb321 100644
--- a/mingw-w64-headers/include/drmexternals.h
+++ b/mingw-w64-headers/include/drmexternals.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/drmexternals.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 f2708d6..fa55df3 100644
--- a/mingw-w64-headers/include/dvdif.h
+++ b/mingw-w64-headers/include/dvdif.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dvdif.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 b9614d8..3b7e0c2 100644
--- a/mingw-w64-headers/include/dwrite.h
+++ b/mingw-w64-headers/include/dwrite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dwrite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 d7e0dac..ce27259 100644
--- a/mingw-w64-headers/include/dwrite_1.h
+++ b/mingw-w64-headers/include/dwrite_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dwrite_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 5d59103..06c021a 100644
--- a/mingw-w64-headers/include/dwrite_2.h
+++ b/mingw-w64-headers/include/dwrite_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dwrite_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 795d8fe..7ea105f 100644
--- a/mingw-w64-headers/include/dwrite_3.h
+++ b/mingw-w64-headers/include/dwrite_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dwrite_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 0e83639..d88da23 100644
--- a/mingw-w64-headers/include/dxgi.h
+++ b/mingw-w64-headers/include/dxgi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 44f9f40..2b54ea7 100644
--- a/mingw-w64-headers/include/dxgi1_2.h
+++ b/mingw-w64-headers/include/dxgi1_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgi1_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 b6c6063..a7fddf7 100644
--- a/mingw-w64-headers/include/dxgi1_3.h
+++ b/mingw-w64-headers/include/dxgi1_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgi1_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 a0c13d4..6d9b7be 100644
--- a/mingw-w64-headers/include/dxgi1_4.h
+++ b/mingw-w64-headers/include/dxgi1_4.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgi1_4.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 6705e8a..28a53b0 100644
--- a/mingw-w64-headers/include/dxgi1_5.h
+++ b/mingw-w64-headers/include/dxgi1_5.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgi1_5.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 aa84bd9..71d0c36 100644
--- a/mingw-w64-headers/include/dxgi1_6.h
+++ b/mingw-w64-headers/include/dxgi1_6.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgi1_6.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 001c277..86e9617 100644
--- a/mingw-w64-headers/include/dxgicommon.h
+++ b/mingw-w64-headers/include/dxgicommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgicommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 68e9b73..cc25293 100644
--- a/mingw-w64-headers/include/dxgidebug.h
+++ b/mingw-w64-headers/include/dxgidebug.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgidebug.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 4e49ec1..7949276 100644
--- a/mingw-w64-headers/include/dxgiformat.h
+++ b/mingw-w64-headers/include/dxgiformat.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgiformat.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 bd0b0f2..4416a2c 100644
--- a/mingw-w64-headers/include/dxgitype.h
+++ b/mingw-w64-headers/include/dxgitype.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxgitype.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 7b06e21..3388a8d 100644
--- a/mingw-w64-headers/include/dxva2api.h
+++ b/mingw-w64-headers/include/dxva2api.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxva2api.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 8b15ce4..20b5464 100644
--- a/mingw-w64-headers/include/dxvahd.h
+++ b/mingw-w64-headers/include/dxvahd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/dxvahd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 e5faeb4..a627a9f 100644
--- a/mingw-w64-headers/include/endpointvolume.h
+++ b/mingw-w64-headers/include/endpointvolume.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/endpointvolume.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/endpointvolume.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 da46648..67724b7 100644
--- a/mingw-w64-headers/include/evr.h
+++ b/mingw-w64-headers/include/evr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/evr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/evr.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 fc0ea65..b86a49d 100644
--- a/mingw-w64-headers/include/exdisp.h
+++ b/mingw-w64-headers/include/exdisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/exdisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 7960677..11ad4ec 100644
--- a/mingw-w64-headers/include/filter.h
+++ b/mingw-w64-headers/include/filter.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/filter.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 da04c66..c2815e3 100644
--- a/mingw-w64-headers/include/fsrm.h
+++ b/mingw-w64-headers/include/fsrm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/fsrm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 085aa2e..f5a85d6 100644
--- a/mingw-w64-headers/include/fsrmenums.h
+++ b/mingw-w64-headers/include/fsrmenums.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/fsrmenums.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 a0dd89c..580d763 100644
--- a/mingw-w64-headers/include/fsrmquota.h
+++ b/mingw-w64-headers/include/fsrmquota.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/fsrmquota.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 a4afed0..796ed44 100644
--- a/mingw-w64-headers/include/fsrmreports.h
+++ b/mingw-w64-headers/include/fsrmreports.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/fsrmreports.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 6d92e5c..208c7b5 100644
--- a/mingw-w64-headers/include/fsrmscreen.h
+++ b/mingw-w64-headers/include/fsrmscreen.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/fsrmscreen.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 1041c12..d029b3c 100644
--- a/mingw-w64-headers/include/fusion.h
+++ b/mingw-w64-headers/include/fusion.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/fusion.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 c6294e0..30e0020 100644
--- a/mingw-w64-headers/include/fwptypes.h
+++ b/mingw-w64-headers/include/fwptypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/fwptypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 43ff57e..3924776 100644
--- a/mingw-w64-headers/include/hstring.h
+++ b/mingw-w64-headers/include/hstring.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/hstring.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/hstring.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 f3c867d..8df0602 100644
--- a/mingw-w64-headers/include/icftypes.h
+++ b/mingw-w64-headers/include/icftypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/icftypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 4f2f223..b8eab36 100644
--- a/mingw-w64-headers/include/icodecapi.h
+++ b/mingw-w64-headers/include/icodecapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/icodecapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 59cfeeb..6ae7a71 100644
--- a/mingw-w64-headers/include/iketypes.h
+++ b/mingw-w64-headers/include/iketypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/iketypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/iketypes.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 d6d779a..627b0e9 100644
--- a/mingw-w64-headers/include/inputscope.h
+++ b/mingw-w64-headers/include/inputscope.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/inputscope.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 968f95b..bc17802 100644
--- a/mingw-w64-headers/include/inspectable.h
+++ b/mingw-w64-headers/include/inspectable.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/inspectable.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/inspectable.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 4c32439..bfeda3a 100644
--- a/mingw-w64-headers/include/locationapi.h
+++ b/mingw-w64-headers/include/locationapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/locationapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 b07838a..f64e15d 100644
--- a/mingw-w64-headers/include/mediaobj.h
+++ b/mingw-w64-headers/include/mediaobj.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mediaobj.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 be40c33..c75fd56 100644
--- a/mingw-w64-headers/include/medparam.h
+++ b/mingw-w64-headers/include/medparam.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/medparam.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/medparam.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 78f980e..02dd5c6 100644
--- a/mingw-w64-headers/include/mfidl.h
+++ b/mingw-w64-headers/include/mfidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mfidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/mfidl.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 897b168..b491d0f 100644
--- a/mingw-w64-headers/include/mfobjects.h
+++ b/mingw-w64-headers/include/mfobjects.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mfobjects.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 6d15fdd..475914f 100644
--- a/mingw-w64-headers/include/mfplay.h
+++ b/mingw-w64-headers/include/mfplay.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mfplay.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 423bf37..5675f0b 100644
--- a/mingw-w64-headers/include/mfreadwrite.h
+++ b/mingw-w64-headers/include/mfreadwrite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mfreadwrite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 f2f0313..9e12d40 100644
--- a/mingw-w64-headers/include/mftransform.h
+++ b/mingw-w64-headers/include/mftransform.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mftransform.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 73a9253..398975f 100644
--- a/mingw-w64-headers/include/mmdeviceapi.h
+++ b/mingw-w64-headers/include/mmdeviceapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mmdeviceapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 7de3aba..89d9d5b 100644
--- a/mingw-w64-headers/include/mmstream.h
+++ b/mingw-w64-headers/include/mmstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mmstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/mmstream.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 1a9f88f..f397397 100644
--- a/mingw-w64-headers/include/mscoree.h
+++ b/mingw-w64-headers/include/mscoree.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mscoree.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 7a0be43..059c6f3 100644
--- a/mingw-w64-headers/include/msctf.h
+++ b/mingw-w64-headers/include/msctf.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/msctf.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 1a05b22..cb08031 100644
--- a/mingw-w64-headers/include/mshtmhst.h
+++ b/mingw-w64-headers/include/mshtmhst.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mshtmhst.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 e7517a4..4710290 100644
--- a/mingw-w64-headers/include/mshtml.h
+++ b/mingw-w64-headers/include/mshtml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/mshtml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 dd63c1e..bb7e0a7 100644
--- a/mingw-w64-headers/include/msinkaut.h
+++ b/mingw-w64-headers/include/msinkaut.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/msinkaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 f0ea115..d5c1f91 100644
--- a/mingw-w64-headers/include/msinkaut_i.c
+++ b/mingw-w64-headers/include/msinkaut_i.c
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/msinkaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/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 cc97701..9fa7e84 100644
--- a/mingw-w64-headers/include/msopc.h
+++ b/mingw-w64-headers/include/msopc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/msopc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 3e1a7e2..66ac4ac 100644
--- a/mingw-w64-headers/include/msxml.h
+++ b/mingw-w64-headers/include/msxml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/msxml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/msxml.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 55247d2..2f1d0e9 100644
--- a/mingw-w64-headers/include/napcertrelyingparty.h
+++ b/mingw-w64-headers/include/napcertrelyingparty.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/napcertrelyingparty.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 da85163..1907e57 100644
--- a/mingw-w64-headers/include/napcommon.h
+++ b/mingw-w64-headers/include/napcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/napcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 24b755f..bfd8979 100644
--- a/mingw-w64-headers/include/napenforcementclient.h
+++ b/mingw-w64-headers/include/napenforcementclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/napenforcementclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 272707a..e21b92f 100644
--- a/mingw-w64-headers/include/napmanagement.h
+++ b/mingw-w64-headers/include/napmanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/napmanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 4b1843f..6a01c84 100644
--- a/mingw-w64-headers/include/napprotocol.h
+++ b/mingw-w64-headers/include/napprotocol.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/napprotocol.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 bf7165e..5d2bf0a 100644
--- a/mingw-w64-headers/include/napservermanagement.h
+++ b/mingw-w64-headers/include/napservermanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/napservermanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 6162904..7b1966a 100644
--- a/mingw-w64-headers/include/napsystemhealthagent.h
+++ b/mingw-w64-headers/include/napsystemhealthagent.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/napsystemhealthagent.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 f3a8489..8a39225 100644
--- a/mingw-w64-headers/include/napsystemhealthvalidator.h
+++ b/mingw-w64-headers/include/napsystemhealthvalidator.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/napsystemhealthvalidator.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 66ddd5b..139ba32 100644
--- a/mingw-w64-headers/include/naptypes.h
+++ b/mingw-w64-headers/include/naptypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/naptypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 8b7ea09..862dfd0 100644
--- a/mingw-w64-headers/include/netcfgn.h
+++ b/mingw-w64-headers/include/netcfgn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/netcfgn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 c36c708..5378921 100644
--- a/mingw-w64-headers/include/netcfgx.h
+++ b/mingw-w64-headers/include/netcfgx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/netcfgx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 03c6382..d93c07b 100644
--- a/mingw-w64-headers/include/netfw.h
+++ b/mingw-w64-headers/include/netfw.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/netfw.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 73f78c9..29203a7 100644
--- a/mingw-w64-headers/include/netlistmgr.h
+++ b/mingw-w64-headers/include/netlistmgr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/netlistmgr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 c1206eb..819bb29 100644
--- a/mingw-w64-headers/include/oaidl.h
+++ b/mingw-w64-headers/include/oaidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/oaidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 819940a..e8de702 100644
--- a/mingw-w64-headers/include/objectarray.h
+++ b/mingw-w64-headers/include/objectarray.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/objectarray.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 3c730f3..9b73024 100644
--- a/mingw-w64-headers/include/objidl.h
+++ b/mingw-w64-headers/include/objidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/objidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 54cf660..b927fff 100644
--- a/mingw-w64-headers/include/objidlbase.h
+++ b/mingw-w64-headers/include/objidlbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/objidlbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 cc4c90a..7758f9f 100644
--- a/mingw-w64-headers/include/ocidl.h
+++ b/mingw-w64-headers/include/ocidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/ocidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 f6115f6..d8222c0 100644
--- a/mingw-w64-headers/include/oleacc.h
+++ b/mingw-w64-headers/include/oleacc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/oleacc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 c153a27..7b29d88 100644
--- a/mingw-w64-headers/include/oleidl.h
+++ b/mingw-w64-headers/include/oleidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/oleidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 96f318b..94fe138 100644
--- a/mingw-w64-headers/include/optary.h
+++ b/mingw-w64-headers/include/optary.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/optary.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/optary.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 488ebd2..98c3917 100644
--- a/mingw-w64-headers/include/portabledevicetypes.h
+++ b/mingw-w64-headers/include/portabledevicetypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/portabledevicetypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/portabledevicetypes.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 155eff7..44f0f46 100644
--- a/mingw-w64-headers/include/propidl.h
+++ b/mingw-w64-headers/include/propidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/propidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 ea9fe04..a867ce2 100644
--- a/mingw-w64-headers/include/propsys.h
+++ b/mingw-w64-headers/include/propsys.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/propsys.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 d5d2250..1410961 100644
--- a/mingw-w64-headers/include/qedit.h
+++ b/mingw-w64-headers/include/qedit.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/qedit.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 64a9523..61ad8f8 100644
--- a/mingw-w64-headers/include/qnetwork.h
+++ b/mingw-w64-headers/include/qnetwork.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/qnetwork.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/qnetwork.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 437d893..23b2e8a 100644
--- a/mingw-w64-headers/include/regbag.h
+++ b/mingw-w64-headers/include/regbag.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/regbag.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 1f38414..cd2b083 100644
--- a/mingw-w64-headers/include/relogger.h
+++ b/mingw-w64-headers/include/relogger.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/relogger.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/relogger.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 f576069..6936094 100644
--- a/mingw-w64-headers/include/sapi51.h
+++ b/mingw-w64-headers/include/sapi51.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/sapi51.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 dafd649..5f42df2 100644
--- a/mingw-w64-headers/include/sapi53.h
+++ b/mingw-w64-headers/include/sapi53.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/sapi53.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 eafb823..5dd858a 100644
--- a/mingw-w64-headers/include/sapi54.h
+++ b/mingw-w64-headers/include/sapi54.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/sapi54.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 309add1..12e971b 100644
--- a/mingw-w64-headers/include/sensorsapi.h
+++ b/mingw-w64-headers/include/sensorsapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/sensorsapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 c9e6335..ebb1439 100644
--- a/mingw-w64-headers/include/servprov.h
+++ b/mingw-w64-headers/include/servprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/servprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 7b139ae..9a08fb5 100644
--- a/mingw-w64-headers/include/shldisp.h
+++ b/mingw-w64-headers/include/shldisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/shldisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 72e6172..7a9688c 100644
--- a/mingw-w64-headers/include/shobjidl.h
+++ b/mingw-w64-headers/include/shobjidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/shobjidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 3487dea..494336b 100644
--- a/mingw-w64-headers/include/shtypes.h
+++ b/mingw-w64-headers/include/shtypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/shtypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 2ee8c88..8c5f306 100644
--- a/mingw-w64-headers/include/spatialaudioclient.h
+++ b/mingw-w64-headers/include/spatialaudioclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/spatialaudioclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/spatialaudioclient.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 5c40337..4f172d3 100644
--- a/mingw-w64-headers/include/strmif.h
+++ b/mingw-w64-headers/include/strmif.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/strmif.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 9349742..5c6169e 100644
--- a/mingw-w64-headers/include/structuredquerycondition.h
+++ b/mingw-w64-headers/include/structuredquerycondition.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/structuredquerycondition.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/structuredquerycondition.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 aeb3073..db48d7a 100644
--- a/mingw-w64-headers/include/taskschd.h
+++ b/mingw-w64-headers/include/taskschd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/taskschd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 02f1b60..d6cbfac 100644
--- a/mingw-w64-headers/include/textstor.h
+++ b/mingw-w64-headers/include/textstor.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/textstor.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 3e5b27e..c8330c2 100644
--- a/mingw-w64-headers/include/thumbcache.h
+++ b/mingw-w64-headers/include/thumbcache.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/thumbcache.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 77ec0cb..f43c494 100644
--- a/mingw-w64-headers/include/tlbref.h
+++ b/mingw-w64-headers/include/tlbref.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/tlbref.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 ff06eda..dd3b9e9 100644
--- a/mingw-w64-headers/include/tlogstg.h
+++ b/mingw-w64-headers/include/tlogstg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/tlogstg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 23d8485..30463b5 100644
--- a/mingw-w64-headers/include/tpcshrd.h
+++ b/mingw-w64-headers/include/tpcshrd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/tpcshrd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/tpcshrd.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 544cea9..d7a923e 100644
--- a/mingw-w64-headers/include/tuner.h
+++ b/mingw-w64-headers/include/tuner.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/tuner.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 863bc09..e9de5a1 100644
--- a/mingw-w64-headers/include/uianimation.h
+++ b/mingw-w64-headers/include/uianimation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/uianimation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 51f2e53..452313a 100644
--- a/mingw-w64-headers/include/uiautomationclient.h
+++ b/mingw-w64-headers/include/uiautomationclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/uiautomationclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 513481d..79dd35c 100644
--- a/mingw-w64-headers/include/uiautomationcore.h
+++ b/mingw-w64-headers/include/uiautomationcore.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/uiautomationcore.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 bc0f7b6..6079533 100644
--- a/mingw-w64-headers/include/uiviewsettingsinterop.h
+++ b/mingw-w64-headers/include/uiviewsettingsinterop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/uiviewsettingsinterop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 5349610..4ef30c8 100644
--- a/mingw-w64-headers/include/unknwn.h
+++ b/mingw-w64-headers/include/unknwn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/unknwn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 a69e37b..a10a0d3 100644
--- a/mingw-w64-headers/include/unknwnbase.h
+++ b/mingw-w64-headers/include/unknwnbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/unknwnbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 6ad4e29..ccaa39d 100644
--- a/mingw-w64-headers/include/urlhist.h
+++ b/mingw-w64-headers/include/urlhist.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/urlhist.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 84da6d5..d8367a7 100644
--- a/mingw-w64-headers/include/urlmon.h
+++ b/mingw-w64-headers/include/urlmon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/urlmon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/urlmon.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 c3f4ae6..db8f030 100644
--- a/mingw-w64-headers/include/vmr9.h
+++ b/mingw-w64-headers/include/vmr9.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/vmr9.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/vmr9.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 f6bf934..96b133e 100644
--- a/mingw-w64-headers/include/vss.h
+++ b/mingw-w64-headers/include/vss.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/vss.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/vss.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 df513d8..3637fe8 100644
--- a/mingw-w64-headers/include/wbemads.h
+++ b/mingw-w64-headers/include/wbemads.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wbemads.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 cc1ef1f..2e4728b 100644
--- a/mingw-w64-headers/include/wbemcli.h
+++ b/mingw-w64-headers/include/wbemcli.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wbemcli.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 9fb725a..4977956 100644
--- a/mingw-w64-headers/include/wbemdisp.h
+++ b/mingw-w64-headers/include/wbemdisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wbemdisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 c1487c2..f863025 100644
--- a/mingw-w64-headers/include/wbemprov.h
+++ b/mingw-w64-headers/include/wbemprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wbemprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 7016421..0889716 100644
--- a/mingw-w64-headers/include/wbemtran.h
+++ b/mingw-w64-headers/include/wbemtran.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wbemtran.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 b7eefc4..76bd623 100644
--- a/mingw-w64-headers/include/wdstptmgmt.h
+++ b/mingw-w64-headers/include/wdstptmgmt.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wdstptmgmt.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/wdstptmgmt.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 c88de55..30ad6fd 100644
--- a/mingw-w64-headers/include/wincodec.h
+++ b/mingw-w64-headers/include/wincodec.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wincodec.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 2e25c51..268bde9 100644
--- a/mingw-w64-headers/include/wincodecsdk.h
+++ b/mingw-w64-headers/include/wincodecsdk.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wincodecsdk.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/wincodecsdk.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 0880d5c..4f77188 100644
--- a/mingw-w64-headers/include/windows.foundation.h
+++ b/mingw-w64-headers/include/windows.foundation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/windows.foundation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/windows.foundation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -22,6 +22,7 @@
 #define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CIAsyncInfo ABI::Windows::Foundation::IAsyncInfo
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -36,6 +37,7 @@
 #define ____x_ABI_CWindows_CFoundation_CIASyncAction_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIASyncAction __x_ABI_CWindows_CFoundation_CIASyncAction;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CIASyncAction ABI::Windows::Foundation::IASyncAction
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -50,6 +52,7 @@
 #define ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler ABI::Windows::Foundation::AsyncActionCompletedHandler
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -64,6 +67,7 @@
 #define ____x_ABI_CWindows_CFoundation_CIAsyncOperation_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIAsyncOperation __x_ABI_CWindows_CFoundation_CIAsyncOperation;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CIAsyncOperation ABI::Windows::Foundation::IAsyncOperation
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -86,6 +90,7 @@
 #define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CIAsyncInfo ABI::Windows::Foundation::IAsyncInfo
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -100,6 +105,7 @@
 #define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -114,6 +120,7 @@
 #define ____x_ABI_CWindows_CFoundation_CIAsyncOperation_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIAsyncOperation __x_ABI_CWindows_CFoundation_CIAsyncOperation;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CIAsyncOperation ABI::Windows::Foundation::IAsyncOperation
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -128,6 +135,7 @@
 #define ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler ABI::Windows::Foundation::AsyncActionCompletedHandler
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -142,6 +150,7 @@
 #define ____x_ABI_CWindows_CFoundation_CTypedEventHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CTypedEventHandler __x_ABI_CWindows_CFoundation_CTypedEventHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CTypedEventHandler ABI::Windows::Foundation::TypedEventHandler
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -164,6 +173,9 @@
 extern "C" {
 #else
 struct __x_ABI_CWindows_CFoundation_CDateTime;
+#ifdef WIDL_using_Windows_Foundation
+#define DateTime __x_ABI_CWindows_CFoundation_CDateTime
+#endif /* WIDL_using_Windows_Foundation */
 #endif
 
 #ifdef __cplusplus
@@ -178,12 +190,16 @@
 extern "C" {
 #else
 struct __x_ABI_CWindows_CFoundation_CEventRegistrationToken;
+#ifdef WIDL_using_Windows_Foundation
+#define EventRegistrationToken __x_ABI_CWindows_CFoundation_CEventRegistrationToken
+#endif /* WIDL_using_Windows_Foundation */
 #endif
 
 #ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIVectorView_FWD_DEFINED__
 #define ____x_ABI_CWindows_CFoundation_CCollections_CIVectorView_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIVectorView __x_ABI_CWindows_CFoundation_CCollections_CIVectorView;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CCollections_CIVectorView ABI::Windows::Foundation::Collections::IVectorView
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -200,6 +216,7 @@
 #define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet ABI::Windows::Foundation::Collections::IPropertySet
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -248,7 +265,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Foundation::IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
+__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CFoundation_CIAsyncInfoVtbl {
@@ -360,6 +377,22 @@
     return This->lpVtbl->Close(This);
 }
 #endif
+#ifdef WIDL_using_Windows_Foundation
+#define IID_IAsyncInfo IID___x_ABI_CWindows_CFoundation_CIAsyncInfo
+#define IAsyncInfoVtbl __x_ABI_CWindows_CFoundation_CIAsyncInfoVtbl
+#define IAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo
+#define IAsyncInfo_QueryInterface __x_ABI_CWindows_CFoundation_CIAsyncInfo_QueryInterface
+#define IAsyncInfo_AddRef __x_ABI_CWindows_CFoundation_CIAsyncInfo_AddRef
+#define IAsyncInfo_Release __x_ABI_CWindows_CFoundation_CIAsyncInfo_Release
+#define IAsyncInfo_GetIids __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetIids
+#define IAsyncInfo_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetRuntimeClassName
+#define IAsyncInfo_GetTrustLevel __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetTrustLevel
+#define IAsyncInfo_get_Id __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_Id
+#define IAsyncInfo_get_Status __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_Status
+#define IAsyncInfo_get_ErrorCode __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_ErrorCode
+#define IAsyncInfo_Cancel __x_ABI_CWindows_CFoundation_CIAsyncInfo_Cancel
+#define IAsyncInfo_Close __x_ABI_CWindows_CFoundation_CIAsyncInfo_Close
+#endif /* WIDL_using_Windows_Foundation */
 #endif
 
 #endif
@@ -382,10 +415,10 @@
             IASyncAction : public IAsyncInfo
             {
                 virtual HRESULT STDMETHODCALLTYPE put_Completed(
-                    AsyncActionCompletedHandler *handler) = 0;
+                    ABI::Windows::Foundation::AsyncActionCompletedHandler *handler) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_Completed(
-                    AsyncActionCompletedHandler **handler) = 0;
+                    ABI::Windows::Foundation::AsyncActionCompletedHandler **handler) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE GetResults(
                     ) = 0;
@@ -396,7 +429,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Foundation::IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b)
+__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CFoundation_CIASyncActionVtbl {
@@ -534,6 +567,25 @@
     return This->lpVtbl->GetResults(This);
 }
 #endif
+#ifdef WIDL_using_Windows_Foundation
+#define IID_IASyncAction IID___x_ABI_CWindows_CFoundation_CIASyncAction
+#define IASyncActionVtbl __x_ABI_CWindows_CFoundation_CIASyncActionVtbl
+#define IASyncAction __x_ABI_CWindows_CFoundation_CIASyncAction
+#define IASyncAction_QueryInterface __x_ABI_CWindows_CFoundation_CIASyncAction_QueryInterface
+#define IASyncAction_AddRef __x_ABI_CWindows_CFoundation_CIASyncAction_AddRef
+#define IASyncAction_Release __x_ABI_CWindows_CFoundation_CIASyncAction_Release
+#define IASyncAction_GetIids __x_ABI_CWindows_CFoundation_CIASyncAction_GetIids
+#define IASyncAction_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIASyncAction_GetRuntimeClassName
+#define IASyncAction_GetTrustLevel __x_ABI_CWindows_CFoundation_CIASyncAction_GetTrustLevel
+#define IASyncAction_get_Id __x_ABI_CWindows_CFoundation_CIASyncAction_get_Id
+#define IASyncAction_get_Status __x_ABI_CWindows_CFoundation_CIASyncAction_get_Status
+#define IASyncAction_get_ErrorCode __x_ABI_CWindows_CFoundation_CIASyncAction_get_ErrorCode
+#define IASyncAction_Cancel __x_ABI_CWindows_CFoundation_CIASyncAction_Cancel
+#define IASyncAction_Close __x_ABI_CWindows_CFoundation_CIASyncAction_Close
+#define IASyncAction_put_Completed __x_ABI_CWindows_CFoundation_CIASyncAction_put_Completed
+#define IASyncAction_get_Completed __x_ABI_CWindows_CFoundation_CIASyncAction_get_Completed
+#define IASyncAction_GetResults __x_ABI_CWindows_CFoundation_CIASyncAction_GetResults
+#endif /* WIDL_using_Windows_Foundation */
 #endif
 
 #endif
@@ -556,7 +608,7 @@
             AsyncActionCompletedHandler : public IUnknown
             {
                 virtual HRESULT STDMETHODCALLTYPE Invoke(
-                    IAsyncAction *asyncAction,
+                    ABI::Windows::Foundation::IAsyncAction *asyncAction,
                     enum AsyncStatus status) = 0;
 
             };
@@ -565,7 +617,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Foundation::AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7)
+__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandlerVtbl {
@@ -620,6 +672,15 @@
     return This->lpVtbl->Invoke(This,asyncAction,status);
 }
 #endif
+#ifdef WIDL_using_Windows_Foundation
+#define IID_AsyncActionCompletedHandler IID___x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler
+#define AsyncActionCompletedHandlerVtbl __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandlerVtbl
+#define AsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler
+#define AsyncActionCompletedHandler_QueryInterface __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_QueryInterface
+#define AsyncActionCompletedHandler_AddRef __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_AddRef
+#define AsyncActionCompletedHandler_Release __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Release
+#define AsyncActionCompletedHandler_Invoke __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Invoke
+#endif /* WIDL_using_Windows_Foundation */
 #endif
 
 #endif
@@ -642,10 +703,10 @@
             IAsyncOperation : public IAsyncInfo
             {
                 virtual HRESULT STDMETHODCALLTYPE put_Completed(
-                    AsyncActionCompletedHandler *handler) = 0;
+                    ABI::Windows::Foundation::AsyncActionCompletedHandler *handler) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_Completed(
-                    AsyncActionCompletedHandler **handler) = 0;
+                    ABI::Windows::Foundation::AsyncActionCompletedHandler **handler) = 0;
 
                 virtual IInspectable * STDMETHODCALLTYPE GetResults(
                     ) = 0;
@@ -656,7 +717,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Foundation::IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2)
+__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CFoundation_CIAsyncOperationVtbl {
@@ -794,6 +855,25 @@
     return This->lpVtbl->GetResults(This);
 }
 #endif
+#ifdef WIDL_using_Windows_Foundation
+#define IID_IAsyncOperation IID___x_ABI_CWindows_CFoundation_CIAsyncOperation
+#define IAsyncOperationVtbl __x_ABI_CWindows_CFoundation_CIAsyncOperationVtbl
+#define IAsyncOperation __x_ABI_CWindows_CFoundation_CIAsyncOperation
+#define IAsyncOperation_QueryInterface __x_ABI_CWindows_CFoundation_CIAsyncOperation_QueryInterface
+#define IAsyncOperation_AddRef __x_ABI_CWindows_CFoundation_CIAsyncOperation_AddRef
+#define IAsyncOperation_Release __x_ABI_CWindows_CFoundation_CIAsyncOperation_Release
+#define IAsyncOperation_GetIids __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetIids
+#define IAsyncOperation_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetRuntimeClassName
+#define IAsyncOperation_GetTrustLevel __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetTrustLevel
+#define IAsyncOperation_get_Id __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Id
+#define IAsyncOperation_get_Status __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Status
+#define IAsyncOperation_get_ErrorCode __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_ErrorCode
+#define IAsyncOperation_Cancel __x_ABI_CWindows_CFoundation_CIAsyncOperation_Cancel
+#define IAsyncOperation_Close __x_ABI_CWindows_CFoundation_CIAsyncOperation_Close
+#define IAsyncOperation_put_Completed __x_ABI_CWindows_CFoundation_CIAsyncOperation_put_Completed
+#define IAsyncOperation_get_Completed __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Completed
+#define IAsyncOperation_GetResults __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetResults
+#endif /* WIDL_using_Windows_Foundation */
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/windows.security.cryptography.h b/mingw-w64-headers/include/windows.security.cryptography.h
index 49a73ea..3b26a87 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 6.2 from include/windows.security.cryptography.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/windows.security.cryptography.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -22,6 +22,7 @@
 #define ____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics ABI::Windows::Security::Cryptography::ICryptographicBufferStatics
 namespace ABI {
     namespace Windows {
         namespace Security {
@@ -47,6 +48,7 @@
 #define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBuffer __x_ABI_CWindows_CStorage_CStreams_CIBuffer;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CStreams_CIBuffer ABI::Windows::Storage::Streams::IBuffer
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -63,6 +65,7 @@
 #define ____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics ABI::Windows::Security::Cryptography::ICryptographicBufferStatics
 namespace ABI {
     namespace Windows {
         namespace Security {
@@ -97,6 +100,9 @@
     BinaryStringEncoding_Utf16LE = 1,
     BinaryStringEncoding_Utf16BE = 2
 };
+#ifdef WIDL_using_Windows_Security_Cryptography
+#define BinaryStringEncoding __x_ABI_CWindows_CSecurity_CCryptography_CBinaryStringEncoding
+#endif /* WIDL_using_Windows_Security_Cryptography */
 #endif
 
 /*****************************************************************************
@@ -116,13 +122,13 @@
                 ICryptographicBufferStatics : public IInspectable
                 {
                     virtual HRESULT STDMETHODCALLTYPE Compare(
-                        IBuffer *object1,
-                        IBuffer *object2,
+                        ABI::Windows::Storage::Streams::IBuffer *object1,
+                        ABI::Windows::Storage::Streams::IBuffer *object2,
                         boolean *isEqual) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE GenerateRandom(
                         UINT32 length,
-                        IBuffer **buffer) = 0;
+                        ABI::Windows::Storage::Streams::IBuffer **buffer) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE GenerateRandomNumber(
                         UINT32 *value) = 0;
@@ -130,37 +136,37 @@
                     virtual HRESULT STDMETHODCALLTYPE CreateFromByteArray(
                         UINT32 __valueSize,
                         BYTE *value,
-                        IBuffer **buffer) = 0;
+                        ABI::Windows::Storage::Streams::IBuffer **buffer) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE CopyToByteArray(
-                        IBuffer *buffer,
+                        ABI::Windows::Storage::Streams::IBuffer *buffer,
                         UINT32 *__valueSize,
                         BYTE **value) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE DecodeFromHexString(
                         HSTRING value,
-                        IBuffer **buffer) = 0;
+                        ABI::Windows::Storage::Streams::IBuffer **buffer) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE EncodeToHexString(
-                        IBuffer *buffer,
+                        ABI::Windows::Storage::Streams::IBuffer *buffer,
                         HSTRING *value) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE DecodeFromBase64String(
                         HSTRING value,
-                        IBuffer **buffer) = 0;
+                        ABI::Windows::Storage::Streams::IBuffer **buffer) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE EncodeToBase64String(
-                        IBuffer *buffer,
+                        ABI::Windows::Storage::Streams::IBuffer *buffer,
                         HSTRING *value) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE ConvertStringToBinary(
                         HSTRING value,
                         enum BinaryStringEncoding encoding,
-                        IBuffer **buffer) = 0;
+                        ABI::Windows::Storage::Streams::IBuffer **buffer) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE ConvertBinaryToString(
                         enum BinaryStringEncoding encoding,
-                        IBuffer *buffer,
+                        ABI::Windows::Storage::Streams::IBuffer *buffer,
                         HSTRING *value) = 0;
 
                 };
@@ -170,7 +176,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Security::Cryptography::ICryptographicBufferStatics, 0x320b7e22, 0x3cb0, 0x4cdf, 0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb)
+__CRT_UUID_DECL(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics, 0x320b7e22, 0x3cb0, 0x4cdf, 0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStaticsVtbl {
@@ -347,6 +353,28 @@
     return This->lpVtbl->ConvertBinaryToString(This,encoding,buffer,value);
 }
 #endif
+#ifdef WIDL_using_Windows_Security_Cryptography
+#define IID_ICryptographicBufferStatics IID___x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics
+#define ICryptographicBufferStaticsVtbl __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStaticsVtbl
+#define ICryptographicBufferStatics __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics
+#define ICryptographicBufferStatics_QueryInterface __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_QueryInterface
+#define ICryptographicBufferStatics_AddRef __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_AddRef
+#define ICryptographicBufferStatics_Release __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_Release
+#define ICryptographicBufferStatics_GetIids __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetIids
+#define ICryptographicBufferStatics_GetRuntimeClassName __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetRuntimeClassName
+#define ICryptographicBufferStatics_GetTrustLevel __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetTrustLevel
+#define ICryptographicBufferStatics_Compare __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_Compare
+#define ICryptographicBufferStatics_GenerateRandom __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GenerateRandom
+#define ICryptographicBufferStatics_GenerateRandomNumber __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GenerateRandomNumber
+#define ICryptographicBufferStatics_CreateFromByteArray __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_CreateFromByteArray
+#define ICryptographicBufferStatics_CopyToByteArray __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_CopyToByteArray
+#define ICryptographicBufferStatics_DecodeFromHexString __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_DecodeFromHexString
+#define ICryptographicBufferStatics_EncodeToHexString __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_EncodeToHexString
+#define ICryptographicBufferStatics_DecodeFromBase64String __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_DecodeFromBase64String
+#define ICryptographicBufferStatics_EncodeToBase64String __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_EncodeToBase64String
+#define ICryptographicBufferStatics_ConvertStringToBinary __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_ConvertStringToBinary
+#define ICryptographicBufferStatics_ConvertBinaryToString __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_ConvertBinaryToString
+#endif /* WIDL_using_Windows_Security_Cryptography */
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/windows.storage.h b/mingw-w64-headers/include/windows.storage.h
index d52edef..568204d 100644
--- a/mingw-w64-headers/include/windows.storage.h
+++ b/mingw-w64-headers/include/windows.storage.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/windows.storage.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/windows.storage.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -22,6 +22,7 @@
 #define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIStorageItem __x_ABI_CWindows_CStorage_CIStorageItem;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIStorageItem ABI::Windows::Storage::IStorageItem
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -36,6 +37,7 @@
 #define ____x_ABI_CWindows_CStorage_CIKnownFoldersStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIKnownFoldersStatics __x_ABI_CWindows_CStorage_CIKnownFoldersStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics ABI::Windows::Storage::IKnownFoldersStatics
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -50,6 +52,7 @@
 #define ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIStorageFolder __x_ABI_CWindows_CStorage_CIStorageFolder;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIStorageFolder ABI::Windows::Storage::IStorageFolder
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -64,6 +67,7 @@
 #define ____x_ABI_CWindows_CStorage_CIApplicationDataContainer_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataContainer __x_ABI_CWindows_CStorage_CIApplicationDataContainer;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer ABI::Windows::Storage::IApplicationDataContainer
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -78,6 +82,7 @@
 #define ____x_ABI_CWindows_CStorage_CIApplicationData_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIApplicationData __x_ABI_CWindows_CStorage_CIApplicationData;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIApplicationData ABI::Windows::Storage::IApplicationData
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -92,6 +97,7 @@
 #define ____x_ABI_CWindows_CStorage_CIApplicationData2_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIApplicationData2 __x_ABI_CWindows_CStorage_CIApplicationData2;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIApplicationData2 ABI::Windows::Storage::IApplicationData2
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -106,6 +112,7 @@
 #define ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataStatics __x_ABI_CWindows_CStorage_CIApplicationDataStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics ABI::Windows::Storage::IApplicationDataStatics
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -120,6 +127,7 @@
 #define ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler ABI::Windows::Storage::IApplicationDataSetVersionHandler
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -134,6 +142,7 @@
 #define ____x_ABI_CWindows_CStorage_CISetVersionRequest_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CISetVersionRequest __x_ABI_CWindows_CStorage_CISetVersionRequest;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CISetVersionRequest ABI::Windows::Storage::ISetVersionRequest
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -148,6 +157,7 @@
 #define ____x_ABI_CWindows_CStorage_CISetVersionDeferral_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CISetVersionDeferral __x_ABI_CWindows_CStorage_CISetVersionDeferral;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CISetVersionDeferral ABI::Windows::Storage::ISetVersionDeferral
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -172,6 +182,7 @@
 #define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -186,6 +197,7 @@
 #define ____x_ABI_CWindows_CFoundation_CTypedEventHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CTypedEventHandler __x_ABI_CWindows_CFoundation_CTypedEventHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CTypedEventHandler ABI::Windows::Foundation::TypedEventHandler
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -200,6 +212,7 @@
 #define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet ABI::Windows::Foundation::Collections::IPropertySet
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -216,6 +229,7 @@
 #define ____x_ABI_CWindows_CFoundation_CCollections_CIMapView_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIMapView __x_ABI_CWindows_CFoundation_CCollections_CIMapView;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CCollections_CIMapView ABI::Windows::Foundation::Collections::IMapView
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -232,6 +246,7 @@
 #define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIStorageItem __x_ABI_CWindows_CStorage_CIStorageItem;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIStorageItem ABI::Windows::Storage::IStorageItem
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -246,6 +261,7 @@
 #define ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIStorageFolder __x_ABI_CWindows_CStorage_CIStorageFolder;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIStorageFolder ABI::Windows::Storage::IStorageFolder
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -260,6 +276,7 @@
 #define ____x_ABI_CWindows_CStorage_CIApplicationData_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIApplicationData __x_ABI_CWindows_CStorage_CIApplicationData;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIApplicationData ABI::Windows::Storage::IApplicationData
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -274,6 +291,7 @@
 #define ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataStatics __x_ABI_CWindows_CStorage_CIApplicationDataStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics ABI::Windows::Storage::IApplicationDataStatics
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -288,6 +306,7 @@
 #define ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler ABI::Windows::Storage::IApplicationDataSetVersionHandler
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -302,6 +321,7 @@
 #define ____x_ABI_CWindows_CStorage_CApplicationDataContainer_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CApplicationDataContainer __x_ABI_CWindows_CStorage_CApplicationDataContainer;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CApplicationDataContainer ABI::Windows::Storage::ApplicationDataContainer
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -316,6 +336,7 @@
 #define ____x_ABI_CWindows_CStorage_CISetVersionRequest_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CISetVersionRequest __x_ABI_CWindows_CStorage_CISetVersionRequest;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CISetVersionRequest ABI::Windows::Storage::ISetVersionRequest
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -330,6 +351,7 @@
 #define ____x_ABI_CWindows_CStorage_CISetVersionDeferral_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CISetVersionDeferral __x_ABI_CWindows_CStorage_CISetVersionDeferral;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CISetVersionDeferral ABI::Windows::Storage::ISetVersionDeferral
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -360,6 +382,9 @@
     NameCollisionOption_ReplaceExisting = 1,
     NameCollisionOption_FailIfExists = 2
 };
+#ifdef WIDL_using_Windows_Storage
+#define NameCollisionOption __x_ABI_CWindows_CStorage_CNameCollisionOption
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #ifdef __cplusplus
@@ -380,6 +405,9 @@
     StorageDeleteOption_Default = 0,
     StorageDeleteOption_PermanentDelete = 1
 };
+#ifdef WIDL_using_Windows_Storage
+#define StorageDeleteOption __x_ABI_CWindows_CStorage_CStorageDeleteOption
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #ifdef __cplusplus
@@ -402,6 +430,9 @@
     StorageItemTypes_File = 1,
     StorageItemTypes_Folder = 2
 };
+#ifdef WIDL_using_Windows_Storage
+#define StorageItemTypes __x_ABI_CWindows_CStorage_CStorageItemTypes
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #ifdef __cplusplus
@@ -422,6 +453,9 @@
     ApplicationDataCreateDisposition_Always = 0,
     ApplicationDataCreateDisposition_Existing = 1
 };
+#ifdef WIDL_using_Windows_Storage
+#define ApplicationDataCreateDisposition __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #ifdef __cplusplus
@@ -444,6 +478,9 @@
     ApplicationDataLocality_Roaming = 1,
     ApplicationDataLocality_Temporary = 2
 };
+#ifdef WIDL_using_Windows_Storage
+#define ApplicationDataLocality __x_ABI_CWindows_CStorage_CApplicationDataLocality
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #ifdef __cplusplus
@@ -470,6 +507,9 @@
     FileAttributes_Archive = 3,
     FileAttributes_Temporary = 4
 };
+#ifdef WIDL_using_Windows_Storage
+#define FileAttributes __x_ABI_CWindows_CStorage_CFileAttributes
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #ifdef __cplusplus
@@ -494,6 +534,9 @@
     CreationCollisionOption_FailIfExists = 2,
     CreationCollisionOption_OpenIfExists = 3
 };
+#ifdef WIDL_using_Windows_Storage
+#define CreationCollisionOption __x_ABI_CWindows_CStorage_CCreationCollisionOption
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 /*****************************************************************************
@@ -552,7 +595,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::IStorageItem, 0x4207a996, 0xca2f, 0x42f7, 0xbd,0xe8, 0x8b,0x10,0x45,0x7a,0x7f,0x30)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIStorageItem, 0x4207a996, 0xca2f, 0x42f7, 0xbd,0xe8, 0x8b,0x10,0x45,0x7a,0x7f,0x30)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CIStorageItemVtbl {
@@ -711,6 +754,27 @@
     return This->lpVtbl->IsOfType(This,itemType,value);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_IStorageItem IID___x_ABI_CWindows_CStorage_CIStorageItem
+#define IStorageItemVtbl __x_ABI_CWindows_CStorage_CIStorageItemVtbl
+#define IStorageItem __x_ABI_CWindows_CStorage_CIStorageItem
+#define IStorageItem_QueryInterface __x_ABI_CWindows_CStorage_CIStorageItem_QueryInterface
+#define IStorageItem_AddRef __x_ABI_CWindows_CStorage_CIStorageItem_AddRef
+#define IStorageItem_Release __x_ABI_CWindows_CStorage_CIStorageItem_Release
+#define IStorageItem_GetIids __x_ABI_CWindows_CStorage_CIStorageItem_GetIids
+#define IStorageItem_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIStorageItem_GetRuntimeClassName
+#define IStorageItem_GetTrustLevel __x_ABI_CWindows_CStorage_CIStorageItem_GetTrustLevel
+#define IStorageItem_RenameAsyncOverloadDefaultOptions __x_ABI_CWindows_CStorage_CIStorageItem_RenameAsyncOverloadDefaultOptions
+#define IStorageItem_RenameAsync __x_ABI_CWindows_CStorage_CIStorageItem_RenameAsync
+#define IStorageItem_DeleteAsyncOverloadDefaultOptions __x_ABI_CWindows_CStorage_CIStorageItem_DeleteAsyncOverloadDefaultOptions
+#define IStorageItem_DeleteAsync __x_ABI_CWindows_CStorage_CIStorageItem_DeleteAsync
+#define IStorageItem_GetBasicPropertiesAsync __x_ABI_CWindows_CStorage_CIStorageItem_GetBasicPropertiesAsync
+#define IStorageItem_get_Name __x_ABI_CWindows_CStorage_CIStorageItem_get_Name
+#define IStorageItem_get_Path __x_ABI_CWindows_CStorage_CIStorageItem_get_Path
+#define IStorageItem_get_Attributes __x_ABI_CWindows_CStorage_CIStorageItem_get_Attributes
+#define IStorageItem_get_DateCreated __x_ABI_CWindows_CStorage_CIStorageItem_get_DateCreated
+#define IStorageItem_IsOfType __x_ABI_CWindows_CStorage_CIStorageItem_IsOfType
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -733,25 +797,25 @@
             IKnownFoldersStatics : public IInspectable
             {
                 virtual HRESULT STDMETHODCALLTYPE get_MusicLibrary(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_PicturesLibrary(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_VideosLibrary(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_DocumentsLibrary(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_HomeGroup(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_RemovableDevices(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_MediaServerDevices(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
             };
         }
@@ -759,7 +823,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::IKnownFoldersStatics, 0x5a2a7520, 0x4802, 0x452d, 0x9a,0xd9, 0x43,0x51,0xad,0xa7,0xec,0x35)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics, 0x5a2a7520, 0x4802, 0x452d, 0x9a,0xd9, 0x43,0x51,0xad,0xa7,0xec,0x35)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CIKnownFoldersStaticsVtbl {
@@ -889,6 +953,24 @@
     return This->lpVtbl->get_MediaServerDevices(This,value);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_IKnownFoldersStatics IID___x_ABI_CWindows_CStorage_CIKnownFoldersStatics
+#define IKnownFoldersStaticsVtbl __x_ABI_CWindows_CStorage_CIKnownFoldersStaticsVtbl
+#define IKnownFoldersStatics __x_ABI_CWindows_CStorage_CIKnownFoldersStatics
+#define IKnownFoldersStatics_QueryInterface __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_QueryInterface
+#define IKnownFoldersStatics_AddRef __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_AddRef
+#define IKnownFoldersStatics_Release __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_Release
+#define IKnownFoldersStatics_GetIids __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetIids
+#define IKnownFoldersStatics_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetRuntimeClassName
+#define IKnownFoldersStatics_GetTrustLevel __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetTrustLevel
+#define IKnownFoldersStatics_get_MusicLibrary __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_MusicLibrary
+#define IKnownFoldersStatics_get_PicturesLibrary __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_PicturesLibrary
+#define IKnownFoldersStatics_get_VideosLibrary __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_VideosLibrary
+#define IKnownFoldersStatics_get_DocumentsLibrary __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_DocumentsLibrary
+#define IKnownFoldersStatics_get_HomeGroup __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_HomeGroup
+#define IKnownFoldersStatics_get_RemovableDevices __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_RemovableDevices
+#define IKnownFoldersStatics_get_MediaServerDevices __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_MediaServerDevices
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -955,7 +1037,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::IStorageFolder, 0x72d1cb78, 0xb3ef, 0x4f75, 0xa8,0x0b, 0x6f,0xd9,0xda,0xe2,0x94,0x4b)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIStorageFolder, 0x72d1cb78, 0xb3ef, 0x4f75, 0xa8,0x0b, 0x6f,0xd9,0xda,0xe2,0x94,0x4b)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CIStorageFolderVtbl {
@@ -1118,6 +1200,27 @@
     return This->lpVtbl->GetItemsAsyncOverloadDefaultStartAndCount(This,operation);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_IStorageFolder IID___x_ABI_CWindows_CStorage_CIStorageFolder
+#define IStorageFolderVtbl __x_ABI_CWindows_CStorage_CIStorageFolderVtbl
+#define IStorageFolder __x_ABI_CWindows_CStorage_CIStorageFolder
+#define IStorageFolder_QueryInterface __x_ABI_CWindows_CStorage_CIStorageFolder_QueryInterface
+#define IStorageFolder_AddRef __x_ABI_CWindows_CStorage_CIStorageFolder_AddRef
+#define IStorageFolder_Release __x_ABI_CWindows_CStorage_CIStorageFolder_Release
+#define IStorageFolder_GetIids __x_ABI_CWindows_CStorage_CIStorageFolder_GetIids
+#define IStorageFolder_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIStorageFolder_GetRuntimeClassName
+#define IStorageFolder_GetTrustLevel __x_ABI_CWindows_CStorage_CIStorageFolder_GetTrustLevel
+#define IStorageFolder_CreateFileAsyncOverloadDefaultOptions __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsyncOverloadDefaultOptions
+#define IStorageFolder_CreateFileAsync __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsync
+#define IStorageFolder_CreateFolderAsyncOverloadDefaultOptions __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsyncOverloadDefaultOptions
+#define IStorageFolder_CreateFolderAsync __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsync
+#define IStorageFolder_GetFileAsync __x_ABI_CWindows_CStorage_CIStorageFolder_GetFileAsync
+#define IStorageFolder_GetFolderAsync __x_ABI_CWindows_CStorage_CIStorageFolder_GetFolderAsync
+#define IStorageFolder_GetItemAsync __x_ABI_CWindows_CStorage_CIStorageFolder_GetItemAsync
+#define IStorageFolder_GetFilesAsyncOverloadDefaultOptionsStartAndCount __x_ABI_CWindows_CStorage_CIStorageFolder_GetFilesAsyncOverloadDefaultOptionsStartAndCount
+#define IStorageFolder_GetFoldersAsyncOverloadDefaultOptionsStartAndCount __x_ABI_CWindows_CStorage_CIStorageFolder_GetFoldersAsyncOverloadDefaultOptionsStartAndCount
+#define IStorageFolder_GetItemsAsyncOverloadDefaultStartAndCount __x_ABI_CWindows_CStorage_CIStorageFolder_GetItemsAsyncOverloadDefaultStartAndCount
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -1154,7 +1257,7 @@
                 virtual HRESULT STDMETHODCALLTYPE CreateContainer(
                     HSTRING name,
                     enum ApplicationDataCreateDisposition disposition,
-                    IApplicationDataContainer **container) = 0;
+                    ABI::Windows::Storage::IApplicationDataContainer **container) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE DeleteContainer(
                     HSTRING name) = 0;
@@ -1165,7 +1268,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::IApplicationDataContainer, 0xc5aefd1e, 0xf467, 0x40ba, 0x85,0x66, 0xab,0x64,0x0a,0x44,0x1e,0x1d)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationDataContainer, 0xc5aefd1e, 0xf467, 0x40ba, 0x85,0x66, 0xab,0x64,0x0a,0x44,0x1e,0x1d)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CIApplicationDataContainerVtbl {
@@ -1289,6 +1392,23 @@
     return This->lpVtbl->DeleteContainer(This,name);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_IApplicationDataContainer IID___x_ABI_CWindows_CStorage_CIApplicationDataContainer
+#define IApplicationDataContainerVtbl __x_ABI_CWindows_CStorage_CIApplicationDataContainerVtbl
+#define IApplicationDataContainer __x_ABI_CWindows_CStorage_CIApplicationDataContainer
+#define IApplicationDataContainer_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationDataContainer_QueryInterface
+#define IApplicationDataContainer_AddRef __x_ABI_CWindows_CStorage_CIApplicationDataContainer_AddRef
+#define IApplicationDataContainer_Release __x_ABI_CWindows_CStorage_CIApplicationDataContainer_Release
+#define IApplicationDataContainer_GetIids __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetIids
+#define IApplicationDataContainer_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetRuntimeClassName
+#define IApplicationDataContainer_GetTrustLevel __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetTrustLevel
+#define IApplicationDataContainer_get_Name __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Name
+#define IApplicationDataContainer_get_Locality __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Locality
+#define IApplicationDataContainer_get_Values __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Values
+#define IApplicationDataContainer_get_Containers __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Containers
+#define IApplicationDataContainer_CreateContainer __x_ABI_CWindows_CStorage_CIApplicationDataContainer_CreateContainer
+#define IApplicationDataContainer_DeleteContainer __x_ABI_CWindows_CStorage_CIApplicationDataContainer_DeleteContainer
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -1315,7 +1435,7 @@
 
                 virtual HRESULT STDMETHODCALLTYPE SetVersionAsync(
                     int desiredVersion,
-                    IApplicationDataSetVersionHandler *handler,
+                    ABI::Windows::Storage::IApplicationDataSetVersionHandler *handler,
                     IInspectable **setVersionOperation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE ClearAllAsync(
@@ -1326,19 +1446,19 @@
                     IInspectable **clearOperation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_LocalSettings(
-                    IApplicationDataContainer **value) = 0;
+                    ABI::Windows::Storage::IApplicationDataContainer **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_RoamingSettings(
-                    IApplicationDataContainer **value) = 0;
+                    ABI::Windows::Storage::IApplicationDataContainer **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_LocalFolder(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_RoamingFolder(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE get_TemporaryFolder(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE DataChanged(
                     struct EventRegistrationToken token) = 0;
@@ -1355,7 +1475,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::IApplicationData, 0xc3da6fb7, 0xb744, 0x4b45, 0xb0,0xb8, 0x22,0x3a,0x09,0x38,0xd0,0xdc)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationData, 0xc3da6fb7, 0xb744, 0x4b45, 0xb0,0xb8, 0x22,0x3a,0x09,0x38,0xd0,0xdc)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CIApplicationDataVtbl {
@@ -1527,6 +1647,29 @@
     return This->lpVtbl->RoamingStorageQuota(This,value);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_IApplicationData IID___x_ABI_CWindows_CStorage_CIApplicationData
+#define IApplicationDataVtbl __x_ABI_CWindows_CStorage_CIApplicationDataVtbl
+#define IApplicationData __x_ABI_CWindows_CStorage_CIApplicationData
+#define IApplicationData_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationData_QueryInterface
+#define IApplicationData_AddRef __x_ABI_CWindows_CStorage_CIApplicationData_AddRef
+#define IApplicationData_Release __x_ABI_CWindows_CStorage_CIApplicationData_Release
+#define IApplicationData_GetIids __x_ABI_CWindows_CStorage_CIApplicationData_GetIids
+#define IApplicationData_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIApplicationData_GetRuntimeClassName
+#define IApplicationData_GetTrustLevel __x_ABI_CWindows_CStorage_CIApplicationData_GetTrustLevel
+#define IApplicationData_get_Version __x_ABI_CWindows_CStorage_CIApplicationData_get_Version
+#define IApplicationData_SetVersionAsync __x_ABI_CWindows_CStorage_CIApplicationData_SetVersionAsync
+#define IApplicationData_ClearAllAsync __x_ABI_CWindows_CStorage_CIApplicationData_ClearAllAsync
+#define IApplicationData_ClearAsync __x_ABI_CWindows_CStorage_CIApplicationData_ClearAsync
+#define IApplicationData_get_LocalSettings __x_ABI_CWindows_CStorage_CIApplicationData_get_LocalSettings
+#define IApplicationData_get_RoamingSettings __x_ABI_CWindows_CStorage_CIApplicationData_get_RoamingSettings
+#define IApplicationData_get_LocalFolder __x_ABI_CWindows_CStorage_CIApplicationData_get_LocalFolder
+#define IApplicationData_get_RoamingFolder __x_ABI_CWindows_CStorage_CIApplicationData_get_RoamingFolder
+#define IApplicationData_get_TemporaryFolder __x_ABI_CWindows_CStorage_CIApplicationData_get_TemporaryFolder
+#define IApplicationData_DataChanged __x_ABI_CWindows_CStorage_CIApplicationData_DataChanged
+#define IApplicationData_SignalDataChanged __x_ABI_CWindows_CStorage_CIApplicationData_SignalDataChanged
+#define IApplicationData_RoamingStorageQuota __x_ABI_CWindows_CStorage_CIApplicationData_RoamingStorageQuota
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -1549,7 +1692,7 @@
             IApplicationData2 : public IInspectable
             {
                 virtual HRESULT STDMETHODCALLTYPE get_LocalCacheFolder(
-                    IStorageFolder **value) = 0;
+                    ABI::Windows::Storage::IStorageFolder **value) = 0;
 
             };
         }
@@ -1557,7 +1700,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::IApplicationData2, 0x9e65cd69, 0x0ba3, 0x4e32, 0xbe,0x29, 0xb0,0x2d,0xe6,0x60,0x76,0x38)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationData2, 0x9e65cd69, 0x0ba3, 0x4e32, 0xbe,0x29, 0xb0,0x2d,0xe6,0x60,0x76,0x38)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CIApplicationData2Vtbl {
@@ -1639,6 +1782,18 @@
     return This->lpVtbl->get_LocalCacheFolder(This,value);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_IApplicationData2 IID___x_ABI_CWindows_CStorage_CIApplicationData2
+#define IApplicationData2Vtbl __x_ABI_CWindows_CStorage_CIApplicationData2Vtbl
+#define IApplicationData2 __x_ABI_CWindows_CStorage_CIApplicationData2
+#define IApplicationData2_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationData2_QueryInterface
+#define IApplicationData2_AddRef __x_ABI_CWindows_CStorage_CIApplicationData2_AddRef
+#define IApplicationData2_Release __x_ABI_CWindows_CStorage_CIApplicationData2_Release
+#define IApplicationData2_GetIids __x_ABI_CWindows_CStorage_CIApplicationData2_GetIids
+#define IApplicationData2_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIApplicationData2_GetRuntimeClassName
+#define IApplicationData2_GetTrustLevel __x_ABI_CWindows_CStorage_CIApplicationData2_GetTrustLevel
+#define IApplicationData2_get_LocalCacheFolder __x_ABI_CWindows_CStorage_CIApplicationData2_get_LocalCacheFolder
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -1661,7 +1816,7 @@
             IApplicationDataStatics : public IInspectable
             {
                 virtual HRESULT STDMETHODCALLTYPE get_Current(
-                    IApplicationData **data) = 0;
+                    ABI::Windows::Storage::IApplicationData **data) = 0;
 
             };
         }
@@ -1669,7 +1824,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::IApplicationDataStatics, 0x5612147b, 0xe843, 0x45e3, 0x94,0xd8, 0x06,0x16,0x9e,0x3c,0x8e,0x17)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationDataStatics, 0x5612147b, 0xe843, 0x45e3, 0x94,0xd8, 0x06,0x16,0x9e,0x3c,0x8e,0x17)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CIApplicationDataStaticsVtbl {
@@ -1751,6 +1906,18 @@
     return This->lpVtbl->get_Current(This,data);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_IApplicationDataStatics IID___x_ABI_CWindows_CStorage_CIApplicationDataStatics
+#define IApplicationDataStaticsVtbl __x_ABI_CWindows_CStorage_CIApplicationDataStaticsVtbl
+#define IApplicationDataStatics __x_ABI_CWindows_CStorage_CIApplicationDataStatics
+#define IApplicationDataStatics_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationDataStatics_QueryInterface
+#define IApplicationDataStatics_AddRef __x_ABI_CWindows_CStorage_CIApplicationDataStatics_AddRef
+#define IApplicationDataStatics_Release __x_ABI_CWindows_CStorage_CIApplicationDataStatics_Release
+#define IApplicationDataStatics_GetIids __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetIids
+#define IApplicationDataStatics_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetRuntimeClassName
+#define IApplicationDataStatics_GetTrustLevel __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetTrustLevel
+#define IApplicationDataStatics_get_Current __x_ABI_CWindows_CStorage_CIApplicationDataStatics_get_Current
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -1773,7 +1940,7 @@
             IApplicationDataSetVersionHandler : public IUnknown
             {
                 virtual HRESULT STDMETHODCALLTYPE Invoke(
-                    ISetVersionRequest *setVersionRequest) = 0;
+                    ABI::Windows::Storage::ISetVersionRequest *setVersionRequest) = 0;
 
             };
         }
@@ -1781,7 +1948,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::IApplicationDataSetVersionHandler, 0xa05791e6, 0xcc9f, 0x4687, 0xac,0xab, 0xa3,0x64,0xfd,0x78,0x54,0x63)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler, 0xa05791e6, 0xcc9f, 0x4687, 0xac,0xab, 0xa3,0x64,0xfd,0x78,0x54,0x63)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandlerVtbl {
@@ -1835,6 +2002,15 @@
     return This->lpVtbl->Invoke(This,setVersionRequest);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_IApplicationDataSetVersionHandler IID___x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler
+#define IApplicationDataSetVersionHandlerVtbl __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandlerVtbl
+#define IApplicationDataSetVersionHandler __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler
+#define IApplicationDataSetVersionHandler_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_QueryInterface
+#define IApplicationDataSetVersionHandler_AddRef __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_AddRef
+#define IApplicationDataSetVersionHandler_Release __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_Release
+#define IApplicationDataSetVersionHandler_Invoke __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_Invoke
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -1863,7 +2039,7 @@
                     UINT32 *desiredVersion) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE GetDeferral(
-                    ISetVersionDeferral **deferral) = 0;
+                    ABI::Windows::Storage::ISetVersionDeferral **deferral) = 0;
 
             };
         }
@@ -1871,7 +2047,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::ISetVersionRequest, 0xb9c76b9b, 0x1056, 0x4e69, 0x83,0x30, 0x16,0x26,0x19,0x95,0x6f,0x9b)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CISetVersionRequest, 0xb9c76b9b, 0x1056, 0x4e69, 0x83,0x30, 0x16,0x26,0x19,0x95,0x6f,0x9b)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CISetVersionRequestVtbl {
@@ -1969,6 +2145,20 @@
     return This->lpVtbl->GetDeferral(This,deferral);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_ISetVersionRequest IID___x_ABI_CWindows_CStorage_CISetVersionRequest
+#define ISetVersionRequestVtbl __x_ABI_CWindows_CStorage_CISetVersionRequestVtbl
+#define ISetVersionRequest __x_ABI_CWindows_CStorage_CISetVersionRequest
+#define ISetVersionRequest_QueryInterface __x_ABI_CWindows_CStorage_CISetVersionRequest_QueryInterface
+#define ISetVersionRequest_AddRef __x_ABI_CWindows_CStorage_CISetVersionRequest_AddRef
+#define ISetVersionRequest_Release __x_ABI_CWindows_CStorage_CISetVersionRequest_Release
+#define ISetVersionRequest_GetIids __x_ABI_CWindows_CStorage_CISetVersionRequest_GetIids
+#define ISetVersionRequest_GetRuntimeClassName __x_ABI_CWindows_CStorage_CISetVersionRequest_GetRuntimeClassName
+#define ISetVersionRequest_GetTrustLevel __x_ABI_CWindows_CStorage_CISetVersionRequest_GetTrustLevel
+#define ISetVersionRequest_get_CurrentVersion __x_ABI_CWindows_CStorage_CISetVersionRequest_get_CurrentVersion
+#define ISetVersionRequest_get_DesiredVersion __x_ABI_CWindows_CStorage_CISetVersionRequest_get_DesiredVersion
+#define ISetVersionRequest_GetDeferral __x_ABI_CWindows_CStorage_CISetVersionRequest_GetDeferral
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
@@ -1999,7 +2189,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::ISetVersionDeferral, 0x033508a2, 0x781a, 0x437a, 0xb0,0x78, 0x3f,0x32,0xba,0xdc,0xfe,0x47)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CISetVersionDeferral, 0x033508a2, 0x781a, 0x437a, 0xb0,0x78, 0x3f,0x32,0xba,0xdc,0xfe,0x47)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CISetVersionDeferralVtbl {
@@ -2080,6 +2270,18 @@
     return This->lpVtbl->Complete(This);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage
+#define IID_ISetVersionDeferral IID___x_ABI_CWindows_CStorage_CISetVersionDeferral
+#define ISetVersionDeferralVtbl __x_ABI_CWindows_CStorage_CISetVersionDeferralVtbl
+#define ISetVersionDeferral __x_ABI_CWindows_CStorage_CISetVersionDeferral
+#define ISetVersionDeferral_QueryInterface __x_ABI_CWindows_CStorage_CISetVersionDeferral_QueryInterface
+#define ISetVersionDeferral_AddRef __x_ABI_CWindows_CStorage_CISetVersionDeferral_AddRef
+#define ISetVersionDeferral_Release __x_ABI_CWindows_CStorage_CISetVersionDeferral_Release
+#define ISetVersionDeferral_GetIids __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetIids
+#define ISetVersionDeferral_GetRuntimeClassName __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetRuntimeClassName
+#define ISetVersionDeferral_GetTrustLevel __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetTrustLevel
+#define ISetVersionDeferral_Complete __x_ABI_CWindows_CStorage_CISetVersionDeferral_Complete
+#endif /* WIDL_using_Windows_Storage */
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/windows.storage.streams.h b/mingw-w64-headers/include/windows.storage.streams.h
index 9940355..3aa8702 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 6.2 from include/windows.storage.streams.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/windows.storage.streams.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -22,6 +22,7 @@
 #define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBuffer __x_ABI_CWindows_CStorage_CStreams_CIBuffer;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CStreams_CIBuffer ABI::Windows::Storage::Streams::IBuffer
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -38,6 +39,7 @@
 #define ____x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory ABI::Windows::Storage::Streams::IBufferFactory
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -62,6 +64,7 @@
 #define ____x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory ABI::Windows::Storage::Streams::IBufferFactory
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -78,6 +81,7 @@
 #define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBuffer __x_ABI_CWindows_CStorage_CStreams_CIBuffer;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CStorage_CStreams_CIBuffer ABI::Windows::Storage::Streams::IBuffer
 namespace ABI {
     namespace Windows {
         namespace Storage {
@@ -122,7 +126,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::Streams::IBuffer, 0x905a0fe0, 0xbc53, 0x11df, 0x8c,0x49, 0x00,0x1e,0x4f,0xc6,0x86,0xda)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CStreams_CIBuffer, 0x905a0fe0, 0xbc53, 0x11df, 0x8c,0x49, 0x00,0x1e,0x4f,0xc6,0x86,0xda)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CStreams_CIBufferVtbl {
@@ -220,6 +224,20 @@
     return This->lpVtbl->put_Length(This,value);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage_Streams
+#define IID_IBuffer IID___x_ABI_CWindows_CStorage_CStreams_CIBuffer
+#define IBufferVtbl __x_ABI_CWindows_CStorage_CStreams_CIBufferVtbl
+#define IBuffer __x_ABI_CWindows_CStorage_CStreams_CIBuffer
+#define IBuffer_QueryInterface __x_ABI_CWindows_CStorage_CStreams_CIBuffer_QueryInterface
+#define IBuffer_AddRef __x_ABI_CWindows_CStorage_CStreams_CIBuffer_AddRef
+#define IBuffer_Release __x_ABI_CWindows_CStorage_CStreams_CIBuffer_Release
+#define IBuffer_GetIids __x_ABI_CWindows_CStorage_CStreams_CIBuffer_GetIids
+#define IBuffer_GetRuntimeClassName __x_ABI_CWindows_CStorage_CStreams_CIBuffer_GetRuntimeClassName
+#define IBuffer_GetTrustLevel __x_ABI_CWindows_CStorage_CStreams_CIBuffer_GetTrustLevel
+#define IBuffer_get_Capacity __x_ABI_CWindows_CStorage_CStreams_CIBuffer_get_Capacity
+#define IBuffer_get_Length __x_ABI_CWindows_CStorage_CStreams_CIBuffer_get_Length
+#define IBuffer_put_Length __x_ABI_CWindows_CStorage_CStreams_CIBuffer_put_Length
+#endif /* WIDL_using_Windows_Storage_Streams */
 #endif
 
 #endif
@@ -244,7 +262,7 @@
                 {
                     virtual HRESULT STDMETHODCALLTYPE Create(
                         UINT32 capacity,
-                        IBuffer **value) = 0;
+                        ABI::Windows::Storage::Streams::IBuffer **value) = 0;
 
                 };
             }
@@ -253,7 +271,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::Storage::Streams::IBufferFactory, 0x71af914d, 0xc10f, 0x484b, 0xbc,0x50, 0x14,0xbc,0x62,0x3b,0x3a,0x27)
+__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CStreams_CIBufferFactory, 0x71af914d, 0xc10f, 0x484b, 0xbc,0x50, 0x14,0xbc,0x62,0x3b,0x3a,0x27)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CStorage_CStreams_CIBufferFactoryVtbl {
@@ -336,6 +354,18 @@
     return This->lpVtbl->Create(This,capacity,value);
 }
 #endif
+#ifdef WIDL_using_Windows_Storage_Streams
+#define IID_IBufferFactory IID___x_ABI_CWindows_CStorage_CStreams_CIBufferFactory
+#define IBufferFactoryVtbl __x_ABI_CWindows_CStorage_CStreams_CIBufferFactoryVtbl
+#define IBufferFactory __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory
+#define IBufferFactory_QueryInterface __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_QueryInterface
+#define IBufferFactory_AddRef __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_AddRef
+#define IBufferFactory_Release __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_Release
+#define IBufferFactory_GetIids __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_GetIids
+#define IBufferFactory_GetRuntimeClassName __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_GetRuntimeClassName
+#define IBufferFactory_GetTrustLevel __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_GetTrustLevel
+#define IBufferFactory_Create __x_ABI_CWindows_CStorage_CStreams_CIBufferFactory_Create
+#endif /* WIDL_using_Windows_Storage_Streams */
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/windows.system.h b/mingw-w64-headers/include/windows.system.h
index f895a41..84c79e0 100644
--- a/mingw-w64-headers/include/windows.system.h
+++ b/mingw-w64-headers/include/windows.system.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/windows.system.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/windows.system.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -22,6 +22,7 @@
 #define ____x_ABI_CWindows_CSystem_CIDispatcherQueueController_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueController __x_ABI_CWindows_CSystem_CIDispatcherQueueController;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController ABI::Windows::System::IDispatcherQueueController
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -61,7 +62,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::System::IDispatcherQueueController, 0x22f34e66, 0x50db, 0x4e36, 0xa9,0x8d, 0x61,0xc0,0x1b,0x38,0x4d,0x20)
+__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueueController, 0x22f34e66, 0x50db, 0x4e36, 0xa9,0x8d, 0x61,0xc0,0x1b,0x38,0x4d,0x20)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerVtbl {
@@ -132,6 +133,17 @@
     return This->lpVtbl->GetTrustLevel(This,trustLevel);
 }
 #endif
+#ifdef WIDL_using_Windows_System
+#define IID_IDispatcherQueueController IID___x_ABI_CWindows_CSystem_CIDispatcherQueueController
+#define IDispatcherQueueControllerVtbl __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerVtbl
+#define IDispatcherQueueController __x_ABI_CWindows_CSystem_CIDispatcherQueueController
+#define IDispatcherQueueController_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueueController_QueryInterface
+#define IDispatcherQueueController_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueueController_AddRef
+#define IDispatcherQueueController_Release __x_ABI_CWindows_CSystem_CIDispatcherQueueController_Release
+#define IDispatcherQueueController_GetIids __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetIids
+#define IDispatcherQueueController_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetRuntimeClassName
+#define IDispatcherQueueController_GetTrustLevel __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetTrustLevel
+#endif /* WIDL_using_Windows_System */
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/windows.system.threading.h b/mingw-w64-headers/include/windows.system.threading.h
index e222d5d..39dc7d5 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 6.2 from include/windows.system.threading.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/windows.system.threading.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -22,6 +22,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler ABI::Windows::System::Threading::TimerElapsedHandler
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -38,6 +39,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler ABI::Windows::System::Threading::TimerDestroyedHandler
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -54,6 +56,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler ABI::Windows::System::Threading::WorkItemHandler
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -70,6 +73,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics ABI::Windows::System::Threading::IThreadPoolStatics
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -86,6 +90,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer ABI::Windows::System::Threading::IThreadPoolTimer
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -102,6 +107,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics ABI::Windows::System::Threading::IThreadPoolTimerStatics
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -127,6 +133,7 @@
 #define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction
 namespace ABI {
     namespace Windows {
         namespace Foundation {
@@ -149,12 +156,16 @@
 extern "C" {
 #else
 struct __x_ABI_CWindows_CFoundation_CTimeSpan;
+#ifdef WIDL_using_Windows_Foundation
+#define TimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan
+#endif /* WIDL_using_Windows_Foundation */
 #endif
 
 #ifndef ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__
 #define ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler ABI::Windows::System::Threading::TimerElapsedHandler
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -171,6 +182,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler ABI::Windows::System::Threading::TimerDestroyedHandler
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -187,6 +199,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler ABI::Windows::System::Threading::WorkItemHandler
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -203,6 +216,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics ABI::Windows::System::Threading::IThreadPoolStatics
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -219,6 +233,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer ABI::Windows::System::Threading::IThreadPoolTimer
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -235,6 +250,7 @@
 #define ____x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics;
 #ifdef __cplusplus
+#define __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics ABI::Windows::System::Threading::IThreadPoolTimerStatics
 namespace ABI {
     namespace Windows {
         namespace System {
@@ -269,6 +285,9 @@
     WorkItemPriority_Normal = 0,
     WorkItemPriority_High = 1
 };
+#ifdef WIDL_using_Windows_System_Threading
+#define WorkItemPriority __x_ABI_CWindows_CSystem_CThreading_CWorkItemPriority
+#endif /* WIDL_using_Windows_System_Threading */
 #endif
 
 #ifdef __cplusplus
@@ -291,6 +310,9 @@
     WorkItemOptions_None = 0,
     WorkItemOptions_TimeSliced = 1
 };
+#ifdef WIDL_using_Windows_System_Threading
+#define WorkItemOptions __x_ABI_CWindows_CSystem_CThreading_CWorkItemOptions
+#endif /* WIDL_using_Windows_System_Threading */
 #endif
 
 /*****************************************************************************
@@ -310,7 +332,7 @@
                 TimerElapsedHandler : public IUnknown
                 {
                     virtual HRESULT STDMETHODCALLTYPE Invoke(
-                        IThreadPoolTimer *timer) = 0;
+                        ABI::Windows::System::Threading::IThreadPoolTimer *timer) = 0;
 
                 };
             }
@@ -319,7 +341,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::System::Threading::TimerElapsedHandler, 0xfaaea667, 0xfbeb, 0x49cb, 0xad,0xb2, 0x71,0x18,0x4c,0x55,0x6e,0x43)
+__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler, 0xfaaea667, 0xfbeb, 0x49cb, 0xad,0xb2, 0x71,0x18,0x4c,0x55,0x6e,0x43)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandlerVtbl {
@@ -373,6 +395,15 @@
     return This->lpVtbl->Invoke(This,timer);
 }
 #endif
+#ifdef WIDL_using_Windows_System_Threading
+#define IID_TimerElapsedHandler IID___x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler
+#define TimerElapsedHandlerVtbl __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandlerVtbl
+#define TimerElapsedHandler __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler
+#define TimerElapsedHandler_QueryInterface __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_QueryInterface
+#define TimerElapsedHandler_AddRef __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_AddRef
+#define TimerElapsedHandler_Release __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_Release
+#define TimerElapsedHandler_Invoke __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_Invoke
+#endif /* WIDL_using_Windows_System_Threading */
 #endif
 
 #endif
@@ -396,7 +427,7 @@
                 TimerDestroyedHandler : public IUnknown
                 {
                     virtual HRESULT STDMETHODCALLTYPE Invoke(
-                        IThreadPoolTimer *timer) = 0;
+                        ABI::Windows::System::Threading::IThreadPoolTimer *timer) = 0;
 
                 };
             }
@@ -405,7 +436,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::System::Threading::TimerDestroyedHandler, 0x34ed19fa, 0x8384, 0x4eb9, 0x82,0x09, 0xfb,0x50,0x94,0xee,0xec,0x35)
+__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler, 0x34ed19fa, 0x8384, 0x4eb9, 0x82,0x09, 0xfb,0x50,0x94,0xee,0xec,0x35)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandlerVtbl {
@@ -459,6 +490,15 @@
     return This->lpVtbl->Invoke(This,timer);
 }
 #endif
+#ifdef WIDL_using_Windows_System_Threading
+#define IID_TimerDestroyedHandler IID___x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler
+#define TimerDestroyedHandlerVtbl __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandlerVtbl
+#define TimerDestroyedHandler __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler
+#define TimerDestroyedHandler_QueryInterface __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler_QueryInterface
+#define TimerDestroyedHandler_AddRef __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler_AddRef
+#define TimerDestroyedHandler_Release __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler_Release
+#define TimerDestroyedHandler_Invoke __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler_Invoke
+#endif /* WIDL_using_Windows_System_Threading */
 #endif
 
 #endif
@@ -482,7 +522,7 @@
                 WorkItemHandler : public IUnknown
                 {
                     virtual HRESULT STDMETHODCALLTYPE Invoke(
-                        IAsyncAction *operation) = 0;
+                        ABI::Windows::Foundation::IAsyncAction *operation) = 0;
 
                 };
             }
@@ -491,7 +531,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::System::Threading::WorkItemHandler, 0x1d1a8b8b, 0xfa66, 0x414f, 0x9c,0xbd, 0xb6,0x5f,0xc9,0x9d,0x17,0xfa)
+__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler, 0x1d1a8b8b, 0xfa66, 0x414f, 0x9c,0xbd, 0xb6,0x5f,0xc9,0x9d,0x17,0xfa)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandlerVtbl {
@@ -545,6 +585,15 @@
     return This->lpVtbl->Invoke(This,operation);
 }
 #endif
+#ifdef WIDL_using_Windows_System_Threading
+#define IID_WorkItemHandler IID___x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler
+#define WorkItemHandlerVtbl __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandlerVtbl
+#define WorkItemHandler __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler
+#define WorkItemHandler_QueryInterface __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler_QueryInterface
+#define WorkItemHandler_AddRef __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler_AddRef
+#define WorkItemHandler_Release __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler_Release
+#define WorkItemHandler_Invoke __x_ABI_CWindows_CSystem_CThreading_CWorkItemHandler_Invoke
+#endif /* WIDL_using_Windows_System_Threading */
 #endif
 
 #endif
@@ -568,19 +617,19 @@
                 IThreadPoolStatics : public IInspectable
                 {
                     virtual HRESULT STDMETHODCALLTYPE RunAsync(
-                        WorkItemHandler *handler,
-                        IAsyncAction **operation) = 0;
+                        ABI::Windows::System::Threading::WorkItemHandler *handler,
+                        ABI::Windows::Foundation::IAsyncAction **operation) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE RunWithPriorityAsync(
-                        WorkItemHandler *handler,
+                        ABI::Windows::System::Threading::WorkItemHandler *handler,
                         enum WorkItemPriority priority,
-                        IAsyncAction **operation) = 0;
+                        ABI::Windows::Foundation::IAsyncAction **operation) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE RunWithPriorityAndOptionsAsync(
-                        WorkItemHandler *handler,
+                        ABI::Windows::System::Threading::WorkItemHandler *handler,
                         enum WorkItemPriority priority,
                         enum WorkItemOptions options,
-                        IAsyncAction **operation) = 0;
+                        ABI::Windows::Foundation::IAsyncAction **operation) = 0;
 
                 };
             }
@@ -589,7 +638,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::System::Threading::IThreadPoolStatics, 0xb6bf67dd, 0x84bd, 0x44f8, 0xac,0x1c, 0x93,0xeb,0xcb,0x9d,0xba,0x91)
+__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics, 0xb6bf67dd, 0x84bd, 0x44f8, 0xac,0x1c, 0x93,0xeb,0xcb,0x9d,0xba,0x91)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStaticsVtbl {
@@ -693,6 +742,20 @@
     return This->lpVtbl->RunWithPriorityAndOptionsAsync(This,handler,priority,options,operation);
 }
 #endif
+#ifdef WIDL_using_Windows_System_Threading
+#define IID_IThreadPoolStatics IID___x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics
+#define IThreadPoolStaticsVtbl __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStaticsVtbl
+#define IThreadPoolStatics __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics
+#define IThreadPoolStatics_QueryInterface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_QueryInterface
+#define IThreadPoolStatics_AddRef __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_AddRef
+#define IThreadPoolStatics_Release __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_Release
+#define IThreadPoolStatics_GetIids __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_GetIids
+#define IThreadPoolStatics_GetRuntimeClassName __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_GetRuntimeClassName
+#define IThreadPoolStatics_GetTrustLevel __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_GetTrustLevel
+#define IThreadPoolStatics_RunAsync __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_RunAsync
+#define IThreadPoolStatics_RunWithPriorityAsync __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_RunWithPriorityAsync
+#define IThreadPoolStatics_RunWithPriorityAndOptionsAsync __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolStatics_RunWithPriorityAndOptionsAsync
+#endif /* WIDL_using_Windows_System_Threading */
 #endif
 
 #endif
@@ -731,7 +794,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::System::Threading::IThreadPoolTimer, 0x594ebe78, 0x55ea, 0x4a88, 0xa5,0x0d, 0x34,0x02,0xae,0x1f,0x9c,0xf2)
+__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer, 0x594ebe78, 0x55ea, 0x4a88, 0xa5,0x0d, 0x34,0x02,0xae,0x1f,0x9c,0xf2)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerVtbl {
@@ -828,6 +891,20 @@
     return This->lpVtbl->Cancel(This);
 }
 #endif
+#ifdef WIDL_using_Windows_System_Threading
+#define IID_IThreadPoolTimer IID___x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer
+#define IThreadPoolTimerVtbl __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerVtbl
+#define IThreadPoolTimer __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer
+#define IThreadPoolTimer_QueryInterface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_QueryInterface
+#define IThreadPoolTimer_AddRef __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_AddRef
+#define IThreadPoolTimer_Release __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_Release
+#define IThreadPoolTimer_GetIids __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_GetIids
+#define IThreadPoolTimer_GetRuntimeClassName __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_GetRuntimeClassName
+#define IThreadPoolTimer_GetTrustLevel __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_GetTrustLevel
+#define IThreadPoolTimer_get_Period __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_get_Period
+#define IThreadPoolTimer_get_Delay __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_get_Delay
+#define IThreadPoolTimer_Cancel __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_Cancel
+#endif /* WIDL_using_Windows_System_Threading */
 #endif
 
 #endif
@@ -851,26 +928,26 @@
                 IThreadPoolTimerStatics : public IInspectable
                 {
                     virtual HRESULT STDMETHODCALLTYPE CreatePeriodicTimer(
-                        TimerElapsedHandler *handler,
+                        ABI::Windows::System::Threading::TimerElapsedHandler *handler,
                         struct TimeSpan period,
-                        IThreadPoolTimer **timer) = 0;
+                        ABI::Windows::System::Threading::IThreadPoolTimer **timer) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE CreateTimer(
-                        TimerElapsedHandler *handler,
+                        ABI::Windows::System::Threading::TimerElapsedHandler *handler,
                         struct TimeSpan delay,
-                        IThreadPoolTimer **timer) = 0;
+                        ABI::Windows::System::Threading::IThreadPoolTimer **timer) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE CreatePeriodicTimerWithCompletion(
-                        TimerElapsedHandler *handler,
+                        ABI::Windows::System::Threading::TimerElapsedHandler *handler,
                         struct TimeSpan period,
-                        TimerDestroyedHandler *destroyed,
-                        IThreadPoolTimer **timer) = 0;
+                        ABI::Windows::System::Threading::TimerDestroyedHandler *destroyed,
+                        ABI::Windows::System::Threading::IThreadPoolTimer **timer) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE CreateTimerWithCompletion(
-                        TimerElapsedHandler *handler,
+                        ABI::Windows::System::Threading::TimerElapsedHandler *handler,
                         struct TimeSpan delay,
-                        TimerDestroyedHandler *destroyed,
-                        IThreadPoolTimer **timer) = 0;
+                        ABI::Windows::System::Threading::TimerDestroyedHandler *destroyed,
+                        ABI::Windows::System::Threading::IThreadPoolTimer **timer) = 0;
 
                 };
             }
@@ -879,7 +956,7 @@
 }
 extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ABI::Windows::System::Threading::IThreadPoolTimerStatics, 0x1a8a9d02, 0xe482, 0x461b, 0xb8,0xc7, 0x8e,0xfa,0xd1,0xcc,0xe5,0x90)
+__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics, 0x1a8a9d02, 0xe482, 0x461b, 0xb8,0xc7, 0x8e,0xfa,0xd1,0xcc,0xe5,0x90)
 #endif
 #else
 typedef struct __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStaticsVtbl {
@@ -995,6 +1072,21 @@
     return This->lpVtbl->CreateTimerWithCompletion(This,handler,delay,destroyed,timer);
 }
 #endif
+#ifdef WIDL_using_Windows_System_Threading
+#define IID_IThreadPoolTimerStatics IID___x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics
+#define IThreadPoolTimerStaticsVtbl __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStaticsVtbl
+#define IThreadPoolTimerStatics __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics
+#define IThreadPoolTimerStatics_QueryInterface __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_QueryInterface
+#define IThreadPoolTimerStatics_AddRef __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_AddRef
+#define IThreadPoolTimerStatics_Release __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_Release
+#define IThreadPoolTimerStatics_GetIids __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_GetIids
+#define IThreadPoolTimerStatics_GetRuntimeClassName __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_GetRuntimeClassName
+#define IThreadPoolTimerStatics_GetTrustLevel __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_GetTrustLevel
+#define IThreadPoolTimerStatics_CreatePeriodicTimer __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreatePeriodicTimer
+#define IThreadPoolTimerStatics_CreateTimer __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreateTimer
+#define IThreadPoolTimerStatics_CreatePeriodicTimerWithCompletion __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreatePeriodicTimerWithCompletion
+#define IThreadPoolTimerStatics_CreateTimerWithCompletion __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreateTimerWithCompletion
+#endif /* WIDL_using_Windows_System_Threading */
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/windowscontracts.h b/mingw-w64-headers/include/windowscontracts.h
index 4a3f1df..c12c5e6 100644
--- a/mingw-w64-headers/include/windowscontracts.h
+++ b/mingw-w64-headers/include/windowscontracts.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/windowscontracts.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 61f9f6f..d72d7db 100644
--- a/mingw-w64-headers/include/wmcodecdsp.h
+++ b/mingw-w64-headers/include/wmcodecdsp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wmcodecdsp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 d0d7fec..5cc12ec 100644
--- a/mingw-w64-headers/include/wmcontainer.h
+++ b/mingw-w64-headers/include/wmcontainer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wmcontainer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 f6d2e65..e5afad8 100644
--- a/mingw-w64-headers/include/wmdrmsdk.h
+++ b/mingw-w64-headers/include/wmdrmsdk.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wmdrmsdk.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 6171ad4..038726b 100644
--- a/mingw-w64-headers/include/wmp.h
+++ b/mingw-w64-headers/include/wmp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wmp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/wmp.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 6d485ca..c6b633e 100644
--- a/mingw-w64-headers/include/wmsbuffer.h
+++ b/mingw-w64-headers/include/wmsbuffer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wmsbuffer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 02564e2..0df15c9 100644
--- a/mingw-w64-headers/include/wmsdkidl.h
+++ b/mingw-w64-headers/include/wmsdkidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wmsdkidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/wmsdkidl.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 c7b1563..db29086 100644
--- a/mingw-w64-headers/include/wpcapi.h
+++ b/mingw-w64-headers/include/wpcapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wpcapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 bbc48cc..079b1f7 100644
--- a/mingw-w64-headers/include/wsdattachment.h
+++ b/mingw-w64-headers/include/wsdattachment.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wsdattachment.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 ff015e5..4f7ba1a 100644
--- a/mingw-w64-headers/include/wsdbase.h
+++ b/mingw-w64-headers/include/wsdbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wsdbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 9a68cf8..10b0a7e 100644
--- a/mingw-w64-headers/include/wsdclient.h
+++ b/mingw-w64-headers/include/wsdclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wsdclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 812b01c..98e1866 100644
--- a/mingw-w64-headers/include/wsddisco.h
+++ b/mingw-w64-headers/include/wsddisco.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wsddisco.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 f1a8c6f..6bfc55b 100644
--- a/mingw-w64-headers/include/wsdhost.h
+++ b/mingw-w64-headers/include/wsdhost.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wsdhost.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 2f0c48b..0e21254 100644
--- a/mingw-w64-headers/include/wsdxml.h
+++ b/mingw-w64-headers/include/wsdxml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wsdxml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 3558085..955a377 100644
--- a/mingw-w64-headers/include/wsmandisp.h
+++ b/mingw-w64-headers/include/wsmandisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wsmandisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 db54487..370bb01 100644
--- a/mingw-w64-headers/include/wtypes.h
+++ b/mingw-w64-headers/include/wtypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wtypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 7dccb3e..93c3bd7 100644
--- a/mingw-w64-headers/include/wtypesbase.h
+++ b/mingw-w64-headers/include/wtypesbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/wtypesbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/wtypesbase.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 3bf1c69..bb87e8e 100644
--- a/mingw-w64-headers/include/xapo.h
+++ b/mingw-w64-headers/include/xapo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xapo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 c70f99a..fc3bd52 100644
--- a/mingw-w64-headers/include/xaudio2.h
+++ b/mingw-w64-headers/include/xaudio2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xaudio2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/xaudio2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xaudio2fx.h b/mingw-w64-headers/include/xaudio2fx.h
index f61449a..5d4420d 100644
--- a/mingw-w64-headers/include/xaudio2fx.h
+++ b/mingw-w64-headers/include/xaudio2fx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xaudio2fx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 a1f0065..85ba8df 100644
--- a/mingw-w64-headers/include/xmllite.h
+++ b/mingw-w64-headers/include/xmllite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xmllite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 a801032..36546d7 100644
--- a/mingw-w64-headers/include/xpsdigitalsignature.h
+++ b/mingw-w64-headers/include/xpsdigitalsignature.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xpsdigitalsignature.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 5692c5c..c36efd0 100644
--- a/mingw-w64-headers/include/xpsobjectmodel.h
+++ b/mingw-w64-headers/include/xpsobjectmodel.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xpsobjectmodel.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 4286d2e..0dba259 100644
--- a/mingw-w64-headers/include/xpsobjectmodel_1.h
+++ b/mingw-w64-headers/include/xpsobjectmodel_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xpsobjectmodel_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 3a24379..eb8c846 100644
--- a/mingw-w64-headers/include/xpsprint.h
+++ b/mingw-w64-headers/include/xpsprint.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xpsprint.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 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 493ff94..bb9617b 100644
--- a/mingw-w64-headers/include/xpsrassvc.h
+++ b/mingw-w64-headers/include/xpsrassvc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.2 from include/xpsrassvc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.3 from include/xpsrassvc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-tools/widl/VERSION b/mingw-w64-tools/widl/VERSION
index 077085d..2eb3dd4 100644
--- a/mingw-w64-tools/widl/VERSION
+++ b/mingw-w64-tools/widl/VERSION
@@ -1 +1 @@
-WIDL version 6.2
+WIDL version 6.3
diff --git a/mingw-w64-tools/widl/configure b/mingw-w64-tools/widl/configure
index 750d8b7..5a3ae84 100755
--- a/mingw-w64-tools/widl/configure
+++ b/mingw-w64-tools/widl/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for widl 6.2.
+# Generated by GNU Autoconf 2.69 for widl 6.3.
 #
 # Report bugs to <mingw-w64-public@lists.sourceforge.net>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='widl'
 PACKAGE_TARNAME='widl'
-PACKAGE_VERSION='6.2'
-PACKAGE_STRING='widl 6.2'
+PACKAGE_VERSION='6.3'
+PACKAGE_STRING='widl 6.3'
 PACKAGE_BUGREPORT='mingw-w64-public@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1296,7 +1296,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures widl 6.2 to adapt to many kinds of systems.
+\`configure' configures widl 6.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1368,7 +1368,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of widl 6.2:";;
+     short | recursive ) echo "Configuration of widl 6.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1470,7 +1470,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-widl configure 6.2
+widl configure 6.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2023,7 +2023,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by widl $as_me 6.2, which was
+It was created by widl $as_me 6.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2997,7 +2997,7 @@
 
 # Define the identity of the package.
  PACKAGE='widl'
- VERSION='6.2'
+ VERSION='6.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5461,7 +5461,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by widl $as_me 6.2, which was
+This file was extended by widl $as_me 6.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5527,7 +5527,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-widl config.status 6.2
+widl config.status 6.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/mingw-w64-tools/widl/include/winnt.h b/mingw-w64-tools/widl/include/winnt.h
index 48f1715..7973960 100644
--- a/mingw-w64-tools/widl/include/winnt.h
+++ b/mingw-w64-tools/widl/include/winnt.h
@@ -32,6 +32,11 @@
 #endif
 
 
+#if defined(_MSC_VER) && (defined(__arm__) || defined(__aarch64__))
+#include <intrin.h>
+#endif
+
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -2810,6 +2815,12 @@
     __asm__("mrc p15, 0, %0, c13, c0, 2" : "=r" (teb));
     return teb;
 }
+#elif defined(__arm__) && defined(_MSC_VER)
+#pragma intrinsic(_MoveFromCoprocessor)
+static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
+{
+    return (struct _TEB *)(ULONG_PTR)_MoveFromCoprocessor(15, 0, 13, 0, 2);
+}
 #else
 extern struct _TEB * WINAPI NtCurrentTeb(void);
 #endif
@@ -6907,9 +6918,6 @@
 #pragma intrinsic(_InterlockedAnd)
 #pragma intrinsic(_InterlockedCompareExchange)
 #pragma intrinsic(_InterlockedCompareExchange64)
-#ifdef _WIN64
-#pragma intrinsic(_InterlockedCompareExchange128)
-#endif
 #pragma intrinsic(_InterlockedExchange)
 #pragma intrinsic(_InterlockedExchangeAdd)
 #pragma intrinsic(_InterlockedIncrement)
@@ -6921,9 +6929,6 @@
 long      _InterlockedAnd(long volatile *,long);
 long      _InterlockedCompareExchange(long volatile*,long,long);
 long long _InterlockedCompareExchange64(long long volatile*,long long,long long);
-#ifdef _WIN64
-unsigned char _InterlockedCompareExchange128(volatile __int64 *, __int64, __int64, __int64 *);
-#endif
 long      _InterlockedDecrement(long volatile*);
 short     _InterlockedDecrement16(short volatile*);
 long      _InterlockedExchange(long volatile*,long);
@@ -6944,16 +6949,9 @@
 
 static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
 {
-    return _InterlockedCompareExchange64( (long long volatile *)dest, compare, xchg );
+    return _InterlockedCompareExchange64( (long long volatile *)dest, xchg, compare );
 }
 
-#ifdef _WIN64
-static FORCEINLINE unsigned char WINAPI InterlockedCompareExchange128( volatile __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare )
-{
-    return _InterlockedCompareExchange128( dest, xchg_high, xchg_low, compare );
-}
-#endif
-
 static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
 {
     return _InterlockedExchange( (long volatile *)dest, val );
@@ -7035,10 +7033,6 @@
 
 #elif defined(__arm__)
 
-#pragma intrinsic(__dmb)
-
-void __dmb(void);
-
 static FORCEINLINE void MemoryBarrier(void)
 {
     __dmb(_ARM_BARRIER_SY);
@@ -7046,10 +7040,6 @@
 
 #elif defined(__aarch64__)
 
-#pragma intrinsic(__dmb)
-
-void __dmb(void);
-
 static FORCEINLINE void MemoryBarrier(void)
 {
     __dmb(_ARM64_BARRIER_SY);
@@ -7079,23 +7069,6 @@
     return __sync_val_compare_and_swap( dest, compare, xchg );
 }
 
-#ifdef _WIN64
-static FORCEINLINE unsigned char InterlockedCompareExchange128( volatile __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare )
-{
-#ifdef __x86_64__
-    unsigned char ret;
-    __asm__ __volatile__( "lock cmpxchg16b %0; setz %b2"
-                          : "=m" (dest[0]), "=m" (dest[1]), "=r" (ret),
-                            "=a" (compare[0]), "=d" (compare[1])
-                          : "m" (dest[0]), "m" (dest[1]), "3" (compare[0]), "4" (compare[1]),
-                            "c" (xchg_high), "b" (xchg_low) );
-    return ret;
-#else
-    return __sync_bool_compare_and_swap( (__int128 *)dest, *(__int128 *)compare, ((__int128)xchg_high << 64) | xchg_low );
-#endif
-}
-#endif
-
 static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
 {
     LONG ret;
@@ -7162,6 +7135,36 @@
 
 #endif  /* __GNUC__ */
 
+#ifdef _WIN64
+#if defined(_MSC_VER) && !defined(__clang__)
+
+#pragma intrinsic(_InterlockedCompareExchange128)
+unsigned char _InterlockedCompareExchange128(volatile __int64 *, __int64, __int64, __int64 *);
+static FORCEINLINE unsigned char WINAPI InterlockedCompareExchange128( volatile __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare )
+{
+    return _InterlockedCompareExchange128( dest, xchg_high, xchg_low, compare );
+}
+
+#else
+
+static FORCEINLINE unsigned char InterlockedCompareExchange128( volatile __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare )
+{
+#ifdef __x86_64__
+    unsigned char ret;
+    __asm__ __volatile__( "lock cmpxchg16b %0; setz %b2"
+                          : "=m" (dest[0]), "=m" (dest[1]), "=r" (ret),
+                            "=a" (compare[0]), "=d" (compare[1])
+                          : "m" (dest[0]), "m" (dest[1]), "3" (compare[0]), "4" (compare[1]),
+                            "c" (xchg_high), "b" (xchg_low) );
+    return ret;
+#else
+    return __sync_bool_compare_and_swap( (__int128 *)dest, *(__int128 *)compare, ((__int128)xchg_high << 64) | xchg_low );
+#endif
+}
+
+#endif
+#endif
+
 static FORCEINLINE void YieldProcessor(void)
 {
 #ifdef __GNUC__
diff --git a/mingw-w64-tools/widl/src/header.c b/mingw-w64-tools/widl/src/header.c
index 3c8ad09..16c8b57 100644
--- a/mingw-w64-tools/widl/src/header.c
+++ b/mingw-w64-tools/widl/src/header.c
@@ -48,6 +48,8 @@
 static void write_apicontract_guard_start(FILE *header, const expr_t *expr);
 static void write_apicontract_guard_end(FILE *header, const expr_t *expr);
 
+static void write_widl_using_macros(FILE *header, type_t *iface);
+
 static void indent(FILE *h, int delta)
 {
   int c;
@@ -123,6 +125,25 @@
     return 0;
 }
 
+static char *format_parameterized_type_args(const type_t *type, const char *prefix, const char *suffix)
+{
+    typeref_list_t *params;
+    typeref_t *ref;
+    size_t len = 0, pos = 0;
+    char *buf = NULL;
+
+    params = type->details.parameterized.params;
+    if (params) LIST_FOR_EACH_ENTRY(ref, params, typeref_t, entry)
+    {
+        assert(ref->type->type_type != TYPE_POINTER);
+        pos += strappend(&buf, &len, pos, "%s%s%s", prefix, ref->type->name, suffix);
+        if (list_next(params, &ref->entry)) pos += strappend(&buf, &len, pos, ", ");
+    }
+
+    if (!buf) return xstrdup("");
+    return buf;
+}
+
 static void write_guid(FILE *f, const char *guid_prefix, const char *name, const UUID *uuid)
 {
   if (!uuid) return;
@@ -135,15 +156,13 @@
 
 static void write_uuid_decl(FILE *f, type_t *type, const UUID *uuid)
 {
-  char *name = format_namespace(type->namespace, "", "::", type->name, use_abi_namespace ? "ABI" : NULL);
   fprintf(f, "#ifdef __CRT_UUID_DECL\n");
   fprintf(f, "__CRT_UUID_DECL(%s, 0x%08x, 0x%04x, 0x%04x, 0x%02x,0x%02x, 0x%02x,"
         "0x%02x,0x%02x,0x%02x,0x%02x,0x%02x)\n",
-        name, uuid->Data1, uuid->Data2, uuid->Data3, uuid->Data4[0], uuid->Data4[1],
+        type->c_name, uuid->Data1, uuid->Data2, uuid->Data3, uuid->Data4[0], uuid->Data4[1],
         uuid->Data4[2], uuid->Data4[3], uuid->Data4[4], uuid->Data4[5], uuid->Data4[6],
         uuid->Data4[7]);
   fprintf(f, "#endif\n");
-  free(name);
 }
 
 static const char *uuid_string(const UUID *uuid)
@@ -324,6 +343,7 @@
 {
   type_t *t = ds->type;
   const char *name;
+  char *args;
 
   if (!h) return;
 
@@ -465,13 +485,13 @@
       case TYPE_INTERFACE:
       case TYPE_MODULE:
       case TYPE_COCLASS:
-        fprintf(h, "%s", name);
+        fprintf(h, "%s", type_get_qualified_name(t, name_type));
         break;
       case TYPE_RUNTIMECLASS:
         fprintf(h, "%s", type_get_name(type_runtimeclass_get_default_iface(t), name_type));
         break;
       case TYPE_DELEGATE:
-        fprintf(h, "%s", type_get_name(type_delegate_get_iface(t), name_type));
+        fprintf(h, "%s", type_get_qualified_name(type_delegate_get_iface(t), name_type));
         break;
       case TYPE_VOID:
         fprintf(h, "void");
@@ -490,9 +510,19 @@
         else write_type_left(h, ds, name_type, declonly, write_callconv);
         break;
       }
-      case TYPE_APICONTRACT:
       case TYPE_PARAMETERIZED_TYPE:
+      {
+        type_t *iface = type_parameterized_type_get_real_type(t);
+        if (type_get_type(iface) == TYPE_DELEGATE) iface = type_delegate_get_iface(iface);
+        args = format_parameterized_type_args(t, "", "_logical");
+        fprintf(h, "%s<%s>", iface->name, args);
+        free(args);
+        break;
+      }
       case TYPE_PARAMETER:
+        fprintf(h, "%s_abi", t->name);
+        break;
+      case TYPE_APICONTRACT:
         /* shouldn't be here */
         assert(0);
         break;
@@ -559,10 +589,10 @@
   case TYPE_INTERFACE:
   case TYPE_RUNTIMECLASS:
   case TYPE_DELEGATE:
-    break;
-  case TYPE_APICONTRACT:
   case TYPE_PARAMETERIZED_TYPE:
   case TYPE_PARAMETER:
+    break;
+  case TYPE_APICONTRACT:
     /* not supposed to be here */
     assert(0);
     break;
@@ -606,6 +636,7 @@
         fprintf(f, "#else\n");
         write_type_left(f, &ds, NAME_C, declonly, TRUE);
         fprintf(f, ";\n");
+        if (winrt_mode) write_widl_using_macros(f, t);
         fprintf(f, "#endif\n\n");
     }
     if (contract) write_apicontract_guard_end(f, contract);
@@ -1476,16 +1507,96 @@
   fprintf(header, ");\n\n");
 }
 
+static void write_parameterized_type_forward(FILE *header, type_t *type)
+{
+    type_t *iface = type->details.parameterized.type;
+    char *args;
+
+    if (type_get_type(iface) == TYPE_DELEGATE) iface = type_delegate_get_iface(iface);
+
+    fprintf(header, "#if defined(__cplusplus) && !defined(CINTERFACE)\n");
+    write_namespace_start(header, type->namespace);
+
+    args = format_parameterized_type_args(type, "class ", "");
+    write_line(header, 0, "template <%s>", args);
+    write_line(header, 0, "struct %s_impl;\n", iface->name);
+
+    write_line(header, 0, "template <%s>", args);
+    free(args);
+    args = format_parameterized_type_args(type, "", "");
+    write_line(header, 0, "struct %s : %s_impl<%s> {};", iface->name, iface->name, args);
+    free(args);
+
+    write_namespace_end(header, type->namespace);
+    fprintf(header, "#endif\n\n" );
+}
+
+static void write_parameterized_implementation(FILE *header, type_t *type, int declonly)
+{
+    const statement_t *stmt;
+    typeref_list_t *params = params = type->details.parameterized.params;
+    typeref_t *ref;
+    type_t *iface = type->details.parameterized.type, *base;
+    char *args = NULL;
+
+    fprintf(header, "#if defined(__cplusplus) && !defined(CINTERFACE)\n");
+    write_line(header, 0, "} /* extern \"C\" */");
+    write_namespace_start(header, type->namespace);
+
+    if (type_get_type(iface) == TYPE_DELEGATE) iface = type_delegate_get_iface(iface);
+    base = type_iface_get_inherit(iface);
+
+    args = format_parameterized_type_args(type, "class ", "");
+    write_line(header, 0, "template <%s>", args);
+    free(args);
+    write_line(header, 0, "struct %s_impl%s", iface->name, base ? strmake(" : %s", base->name) : "");
+    write_line(header, 0, "{");
+
+    write_line(header, 1, "private:");
+    if (params) LIST_FOR_EACH_ENTRY(ref, params, typeref_t, entry)
+    {
+        write_line(header, 0, "typedef typename Windows::Foundation::Internal::GetAbiType<%s>::type     %s_abi;", ref->type->name, ref->type->name);
+        write_line(header, 0, "typedef typename Windows::Foundation::Internal::GetLogicalType<%s>::type %s_logical;", ref->type->name, ref->type->name);
+    }
+    indentation -= 1;
+
+    write_line(header, 1, "public:");
+    if (params) LIST_FOR_EACH_ENTRY(ref, params, typeref_t, entry)
+        write_line(header, 0, "typedef %s %s_complex;", ref->type->name, ref->type->name);
+
+    STATEMENTS_FOR_EACH_FUNC(stmt, type_iface_get_stmts(iface))
+    {
+        const var_t *func = stmt->u.var;
+        if (is_callas(func->attrs)) continue;
+        indent(header, 1);
+        fprintf(header, "virtual ");
+        write_type_decl_left(header, &func->declspec);
+        fprintf(header, "%s(", get_name(func));
+        write_args(header, type_function_get_args(func->declspec.type), NULL, 0, 0, NAME_DEFAULT);
+        fprintf(header, ") = 0;\n");
+        indentation -= 1;
+    }
+    write_line(header, -1, "};");
+
+    write_namespace_end(header, type->namespace);
+    write_line(header, 0, "extern \"C\" {");
+    write_line(header, 0, "#endif\n");
+}
+
 static void write_forward(FILE *header, type_t *iface)
 {
   fprintf(header, "#ifndef __%s_FWD_DEFINED__\n", iface->c_name);
   fprintf(header, "#define __%s_FWD_DEFINED__\n", iface->c_name);
   fprintf(header, "typedef interface %s %s;\n", iface->c_name, iface->c_name);
   fprintf(header, "#ifdef __cplusplus\n");
-  write_namespace_start(header, iface->namespace);
-  if (strchr(iface->name, '<')) write_line(header, 0, "template<> struct %s;", iface->name);
-  else write_line(header, 0, "interface %s;", iface->name);
-  write_namespace_end(header, iface->namespace);
+  if (iface->namespace && !is_global_namespace(iface->namespace))
+    fprintf(header, "#define %s %s\n", iface->c_name, iface->qualified_name);
+  if (!iface->impl_name)
+  {
+    write_namespace_start(header, iface->namespace);
+    write_line(header, 0, "interface %s;", iface->name);
+    write_namespace_end(header, iface->namespace);
+  }
   fprintf(header, "#endif /* __cplusplus */\n");
   fprintf(header, "#endif\n\n" );
 }
@@ -1536,6 +1647,47 @@
   fprintf(header,"#define __%s_%sINTERFACE_DEFINED__\n\n", iface->c_name, dispinterface ? "DISP" : "");
 }
 
+static void write_widl_using_method_macros(FILE *header, const type_t *iface, const type_t *top_iface)
+{
+    const statement_t *stmt;
+    const char *name = top_iface->short_name ? top_iface->short_name : top_iface->name;
+
+    if (type_iface_get_inherit(iface)) write_widl_using_method_macros(header, type_iface_get_inherit(iface), top_iface);
+
+    STATEMENTS_FOR_EACH_FUNC(stmt, type_iface_get_stmts(iface))
+    {
+        const var_t *func = stmt->u.var;
+        const char *func_name;
+
+        if (is_override_method(iface, top_iface, func)) continue;
+        if (is_callas(func->attrs)) continue;
+
+        func_name = get_name(func);
+        fprintf(header, "#define %s_%s %s_%s\n", name, func_name, top_iface->c_name, func_name);
+    }
+}
+
+static void write_widl_using_macros(FILE *header, type_t *iface)
+{
+    const UUID *uuid = get_attrp(iface->attrs, ATTR_UUID);
+    const char *name = iface->short_name ? iface->short_name : iface->name;
+    char *macro;
+
+    if (!strcmp(iface->name, iface->c_name)) return;
+
+    macro = format_namespace(iface->namespace, "WIDL_using_", "_", NULL, NULL);
+    fprintf(header, "#ifdef %s\n", macro);
+
+    if (uuid) fprintf(header, "#define IID_%s IID_%s\n", name, iface->c_name);
+    if (iface->type_type == TYPE_INTERFACE) fprintf(header, "#define %sVtbl %sVtbl\n", name, iface->c_name);
+    fprintf(header, "#define %s %s\n", name, iface->c_name);
+
+    if (iface->type_type == TYPE_INTERFACE) write_widl_using_method_macros(header, iface, iface);
+
+    fprintf(header, "#endif /* %s */\n", macro);
+    free(macro);
+}
+
 static void write_com_interface_end(FILE *header, type_t *iface)
 {
   int dispinterface = is_attr(iface->attrs, ATTR_DISPINTERFACE);
@@ -1561,7 +1713,12 @@
       if (strchr(iface->name, '<')) fprintf(header, "template<> struct ");
       else fprintf(header, "interface ");
   }
-  if (type_iface_get_inherit(iface))
+  if (iface->impl_name)
+  {
+    fprintf(header, "%s : %s\n", iface->name, iface->impl_name);
+    write_line(header, 1, "{");
+  }
+  else if (type_iface_get_inherit(iface))
   {
     fprintf(header, "%s : public %s\n", iface->name,
             type_iface_get_inherit(iface)->name);
@@ -1575,9 +1732,9 @@
   }
   /* dispinterfaces don't have real functions, so don't write C++ functions for
    * them */
-  if (!dispinterface)
+  if (!dispinterface && !iface->impl_name)
     write_cpp_method_def(header, iface);
-  if (!type_iface_get_inherit(iface))
+  if (!type_iface_get_inherit(iface) && !iface->impl_name)
     write_line(header, 0, "END_INTERFACE\n");
   write_line(header, -1, "};");
   if (!is_global_namespace(iface->namespace)) {
@@ -1608,6 +1765,7 @@
   fprintf(header, "#else\n");
   write_inline_wrappers(header, type, type, iface->c_name);
   fprintf(header, "#endif\n");
+  if (winrt_mode) write_widl_using_macros(header, iface);
   fprintf(header, "#endif\n");
   fprintf(header, "\n");
   fprintf(header, "#endif\n");
@@ -1722,11 +1880,15 @@
     if (contract) write_apicontract_guard_start(header, contract);
     fprintf(header, "#ifndef RUNTIMECLASS_%s_DEFINED\n", c_name);
     fprintf(header, "#define RUNTIMECLASS_%s_DEFINED\n", c_name);
-    fprintf(header, "#if defined(_MSC_VER) || defined(__MINGW32__)\n");
+    fprintf(header, "#if !defined(_MSC_VER) && !defined(__MINGW32__)\n");
+    fprintf(header, "static const WCHAR RuntimeClass_%s[] = {", c_name);
+    for (i = 0, len = strlen(name); i < len; ++i) fprintf(header, "'%c',", name[i]);
+    fprintf(header, "0};\n");
+    fprintf(header, "#elif defined(__GNUC__) && !defined(__cplusplus)\n");
     /* FIXME: MIDL generates extern const here but GCC warns if extern is initialized */
     fprintf(header, "const DECLSPEC_SELECTANY WCHAR RuntimeClass_%s[] = L\"%s\";\n", c_name, name);
     fprintf(header, "#else\n");
-    fprintf(header, "static const WCHAR RuntimeClass_%s[] = {", c_name);
+    fprintf(header, "extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_%s[] = {", c_name);
     for (i = 0, len = strlen(name); i < len; ++i) fprintf(header, "'%c',", name[i]);
     fprintf(header, "0};\n");
     fprintf(header, "#endif\n");
@@ -1818,6 +1980,8 @@
           write_coclass_forward(header, stmt->u.type);
         else if (type_get_type(stmt->u.type) == TYPE_RUNTIMECLASS)
           write_runtimeclass_forward(header, stmt->u.type);
+        else if (type_get_type(stmt->u.type) == TYPE_PARAMETERIZED_TYPE)
+          write_parameterized_type_forward(header, stmt->u.type);
         break;
       case STMT_TYPEREF:
       case STMT_IMPORTLIB:
@@ -1879,6 +2043,12 @@
           write_runtimeclass(header, stmt->u.type);
         else if (type_get_type(stmt->u.type) != TYPE_PARAMETERIZED_TYPE)
           write_type_definition(header, stmt->u.type, stmt->declonly);
+        else
+        {
+          is_object_interface++;
+          write_parameterized_implementation(header, stmt->u.type, stmt->declonly);
+          is_object_interface--;
+        }
         break;
       case STMT_TYPEREF:
         /* FIXME: shouldn't write out forward declarations for undefined
diff --git a/mingw-w64-tools/widl/src/parser.tab.c b/mingw-w64-tools/widl/src/parser.tab.c
index bf9c0b3..36f8dcf 100644
--- a/mingw-w64-tools/widl/src/parser.tab.c
+++ b/mingw-w64-tools/widl/src/parser.tab.c
@@ -7200,9 +7200,15 @@
   nt = xmalloc(sizeof(struct rtype));
   nt->name = name;
   if (is_global_namespace(namespace))
+  {
     type->c_name = name;
+    type->qualified_name = name;
+  }
   else
+  {
     type->c_name = format_namespace(namespace, "__x_", "_C", name, use_abi_namespace ? "ABI" : NULL);
+    type->qualified_name = format_namespace(namespace, "", "::", name, use_abi_namespace ? "ABI" : NULL);
+  }
   nt->type = type;
   nt->t = t;
   nt->next = namespace->type_hash[hash];
diff --git a/mingw-w64-tools/widl/src/parser.y b/mingw-w64-tools/widl/src/parser.y
index 4c115ad..eb8035c 100644
--- a/mingw-w64-tools/widl/src/parser.y
+++ b/mingw-w64-tools/widl/src/parser.y
@@ -2073,9 +2073,15 @@
   nt = xmalloc(sizeof(struct rtype));
   nt->name = name;
   if (is_global_namespace(namespace))
+  {
     type->c_name = name;
+    type->qualified_name = name;
+  }
   else
+  {
     type->c_name = format_namespace(namespace, "__x_", "_C", name, use_abi_namespace ? "ABI" : NULL);
+    type->qualified_name = format_namespace(namespace, "", "::", name, use_abi_namespace ? "ABI" : NULL);
+  }
   nt->type = type;
   nt->t = t;
   nt->next = namespace->type_hash[hash];
diff --git a/mingw-w64-tools/widl/src/typetree.c b/mingw-w64-tools/widl/src/typetree.c
index 9d0b557..a1e7abc 100644
--- a/mingw-w64-tools/widl/src/typetree.c
+++ b/mingw-w64-tools/widl/src/typetree.c
@@ -51,6 +51,9 @@
     t->attrs = NULL;
     t->c_name = NULL;
     t->signature = NULL;
+    t->qualified_name = NULL;
+    t->impl_name = NULL;
+    t->short_name = NULL;
     memset(&t->details, 0, sizeof(t->details));
     t->typestring_offset = 0;
     t->ptrdesc = 0;
@@ -91,6 +94,19 @@
     return NULL;
 }
 
+const char *type_get_qualified_name(const type_t *type, enum name_type name_type)
+{
+    switch(name_type) {
+    case NAME_DEFAULT:
+        return type->qualified_name;
+    case NAME_C:
+        return type->c_name;
+    }
+
+    assert(0);
+    return NULL;
+}
+
 static size_t append_namespace(char **buf, size_t *len, size_t pos, struct namespace *namespace, const char *separator, const char *abi_prefix)
 {
     int nested = namespace && !is_global_namespace(namespace);
@@ -105,10 +121,23 @@
 static size_t append_namespaces(char **buf, size_t *len, size_t pos, struct namespace *namespace, const char *prefix,
                                 const char *separator, const char *suffix, const char *abi_prefix)
 {
+    int nested = namespace && !is_global_namespace(namespace);
     size_t n = 0;
     n += strappend(buf, len, pos + n, "%s", prefix);
-    n += append_namespace(buf, len, pos + n, namespace, separator, abi_prefix);
-    n += strappend(buf, len, pos + n, "%s", suffix);
+    if (nested) n += append_namespace(buf, len, pos + n, namespace, separator, abi_prefix);
+    if (suffix) n += strappend(buf, len, pos + n, "%s", suffix);
+    else if (nested)
+    {
+        n -= strlen(separator);
+        (*buf)[n] = 0;
+    }
+    return n;
+}
+
+static size_t append_pointer_stars(char **buf, size_t *len, size_t pos, type_t *type)
+{
+    size_t n = 0;
+    for (; type && type->type_type == TYPE_POINTER; type = type_pointer_get_ref_type(type)) n += strappend(buf, len, pos + n, "*");
     return n;
 }
 
@@ -251,12 +280,12 @@
     pos += strappend(&buf, &len, pos, "%s<", type->name);
     if (params) LIST_FOR_EACH_ENTRY(ref, params, typeref_t, entry)
     {
-        for (type = ref->type; type->type_type == TYPE_POINTER; type = type_pointer_get_ref_type(type)) {}
-        pos += append_namespaces(&buf, &len, pos, type->namespace, "", "::", type->name, use_abi_namespace ? "ABI" : NULL);
-        for (type = ref->type; type->type_type == TYPE_POINTER; type = type_pointer_get_ref_type(type)) pos += strappend(&buf, &len, pos, "*");
+        type = type_pointer_get_root_type(ref->type);
+        pos += strappend(&buf, &len, pos, "%s", type->qualified_name);
+        pos += append_pointer_stars(&buf, &len, pos, ref->type);
         if (list_next(params, &ref->entry)) pos += strappend(&buf, &len, pos, ",");
     }
-    pos += strappend(&buf, &len, pos, ">");
+    pos += strappend(&buf, &len, pos, " >");
 
     return buf;
 }
@@ -277,7 +306,7 @@
     pos += strappend(&buf, &len, pos, "%s%s_%d", prefix, type->name, count);
     if (params) LIST_FOR_EACH_ENTRY(ref, params, typeref_t, entry)
     {
-        for (type = ref->type; type->type_type == TYPE_POINTER; type = type_pointer_get_ref_type(type)) {}
+        type = type_pointer_get_root_type(ref->type);
         pos += append_namespaces(&buf, &len, pos, type->namespace, "_", "__C", type->name, NULL);
     }
 
@@ -319,6 +348,54 @@
     return buf;
 }
 
+static char *format_parameterized_type_short_name(type_t *type, typeref_list_t *params, const char *prefix)
+{
+    size_t len = 0, pos = 0;
+    char *buf = NULL;
+    typeref_t *ref;
+
+    pos += strappend(&buf, &len, pos, "%s%s", prefix, type->name);
+    if (params) LIST_FOR_EACH_ENTRY(ref, params, typeref_t, entry)
+    {
+        type = type_pointer_get_root_type(ref->type);
+        pos += strappend(&buf, &len, pos, "_%s", type->name);
+    }
+
+    return buf;
+}
+
+static char *format_parameterized_type_impl_name(type_t *type, typeref_list_t *params, const char *prefix)
+{
+    size_t len = 0, pos = 0;
+    char *buf = NULL;
+    typeref_t *ref;
+    type_t *iface;
+
+    pos += strappend(&buf, &len, pos, "%s%s_impl<", prefix, type->name);
+    if (params) LIST_FOR_EACH_ENTRY(ref, params, typeref_t, entry)
+    {
+        type = type_pointer_get_root_type(ref->type);
+        if (type->type_type == TYPE_RUNTIMECLASS)
+        {
+            pos += strappend(&buf, &len, pos, "ABI::Windows::Foundation::Internal::AggregateType<%s", type->qualified_name);
+            pos += append_pointer_stars(&buf, &len, pos, ref->type);
+            iface = type_runtimeclass_get_default_iface(type);
+            pos += strappend(&buf, &len, pos, ", %s", iface->qualified_name);
+            pos += append_pointer_stars(&buf, &len, pos, ref->type);
+            pos += strappend(&buf, &len, pos, " >");
+        }
+        else
+        {
+            pos += strappend(&buf, &len, pos, "%s", type->qualified_name);
+            pos += append_pointer_stars(&buf, &len, pos, ref->type);
+        }
+        if (list_next(params, &ref->entry)) pos += strappend(&buf, &len, pos, ", ");
+    }
+    pos += strappend(&buf, &len, pos, " >");
+
+    return buf;
+}
+
 type_t *type_new_function(var_list_t *args)
 {
     var_t *arg;
@@ -819,6 +896,7 @@
     iface->name = strmake("I%s", delegate->name);
     if (type) iface->c_name = format_parameterized_type_c_name(type, params, "I");
     else iface->c_name = format_namespace(delegate->namespace, "__x_", "_C", iface->name, use_abi_namespace ? "ABI" : NULL);
+    iface->qualified_name = format_namespace(delegate->namespace, "", "::", iface->name, use_abi_namespace ? "ABI" : NULL);
 }
 
 type_t *type_delegate_declare(char *name, struct namespace *namespace)
@@ -896,6 +974,8 @@
     iface->details.iface->async_iface = NULL;
     iface->details.iface->requires = requires;
 
+    iface->name = type->name;
+
     type->defined = TRUE;
     return type;
 }
@@ -936,6 +1016,9 @@
     iface->details.iface->async_iface = NULL;
     iface->details.iface->requires = NULL;
 
+    delegate->name = type->name;
+    compute_delegate_iface_names(delegate, type, type->details.parameterized.params);
+
     type->defined = TRUE;
     return type;
 }
@@ -1135,11 +1218,13 @@
     new_type->name = format_parameterized_type_name(type, params);
     reg_type(new_type, new_type->name, new_type->namespace, 0);
     new_type->c_name = format_parameterized_type_c_name(type, params, "");
+    new_type->short_name = format_parameterized_type_short_name(type, params, "");
 
     if (new_type->type_type == TYPE_DELEGATE)
     {
         new_type->details.delegate.iface = duptype(tmpl->details.delegate.iface, 0);
         compute_delegate_iface_names(new_type, type, params);
+        new_type->details.delegate.iface->short_name = format_parameterized_type_short_name(type, params, "I");
     }
 
     return new_type;
@@ -1205,11 +1290,13 @@
         error_loc("pinterface/pdelegate %s previously not declared a pinterface/pdelegate at %s:%d\n",
                   iface->name, iface->loc_info.input_name, iface->loc_info.line_number);
 
+    iface->impl_name = format_parameterized_type_impl_name(type, repl, "");
     iface->signature = format_parameterized_type_signature(type, repl);
     iface->defined = TRUE;
     if (iface->type_type == TYPE_DELEGATE)
     {
         iface = iface->details.delegate.iface;
+        iface->impl_name = format_parameterized_type_impl_name(type, repl, "I");
         iface->signature = format_parameterized_type_signature(type, repl);
         iface->defined = TRUE;
     }
diff --git a/mingw-w64-tools/widl/src/typetree.h b/mingw-w64-tools/widl/src/typetree.h
index c8bccc2..b9833dc 100644
--- a/mingw-w64-tools/widl/src/typetree.h
+++ b/mingw-w64-tools/widl/src/typetree.h
@@ -75,6 +75,7 @@
 type_t *type_parameterized_type_specialize_define(type_t *type);
 int type_is_equal(const type_t *type1, const type_t *type2);
 const char *type_get_name(const type_t *type, enum name_type name_type);
+const char *type_get_qualified_name(const type_t *type, enum name_type name_type);
 char *gen_name(void);
 extern int is_attr(const attr_list_t *list, enum attr_type t);
 
@@ -95,6 +96,14 @@
         return (type_t *)type;
 }
 
+static inline type_t *type_parameterized_type_get_real_type(const type_t *type)
+{
+    if (type->type_type == TYPE_PARAMETERIZED_TYPE)
+        return type_parameterized_type_get_real_type(type->details.parameterized.type);
+    else
+        return (type_t *)type;
+}
+
 static inline enum type_type type_get_type(const type_t *type)
 {
     return type_get_type_detect_alias(type_get_real_type(type));
@@ -402,6 +411,12 @@
     return type_pointer_get_ref(type)->type;
 }
 
+static inline type_t *type_pointer_get_root_type(type_t *type)
+{
+    for (; type && type->type_type == TYPE_POINTER; type = type_pointer_get_ref_type(type)) {}
+    return type;
+}
+
 static inline type_t *type_bitfield_get_field(const type_t *type)
 {
     type = type_get_real_type(type);
diff --git a/mingw-w64-tools/widl/src/widltypes.h b/mingw-w64-tools/widl/src/widltypes.h
index e01bd12..0ecd8f3 100644
--- a/mingw-w64-tools/widl/src/widltypes.h
+++ b/mingw-w64-tools/widl/src/widltypes.h
@@ -503,6 +503,9 @@
   } details;
   const char *c_name;
   const char *signature;
+  const char *qualified_name;
+  const char *impl_name;
+  const char *short_name;
   unsigned int typestring_offset;
   unsigned int ptrdesc;           /* used for complex structs */
   int typelib_idx;
