headers: Update to current Wine version.
diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am
index 88fb541..d93a0cc 100644
--- a/mingw-w64-headers/Makefile.am
+++ b/mingw-w64-headers/Makefile.am
@@ -95,7 +95,9 @@
   include/ctxtcall.idl \
   include/d3d10.idl \
   include/d3d10_1.idl \
+  include/d3d10effect.idl \
   include/d3d10sdklayers.idl \
+  include/d3d10shader.idl \
   include/d3d11.idl \
   include/d3d11_1.idl \
   include/d3d11_2.idl \
diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in
index 144901f..67e71ab 100644
--- a/mingw-w64-headers/Makefile.in
+++ b/mingw-w64-headers/Makefile.in
@@ -397,7 +397,9 @@
 @HAVE_WIDL_TRUE@  include/ctxtcall.idl \
 @HAVE_WIDL_TRUE@  include/d3d10.idl \
 @HAVE_WIDL_TRUE@  include/d3d10_1.idl \
+@HAVE_WIDL_TRUE@  include/d3d10effect.idl \
 @HAVE_WIDL_TRUE@  include/d3d10sdklayers.idl \
+@HAVE_WIDL_TRUE@  include/d3d10shader.idl \
 @HAVE_WIDL_TRUE@  include/d3d11.idl \
 @HAVE_WIDL_TRUE@  include/d3d11_1.idl \
 @HAVE_WIDL_TRUE@  include/d3d11_2.idl \
diff --git a/mingw-w64-headers/include/activation.h b/mingw-w64-headers/include/activation.h
index 5a6401a..e1fe68f 100644
--- a/mingw-w64-headers/include/activation.h
+++ b/mingw-w64-headers/include/activation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/activation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 24cf179..2d52f25 100644
--- a/mingw-w64-headers/include/activaut.h
+++ b/mingw-w64-headers/include/activaut.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/activaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 9f5461e..a79a3d2 100644
--- a/mingw-w64-headers/include/activdbg.h
+++ b/mingw-w64-headers/include/activdbg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/activdbg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d4a380e..ed8c93a 100644
--- a/mingw-w64-headers/include/activdbg100.h
+++ b/mingw-w64-headers/include/activdbg100.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/activdbg100.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 a7d627d..47b4ded 100644
--- a/mingw-w64-headers/include/activprof.h
+++ b/mingw-w64-headers/include/activprof.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/activprof.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 df4f61b..df6e0d8 100644
--- a/mingw-w64-headers/include/activscp.h
+++ b/mingw-w64-headers/include/activscp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/activscp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d4363ae..ce199ac 100644
--- a/mingw-w64-headers/include/adhoc.h
+++ b/mingw-w64-headers/include/adhoc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/adhoc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 0a52ca4..c1e2c89 100644
--- a/mingw-w64-headers/include/alg.h
+++ b/mingw-w64-headers/include/alg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/alg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 25e125e..fa8d527 100644
--- a/mingw-w64-headers/include/amstream.h
+++ b/mingw-w64-headers/include/amstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/amstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d615ac2..955cfdc 100644
--- a/mingw-w64-headers/include/amvideo.h
+++ b/mingw-w64-headers/include/amvideo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/amvideo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/amvideo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/asyncinfo.h b/mingw-w64-headers/include/asyncinfo.h
index 4cf8fc8..28fceaf 100644
--- a/mingw-w64-headers/include/asyncinfo.h
+++ b/mingw-w64-headers/include/asyncinfo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/asyncinfo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/asyncinfo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/audioclient.h b/mingw-w64-headers/include/audioclient.h
index 27564d2..43eff37 100644
--- a/mingw-w64-headers/include/audioclient.h
+++ b/mingw-w64-headers/include/audioclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/audioclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 24e4b8d..e9d78f9 100644
--- a/mingw-w64-headers/include/audioendpoints.h
+++ b/mingw-w64-headers/include/audioendpoints.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/audioendpoints.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 0edc214..a385fd3 100644
--- a/mingw-w64-headers/include/audiopolicy.h
+++ b/mingw-w64-headers/include/audiopolicy.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/audiopolicy.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ef1fccb..f57b47d 100644
--- a/mingw-w64-headers/include/austream.h
+++ b/mingw-w64-headers/include/austream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/austream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 3ad6caa..191ca92 100644
--- a/mingw-w64-headers/include/bdaiface.h
+++ b/mingw-w64-headers/include/bdaiface.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/bdaiface.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/bdaiface.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits.h b/mingw-w64-headers/include/bits.h
index 52f08e9..9cdb003 100644
--- a/mingw-w64-headers/include/bits.h
+++ b/mingw-w64-headers/include/bits.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/bits.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/bits.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits1_5.h b/mingw-w64-headers/include/bits1_5.h
index 3fd4db0..3bd6765 100644
--- a/mingw-w64-headers/include/bits1_5.h
+++ b/mingw-w64-headers/include/bits1_5.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/bits1_5.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/bits1_5.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits2_0.h b/mingw-w64-headers/include/bits2_0.h
index c10966a..bc6dc29 100644
--- a/mingw-w64-headers/include/bits2_0.h
+++ b/mingw-w64-headers/include/bits2_0.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/bits2_0.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/bits2_0.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits2_5.h b/mingw-w64-headers/include/bits2_5.h
index a1b7927..4766ca3 100644
--- a/mingw-w64-headers/include/bits2_5.h
+++ b/mingw-w64-headers/include/bits2_5.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/bits2_5.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/bits2_5.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits3_0.h b/mingw-w64-headers/include/bits3_0.h
index 6460016..3a1e0f1 100644
--- a/mingw-w64-headers/include/bits3_0.h
+++ b/mingw-w64-headers/include/bits3_0.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/bits3_0.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/bits3_0.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bits5_0.h b/mingw-w64-headers/include/bits5_0.h
index 57a391c..127f175 100644
--- a/mingw-w64-headers/include/bits5_0.h
+++ b/mingw-w64-headers/include/bits5_0.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/bits5_0.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/bits5_0.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/comadmin.h b/mingw-w64-headers/include/comadmin.h
index db2495a..e37f6bb 100644
--- a/mingw-w64-headers/include/comadmin.h
+++ b/mingw-w64-headers/include/comadmin.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/comadmin.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7121076..77e20cf 100644
--- a/mingw-w64-headers/include/comcat.h
+++ b/mingw-w64-headers/include/comcat.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/comcat.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 fc12899..bf94ec4 100644
--- a/mingw-w64-headers/include/commoncontrols.h
+++ b/mingw-w64-headers/include/commoncontrols.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/commoncontrols.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 f451ef5..2c51c29 100644
--- a/mingw-w64-headers/include/control.h
+++ b/mingw-w64-headers/include/control.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/control.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/control.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/credentialprovider.h b/mingw-w64-headers/include/credentialprovider.h
index e5929ca..4c7d022 100644
--- a/mingw-w64-headers/include/credentialprovider.h
+++ b/mingw-w64-headers/include/credentialprovider.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/credentialprovider.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/credentialprovider.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ctfutb.h b/mingw-w64-headers/include/ctfutb.h
index e2cd213..b58cccc 100644
--- a/mingw-w64-headers/include/ctfutb.h
+++ b/mingw-w64-headers/include/ctfutb.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/ctfutb.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/ctfutb.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ctxtcall.h b/mingw-w64-headers/include/ctxtcall.h
index d38e825..92b6a2f 100644
--- a/mingw-w64-headers/include/ctxtcall.h
+++ b/mingw-w64-headers/include/ctxtcall.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/ctxtcall.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/ctxtcall.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10.h b/mingw-w64-headers/include/d3d10.h
index decd102..2182239 100644
--- a/mingw-w64-headers/include/d3d10.h
+++ b/mingw-w64-headers/include/d3d10.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d10.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 755e800..6ce76da 100644
--- a/mingw-w64-headers/include/d3d10_1.h
+++ b/mingw-w64-headers/include/d3d10_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d10_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/d3d10_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10effect.h b/mingw-w64-headers/include/d3d10effect.h
index 25edd30..4caf279 100644
--- a/mingw-w64-headers/include/d3d10effect.h
+++ b/mingw-w64-headers/include/d3d10effect.h
@@ -1,66 +1,348 @@
-#undef INTERFACE
-/*
- * Copyright 2009 Henri Verbeet for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- *
- */
+/*** Autogenerated by WIDL 8.19 from include/d3d10effect.idl - Do not edit ***/
 
-#ifndef __WINE_D3D10EFFECT_H
-#define __WINE_D3D10EFFECT_H
+#ifdef _WIN32
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+#include <rpc.h>
+#include <rpcndr.h>
+#endif
 
-#include "d3d10.h"
+#ifndef COM_NO_WINDOWS_H
+#include <windows.h>
+#include <ole2.h>
+#endif
 
-#define D3D10_EFFECT_VARIABLE_POOLED                0x1
-#define D3D10_EFFECT_VARIABLE_ANNOTATION            0x2
-#define D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT   0x4
+#ifndef __d3d10effect_h__
+#define __d3d10effect_h__
+
+#ifndef __WIDL_INLINE
+#if defined(__cplusplus) || defined(_MSC_VER)
+#define __WIDL_INLINE inline
+#elif defined(__GNUC__)
+#define __WIDL_INLINE __inline__
+#endif
+#endif
+
+/* Forward declarations */
+
+#ifndef __ID3D10EffectType_FWD_DEFINED__
+#define __ID3D10EffectType_FWD_DEFINED__
+typedef interface ID3D10EffectType ID3D10EffectType;
+#ifdef __cplusplus
+interface ID3D10EffectType;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectVariable_FWD_DEFINED__
+#define __ID3D10EffectVariable_FWD_DEFINED__
+typedef interface ID3D10EffectVariable ID3D10EffectVariable;
+#ifdef __cplusplus
+interface ID3D10EffectVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectConstantBuffer_FWD_DEFINED__
+#define __ID3D10EffectConstantBuffer_FWD_DEFINED__
+typedef interface ID3D10EffectConstantBuffer ID3D10EffectConstantBuffer;
+#ifdef __cplusplus
+interface ID3D10EffectConstantBuffer;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectScalarVariable_FWD_DEFINED__
+#define __ID3D10EffectScalarVariable_FWD_DEFINED__
+typedef interface ID3D10EffectScalarVariable ID3D10EffectScalarVariable;
+#ifdef __cplusplus
+interface ID3D10EffectScalarVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectVectorVariable_FWD_DEFINED__
+#define __ID3D10EffectVectorVariable_FWD_DEFINED__
+typedef interface ID3D10EffectVectorVariable ID3D10EffectVectorVariable;
+#ifdef __cplusplus
+interface ID3D10EffectVectorVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectMatrixVariable_FWD_DEFINED__
+#define __ID3D10EffectMatrixVariable_FWD_DEFINED__
+typedef interface ID3D10EffectMatrixVariable ID3D10EffectMatrixVariable;
+#ifdef __cplusplus
+interface ID3D10EffectMatrixVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectStringVariable_FWD_DEFINED__
+#define __ID3D10EffectStringVariable_FWD_DEFINED__
+typedef interface ID3D10EffectStringVariable ID3D10EffectStringVariable;
+#ifdef __cplusplus
+interface ID3D10EffectStringVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectShaderResourceVariable_FWD_DEFINED__
+#define __ID3D10EffectShaderResourceVariable_FWD_DEFINED__
+typedef interface ID3D10EffectShaderResourceVariable ID3D10EffectShaderResourceVariable;
+#ifdef __cplusplus
+interface ID3D10EffectShaderResourceVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectRenderTargetViewVariable_FWD_DEFINED__
+#define __ID3D10EffectRenderTargetViewVariable_FWD_DEFINED__
+typedef interface ID3D10EffectRenderTargetViewVariable ID3D10EffectRenderTargetViewVariable;
+#ifdef __cplusplus
+interface ID3D10EffectRenderTargetViewVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectDepthStencilViewVariable_FWD_DEFINED__
+#define __ID3D10EffectDepthStencilViewVariable_FWD_DEFINED__
+typedef interface ID3D10EffectDepthStencilViewVariable ID3D10EffectDepthStencilViewVariable;
+#ifdef __cplusplus
+interface ID3D10EffectDepthStencilViewVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectShaderVariable_FWD_DEFINED__
+#define __ID3D10EffectShaderVariable_FWD_DEFINED__
+typedef interface ID3D10EffectShaderVariable ID3D10EffectShaderVariable;
+#ifdef __cplusplus
+interface ID3D10EffectShaderVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectBlendVariable_FWD_DEFINED__
+#define __ID3D10EffectBlendVariable_FWD_DEFINED__
+typedef interface ID3D10EffectBlendVariable ID3D10EffectBlendVariable;
+#ifdef __cplusplus
+interface ID3D10EffectBlendVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectDepthStencilVariable_FWD_DEFINED__
+#define __ID3D10EffectDepthStencilVariable_FWD_DEFINED__
+typedef interface ID3D10EffectDepthStencilVariable ID3D10EffectDepthStencilVariable;
+#ifdef __cplusplus
+interface ID3D10EffectDepthStencilVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectRasterizerVariable_FWD_DEFINED__
+#define __ID3D10EffectRasterizerVariable_FWD_DEFINED__
+typedef interface ID3D10EffectRasterizerVariable ID3D10EffectRasterizerVariable;
+#ifdef __cplusplus
+interface ID3D10EffectRasterizerVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectSamplerVariable_FWD_DEFINED__
+#define __ID3D10EffectSamplerVariable_FWD_DEFINED__
+typedef interface ID3D10EffectSamplerVariable ID3D10EffectSamplerVariable;
+#ifdef __cplusplus
+interface ID3D10EffectSamplerVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectTechnique_FWD_DEFINED__
+#define __ID3D10EffectTechnique_FWD_DEFINED__
+typedef interface ID3D10EffectTechnique ID3D10EffectTechnique;
+#ifdef __cplusplus
+interface ID3D10EffectTechnique;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10Effect_FWD_DEFINED__
+#define __ID3D10Effect_FWD_DEFINED__
+typedef interface ID3D10Effect ID3D10Effect;
+#ifdef __cplusplus
+interface ID3D10Effect;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectPool_FWD_DEFINED__
+#define __ID3D10EffectPool_FWD_DEFINED__
+typedef interface ID3D10EffectPool ID3D10EffectPool;
+#ifdef __cplusplus
+interface ID3D10EffectPool;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectPass_FWD_DEFINED__
+#define __ID3D10EffectPass_FWD_DEFINED__
+typedef interface ID3D10EffectPass ID3D10EffectPass;
+#ifdef __cplusplus
+interface ID3D10EffectPass;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10StateBlock_FWD_DEFINED__
+#define __ID3D10StateBlock_FWD_DEFINED__
+typedef interface ID3D10StateBlock ID3D10StateBlock;
+#ifdef __cplusplus
+interface ID3D10StateBlock;
+#endif /* __cplusplus */
+#endif
+
+/* Headers for imported files */
+
+#include <d3d10.h>
+#include <d3d10shader.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef __ID3D10EffectConstantBuffer_FWD_DEFINED__
+#define __ID3D10EffectConstantBuffer_FWD_DEFINED__
+typedef interface ID3D10EffectConstantBuffer ID3D10EffectConstantBuffer;
+#ifdef __cplusplus
+interface ID3D10EffectConstantBuffer;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectBlendVariable_FWD_DEFINED__
+#define __ID3D10EffectBlendVariable_FWD_DEFINED__
+typedef interface ID3D10EffectBlendVariable ID3D10EffectBlendVariable;
+#ifdef __cplusplus
+interface ID3D10EffectBlendVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectDepthStencilVariable_FWD_DEFINED__
+#define __ID3D10EffectDepthStencilVariable_FWD_DEFINED__
+typedef interface ID3D10EffectDepthStencilVariable ID3D10EffectDepthStencilVariable;
+#ifdef __cplusplus
+interface ID3D10EffectDepthStencilVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectDepthStencilViewVariable_FWD_DEFINED__
+#define __ID3D10EffectDepthStencilViewVariable_FWD_DEFINED__
+typedef interface ID3D10EffectDepthStencilViewVariable ID3D10EffectDepthStencilViewVariable;
+#ifdef __cplusplus
+interface ID3D10EffectDepthStencilViewVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectMatrixVariable_FWD_DEFINED__
+#define __ID3D10EffectMatrixVariable_FWD_DEFINED__
+typedef interface ID3D10EffectMatrixVariable ID3D10EffectMatrixVariable;
+#ifdef __cplusplus
+interface ID3D10EffectMatrixVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectPass_FWD_DEFINED__
+#define __ID3D10EffectPass_FWD_DEFINED__
+typedef interface ID3D10EffectPass ID3D10EffectPass;
+#ifdef __cplusplus
+interface ID3D10EffectPass;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectRasterizerVariable_FWD_DEFINED__
+#define __ID3D10EffectRasterizerVariable_FWD_DEFINED__
+typedef interface ID3D10EffectRasterizerVariable ID3D10EffectRasterizerVariable;
+#ifdef __cplusplus
+interface ID3D10EffectRasterizerVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectRenderTargetViewVariable_FWD_DEFINED__
+#define __ID3D10EffectRenderTargetViewVariable_FWD_DEFINED__
+typedef interface ID3D10EffectRenderTargetViewVariable ID3D10EffectRenderTargetViewVariable;
+#ifdef __cplusplus
+interface ID3D10EffectRenderTargetViewVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectSamplerVariable_FWD_DEFINED__
+#define __ID3D10EffectSamplerVariable_FWD_DEFINED__
+typedef interface ID3D10EffectSamplerVariable ID3D10EffectSamplerVariable;
+#ifdef __cplusplus
+interface ID3D10EffectSamplerVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectScalarVariable_FWD_DEFINED__
+#define __ID3D10EffectScalarVariable_FWD_DEFINED__
+typedef interface ID3D10EffectScalarVariable ID3D10EffectScalarVariable;
+#ifdef __cplusplus
+interface ID3D10EffectScalarVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectShaderVariable_FWD_DEFINED__
+#define __ID3D10EffectShaderVariable_FWD_DEFINED__
+typedef interface ID3D10EffectShaderVariable ID3D10EffectShaderVariable;
+#ifdef __cplusplus
+interface ID3D10EffectShaderVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectShaderResourceVariable_FWD_DEFINED__
+#define __ID3D10EffectShaderResourceVariable_FWD_DEFINED__
+typedef interface ID3D10EffectShaderResourceVariable ID3D10EffectShaderResourceVariable;
+#ifdef __cplusplus
+interface ID3D10EffectShaderResourceVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectStringVariable_FWD_DEFINED__
+#define __ID3D10EffectStringVariable_FWD_DEFINED__
+typedef interface ID3D10EffectStringVariable ID3D10EffectStringVariable;
+#ifdef __cplusplus
+interface ID3D10EffectStringVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10EffectVectorVariable_FWD_DEFINED__
+#define __ID3D10EffectVectorVariable_FWD_DEFINED__
+typedef interface ID3D10EffectVectorVariable ID3D10EffectVectorVariable;
+#ifdef __cplusplus
+interface ID3D10EffectVectorVariable;
+#endif /* __cplusplus */
+#endif
 
 #ifndef D3D10_BYTES_FROM_BITS
 #define D3D10_BYTES_FROM_BITS(x) (((x) + 7) >> 3)
 #endif
+#define D3D10_EFFECT_VARIABLE_POOLED (0x1)
 
-typedef enum _D3D10_DEVICE_STATE_TYPES
-{
+#define D3D10_EFFECT_VARIABLE_ANNOTATION (0x2)
+
+#define D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT (0x4)
+
+typedef enum _D3D10_DEVICE_STATE_TYPES {
     D3D10_DST_SO_BUFFERS = 1,
-    D3D10_DST_OM_RENDER_TARGETS,
-    D3D10_DST_OM_DEPTH_STENCIL_STATE,
-    D3D10_DST_OM_BLEND_STATE,
-    D3D10_DST_VS,
-    D3D10_DST_VS_SAMPLERS,
-    D3D10_DST_VS_SHADER_RESOURCES,
-    D3D10_DST_VS_CONSTANT_BUFFERS,
-    D3D10_DST_GS,
-    D3D10_DST_GS_SAMPLERS,
-    D3D10_DST_GS_SHADER_RESOURCES,
-    D3D10_DST_GS_CONSTANT_BUFFERS,
-    D3D10_DST_PS,
-    D3D10_DST_PS_SAMPLERS,
-    D3D10_DST_PS_SHADER_RESOURCES,
-    D3D10_DST_PS_CONSTANT_BUFFERS,
-    D3D10_DST_IA_VERTEX_BUFFERS,
-    D3D10_DST_IA_INDEX_BUFFER,
-    D3D10_DST_IA_INPUT_LAYOUT,
-    D3D10_DST_IA_PRIMITIVE_TOPOLOGY,
-    D3D10_DST_RS_VIEWPORTS,
-    D3D10_DST_RS_SCISSOR_RECTS,
-    D3D10_DST_RS_RASTERIZER_STATE,
-    D3D10_DST_PREDICATION,
+    D3D10_DST_OM_RENDER_TARGETS = 2,
+    D3D10_DST_OM_DEPTH_STENCIL_STATE = 3,
+    D3D10_DST_OM_BLEND_STATE = 4,
+    D3D10_DST_VS = 5,
+    D3D10_DST_VS_SAMPLERS = 6,
+    D3D10_DST_VS_SHADER_RESOURCES = 7,
+    D3D10_DST_VS_CONSTANT_BUFFERS = 8,
+    D3D10_DST_GS = 9,
+    D3D10_DST_GS_SAMPLERS = 10,
+    D3D10_DST_GS_SHADER_RESOURCES = 11,
+    D3D10_DST_GS_CONSTANT_BUFFERS = 12,
+    D3D10_DST_PS = 13,
+    D3D10_DST_PS_SAMPLERS = 14,
+    D3D10_DST_PS_SHADER_RESOURCES = 15,
+    D3D10_DST_PS_CONSTANT_BUFFERS = 16,
+    D3D10_DST_IA_VERTEX_BUFFERS = 17,
+    D3D10_DST_IA_INDEX_BUFFER = 18,
+    D3D10_DST_IA_INPUT_LAYOUT = 19,
+    D3D10_DST_IA_PRIMITIVE_TOPOLOGY = 20,
+    D3D10_DST_RS_VIEWPORTS = 21,
+    D3D10_DST_RS_SCISSOR_RECTS = 22,
+    D3D10_DST_RS_RASTERIZER_STATE = 23,
+    D3D10_DST_PREDICATION = 24
 } D3D10_DEVICE_STATE_TYPES;
-
-typedef struct _D3D10_EFFECT_TYPE_DESC
-{
+typedef struct _D3D10_EFFECT_TYPE_DESC {
     const char *TypeName;
     D3D10_SHADER_VARIABLE_CLASS Class;
     D3D10_SHADER_VARIABLE_TYPE Type;
@@ -72,9 +354,7 @@
     UINT UnpackedSize;
     UINT Stride;
 } D3D10_EFFECT_TYPE_DESC;
-
-typedef struct _D3D10_EFFECT_VARIABLE_DESC
-{
+typedef struct _D3D10_EFFECT_VARIABLE_DESC {
     const char *Name;
     const char *Semantic;
     UINT Flags;
@@ -82,29 +362,25 @@
     UINT BufferOffset;
     UINT ExplicitBindPoint;
 } D3D10_EFFECT_VARIABLE_DESC;
-
-typedef struct _D3D10_TECHNIQUE_DESC
-{
+typedef struct _D3D10_TECHNIQUE_DESC {
     const char *Name;
     UINT Passes;
     UINT Annotations;
 } D3D10_TECHNIQUE_DESC;
-
-typedef struct _D3D10_STATE_BLOCK_MASK
-{
+typedef struct _D3D10_STATE_BLOCK_MASK {
     BYTE VS;
-    BYTE VSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
-    BYTE VSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
-    BYTE VSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
+    BYTE VSSamplers[2];
+    BYTE VSShaderResources[16];
+    BYTE VSConstantBuffers[2];
     BYTE GS;
-    BYTE GSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
-    BYTE GSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
-    BYTE GSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
+    BYTE GSSamplers[2];
+    BYTE GSShaderResources[16];
+    BYTE GSConstantBuffers[2];
     BYTE PS;
-    BYTE PSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
-    BYTE PSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
-    BYTE PSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
-    BYTE IAVertexBuffers[D3D10_BYTES_FROM_BITS(D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)];
+    BYTE PSSamplers[2];
+    BYTE PSShaderResources[16];
+    BYTE PSConstantBuffers[2];
+    BYTE IAVertexBuffers[2];
     BYTE IAIndexBuffer;
     BYTE IAInputLayout;
     BYTE IAPrimitiveTopology;
@@ -117,9 +393,7 @@
     BYTE SOBuffers;
     BYTE Predication;
 } D3D10_STATE_BLOCK_MASK;
-
-typedef struct _D3D10_EFFECT_DESC
-{
+typedef struct _D3D10_EFFECT_DESC {
     WINBOOL IsChildEffect;
     UINT ConstantBuffers;
     UINT SharedConstantBuffers;
@@ -127,9 +401,7 @@
     UINT SharedGlobalVariables;
     UINT Techniques;
 } D3D10_EFFECT_DESC;
-
-typedef struct _D3D10_EFFECT_SHADER_DESC
-{
+typedef struct _D3D10_EFFECT_SHADER_DESC {
     const BYTE *pInputSignature;
     WINBOOL IsInline;
     const BYTE *pBytecode;
@@ -138,9 +410,7 @@
     UINT NumInputSignatureEntries;
     UINT NumOutputSignatureEntries;
 } D3D10_EFFECT_SHADER_DESC;
-
-typedef struct _D3D10_PASS_DESC
-{
+typedef struct _D3D10_PASS_DESC {
     const char *Name;
     UINT Annotations;
     BYTE *pIAInputSignature;
@@ -149,712 +419,4963 @@
     UINT SampleMask;
     FLOAT BlendFactor[4];
 } D3D10_PASS_DESC;
-
-typedef struct _D3D10_PASS_SHADER_DESC
-{
-    struct ID3D10EffectShaderVariable *pShaderVariable;
+typedef struct _D3D10_PASS_SHADER_DESC {
+    ID3D10EffectShaderVariable *pShaderVariable;
     UINT ShaderIndex;
 } D3D10_PASS_SHADER_DESC;
+#define D3D10_EFFECT_COMPILE_CHILD_EFFECT (0x1)
 
-#define D3D10_EFFECT_COMPILE_CHILD_EFFECT    0x0001
-#define D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS  0x0002
-#define D3D10_EFFECT_SINGLE_THREADED         0x0008
+#define D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS (0x2)
 
-DEFINE_GUID(IID_ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x00, 0x18, 0x0b, 0x9b, 0x88, 0xfd);
+#define D3D10_EFFECT_SINGLE_THREADED (0x8)
 
-#define INTERFACE ID3D10EffectType
-DECLARE_INTERFACE(ID3D10EffectType)
+/*****************************************************************************
+ * ID3D10EffectType interface
+ */
+#ifndef __ID3D10EffectType_INTERFACE_DEFINED__
+#define __ID3D10EffectType_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8,0x37, 0x00,0x18,0x0b,0x9b,0x88,0xfd);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("4e9e1ddc-cd9d-4772-a837-00180b9b88fd")
+ID3D10EffectType
 {
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_TYPE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(const char *, GetMemberName)(THIS_ UINT index) PURE;
-    STDMETHOD_(const char *, GetMemberSemantic)(THIS_ UINT index) PURE;
+
+    BEGIN_INTERFACE
+
+    virtual WINBOOL STDMETHODCALLTYPE IsValid(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_EFFECT_TYPE_DESC *desc) = 0;
+
+    virtual ID3D10EffectType * STDMETHODCALLTYPE GetMemberTypeByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectType * STDMETHODCALLTYPE GetMemberTypeByName(
+        const char *name) = 0;
+
+    virtual ID3D10EffectType * STDMETHODCALLTYPE GetMemberTypeBySemantic(
+        const char *semantic) = 0;
+
+    virtual const char * STDMETHODCALLTYPE GetMemberName(
+        UINT index) = 0;
+
+    virtual const char * STDMETHODCALLTYPE GetMemberSemantic(
+        UINT index) = 0;
+
+    END_INTERFACE
+
 };
-#undef INTERFACE
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8,0x37, 0x00,0x18,0x0b,0x9b,0x88,0xfd)
+#endif
+#else
+typedef struct ID3D10EffectTypeVtbl {
+    BEGIN_INTERFACE
 
-DEFINE_GUID(IID_ID3D10EffectVariable, 0xae897105, 0x00e6, 0x45bf, 0xbb, 0x8e, 0x28, 0x1d, 0xd6, 0xdb, 0x8e, 0x1b);
+    /*** ID3D10EffectType methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectType *This);
 
-#define INTERFACE ID3D10EffectVariable
-DECLARE_INTERFACE(ID3D10EffectVariable)
-{
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectType *This,
+        D3D10_EFFECT_TYPE_DESC *desc);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetMemberTypeByIndex)(
+        ID3D10EffectType *This,
+        UINT index);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetMemberTypeByName)(
+        ID3D10EffectType *This,
+        const char *name);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetMemberTypeBySemantic)(
+        ID3D10EffectType *This,
+        const char *semantic);
+
+    const char * (STDMETHODCALLTYPE *GetMemberName)(
+        ID3D10EffectType *This,
+        UINT index);
+
+    const char * (STDMETHODCALLTYPE *GetMemberSemantic)(
+        ID3D10EffectType *This,
+        UINT index);
+
+    END_INTERFACE
+} ID3D10EffectTypeVtbl;
+
+interface ID3D10EffectType {
+    CONST_VTBL ID3D10EffectTypeVtbl* lpVtbl;
 };
-#undef INTERFACE
 
-DEFINE_GUID(IID_ID3D10EffectConstantBuffer, 0x56648f4d, 0xcc8b, 0x4444, 0xa5, 0xad, 0xb5, 0xa3, 0xd7, 0x6e, 0x91, 0xb3);
-
-#define INTERFACE ID3D10EffectConstantBuffer
-DECLARE_INTERFACE_(ID3D10EffectConstantBuffer, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectConstantBuffer methods */
-    STDMETHOD(SetConstantBuffer)(THIS_ ID3D10Buffer *buffer) PURE;
-    STDMETHOD(GetConstantBuffer)(THIS_ ID3D10Buffer **buffer) PURE;
-    STDMETHOD(SetTextureBuffer)(THIS_ ID3D10ShaderResourceView *view) PURE;
-    STDMETHOD(GetTextureBuffer)(THIS_ ID3D10ShaderResourceView **view) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectScalarVariable, 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8, 0x6c, 0x02, 0x2d, 0xee, 0x53, 0x43, 0x1f);
-
-#define INTERFACE ID3D10EffectScalarVariable
-DECLARE_INTERFACE_(ID3D10EffectScalarVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectScalarVariable methods */
-    STDMETHOD(SetFloat)(THIS_ float value) PURE;
-    STDMETHOD(GetFloat)(THIS_ float *value) PURE;
-    STDMETHOD(SetFloatArray)(THIS_ float *values, UINT offset, UINT count) PURE;
-    STDMETHOD(GetFloatArray)(THIS_ float *values, UINT offset, UINT count) PURE;
-    STDMETHOD(SetInt)(THIS_ int value) PURE;
-    STDMETHOD(GetInt)(THIS_ int *value) PURE;
-    STDMETHOD(SetIntArray)(THIS_ int *values, UINT offset, UINT count) PURE;
-    STDMETHOD(GetIntArray)(THIS_ int *values, UINT offset, UINT count) PURE;
-    STDMETHOD(SetBool)(THIS_ WINBOOL value) PURE;
-    STDMETHOD(GetBool)(THIS_ WINBOOL *value) PURE;
-    STDMETHOD(SetBoolArray)(THIS_ WINBOOL *values, UINT offset, UINT count) PURE;
-    STDMETHOD(GetBoolArray)(THIS_ WINBOOL *values, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectVectorVariable, 0x62b98c44, 0x1f82, 0x4c67, 0xbc, 0xd0, 0x72, 0xcf, 0x8f, 0x21, 0x7e, 0x81);
-
-#define INTERFACE ID3D10EffectVectorVariable
-DECLARE_INTERFACE_(ID3D10EffectVectorVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectVectorVariable methods */
-    STDMETHOD(SetBoolVector)(THIS_ WINBOOL *value) PURE;
-    STDMETHOD(SetIntVector)(THIS_ int *value) PURE;
-    STDMETHOD(SetFloatVector)(THIS_ float *value) PURE;
-    STDMETHOD(GetBoolVector)(THIS_ WINBOOL *value) PURE;
-    STDMETHOD(GetIntVector)(THIS_ int *value) PURE;
-    STDMETHOD(GetFloatVector)(THIS_ float *value) PURE;
-    STDMETHOD(SetBoolVectorArray)(THIS_ WINBOOL *values, UINT offset, UINT count) PURE;
-    STDMETHOD(SetIntVectorArray)(THIS_ int *values, UINT offset, UINT count) PURE;
-    STDMETHOD(SetFloatVectorArray)(THIS_ float *values, UINT offset, UINT count) PURE;
-    STDMETHOD(GetBoolVectorArray)(THIS_ WINBOOL *values, UINT offset, UINT count) PURE;
-    STDMETHOD(GetIntVectorArray)(THIS_ int *values, UINT offset, UINT count) PURE;
-    STDMETHOD(GetFloatVectorArray)(THIS_ float *values, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectMatrixVariable, 0x50666c24, 0xb82f, 0x4eed, 0xa1, 0x72, 0x5b, 0x6e, 0x7e, 0x85, 0x22, 0xe0);
-
-#define INTERFACE ID3D10EffectMatrixVariable
-DECLARE_INTERFACE_(ID3D10EffectMatrixVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectMatrixVariable methods */
-    STDMETHOD(SetMatrix)(THIS_ float *data) PURE;
-    STDMETHOD(GetMatrix)(THIS_ float *data) PURE;
-    STDMETHOD(SetMatrixArray)(THIS_ float *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetMatrixArray)(THIS_ float *data, UINT offset, UINT count) PURE;
-    STDMETHOD(SetMatrixTranspose)(THIS_ float *data) PURE;
-    STDMETHOD(GetMatrixTranspose)(THIS_ float *data) PURE;
-    STDMETHOD(SetMatrixTransposeArray)(THIS_ float *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetMatrixTransposeArray)(THIS_ float *data, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectStringVariable, 0x71417501, 0x8df9, 0x4e0a, 0xa7, 0x8a, 0x25, 0x5f, 0x97, 0x56, 0xba, 0xff);
-
-#define INTERFACE ID3D10EffectStringVariable
-DECLARE_INTERFACE_(ID3D10EffectStringVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectStringVariable methods */
-    STDMETHOD(GetString)(THIS_ const char **str) PURE;
-    STDMETHOD(GetStringArray)(THIS_ const char **strs, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectShaderResourceVariable,
-        0xc0a7157b, 0xd872, 0x4b1d, 0x80, 0x73, 0xef, 0xc2, 0xac, 0xd4, 0xb1, 0xfc);
-
-#define INTERFACE ID3D10EffectShaderResourceVariable
-DECLARE_INTERFACE_(ID3D10EffectShaderResourceVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectShaderResourceVariable methods */
-    STDMETHOD(SetResource)(THIS_ ID3D10ShaderResourceView *resource) PURE;
-    STDMETHOD(GetResource)(THIS_ ID3D10ShaderResourceView **resource) PURE;
-    STDMETHOD(SetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
-    STDMETHOD(GetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectRenderTargetViewVariable,
-        0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5, 0x7f, 0x67, 0xb7, 0x37, 0x12, 0x2b, 0x17);
-
-#define INTERFACE ID3D10EffectRenderTargetViewVariable
-DECLARE_INTERFACE_(ID3D10EffectRenderTargetViewVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectRenderTargetViewVariable methods */
-    STDMETHOD(SetRenderTarget)(THIS_ ID3D10RenderTargetView *view) PURE;
-    STDMETHOD(GetRenderTarget)(THIS_ ID3D10RenderTargetView **view) PURE;
-    STDMETHOD(SetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectDepthStencilViewVariable,
-        0x3e02c918, 0xcc79, 0x4985, 0xb6, 0x22, 0x2d, 0x92, 0xad, 0x70, 0x16, 0x23);
-
-#define INTERFACE ID3D10EffectDepthStencilViewVariable
-DECLARE_INTERFACE_(ID3D10EffectDepthStencilViewVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectDepthStencilViewVariable methods */
-    STDMETHOD(SetDepthStencil)(THIS_ ID3D10DepthStencilView *view) PURE;
-    STDMETHOD(GetDepthStencil)(THIS_ ID3D10DepthStencilView **view) PURE;
-    STDMETHOD(SetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
-    STDMETHOD(GetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c, 0x33, 0x04, 0x07, 0xa0, 0x7d, 0x9e, 0x06);
-
-#define INTERFACE ID3D10EffectShaderVariable
-DECLARE_INTERFACE_(ID3D10EffectShaderVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectShaderVariable methods */
-    STDMETHOD(GetShaderDesc)(THIS_ UINT index, D3D10_EFFECT_SHADER_DESC *desc) PURE;
-    STDMETHOD(GetVertexShader)(THIS_ UINT index, ID3D10VertexShader **shader) PURE;
-    STDMETHOD(GetGeometryShader)(THIS_ UINT index, ID3D10GeometryShader **shader) PURE;
-    STDMETHOD(GetPixelShader)(THIS_ UINT index, ID3D10PixelShader **shader) PURE;
-    STDMETHOD(GetInputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
-            D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
-    STDMETHOD(GetOutputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
-            D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86, 0xb3, 0x0e, 0x91, 0x60, 0xcf, 0xb0, 0x7b);
-
-#define INTERFACE ID3D10EffectBlendVariable
-DECLARE_INTERFACE_(ID3D10EffectBlendVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectBlendVariable methods */
-    STDMETHOD(GetBlendState)(THIS_ UINT index, ID3D10BlendState **blend_state) PURE;
-    STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_BLEND_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectDepthStencilVariable,
-        0xaf482368, 0x330a, 0x46a5, 0x9a, 0x5c, 0x01, 0xc7, 0x1a, 0xf2, 0x4c, 0x8d);
-
-#define INTERFACE ID3D10EffectDepthStencilVariable
-DECLARE_INTERFACE_(ID3D10EffectDepthStencilVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectDepthStencilVariable methods */
-    STDMETHOD(GetDepthStencilState)(THIS_ UINT index, ID3D10DepthStencilState **depth_stencil_state) PURE;
-    STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_DEPTH_STENCIL_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectRasterizerVariable,
-        0x21af9f0e, 0x4d94, 0x4ea9, 0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0x0b, 0x34);
-
-#define INTERFACE ID3D10EffectRasterizerVariable
-DECLARE_INTERFACE_(ID3D10EffectRasterizerVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectRasterizerVariable methods */
-    STDMETHOD(GetRasterizerState)(THIS_ UINT index, ID3D10RasterizerState **rasterizer_state) PURE;
-    STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_RASTERIZER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectSamplerVariable,
-        0x6530d5c7, 0x07e9, 0x4271, 0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80);
-
-#define INTERFACE ID3D10EffectSamplerVariable
-DECLARE_INTERFACE_(ID3D10EffectSamplerVariable, ID3D10EffectVariable)
-{
-    /* ID3D10EffectVariable methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
-    STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
-    STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-    /* ID3D10EffectSamplerVariable methods */
-    STDMETHOD(GetSampler)(THIS_ UINT index, ID3D10SamplerState **sampler) PURE;
-    STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_SAMPLER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75);
-
-#define INTERFACE ID3D10EffectTechnique
-DECLARE_INTERFACE(ID3D10EffectTechnique)
-{
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_TECHNIQUE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectPass *, GetPassByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectPass *, GetPassByName)(THIS_ const char *name) PURE;
-    STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *mask) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10Effect, 0x51b0ca8b, 0xec0b, 0x4519, 0x87, 0x0d, 0x8e, 0xe1, 0xcb, 0x50, 0x17, 0xc7);
-
-#define INTERFACE ID3D10Effect
-DECLARE_INTERFACE_(ID3D10Effect, IUnknown)
-{
-    /* IUnknown methods */
-    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
-    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG, Release)(THIS) PURE;
-    /* ID3D10Effect methods */
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD_(WINBOOL, IsPool)(THIS) PURE;
-    STDMETHOD(GetDevice)(THIS_ ID3D10Device **device) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetConstantBufferByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetConstantBufferByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetVariableByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetVariableByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetVariableBySemantic)(THIS_ const char *semantic) PURE;
-    STDMETHOD_(struct ID3D10EffectTechnique *, GetTechniqueByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectTechnique *, GetTechniqueByName)(THIS_ const char *name) PURE;
-    STDMETHOD(Optimize)(THIS) PURE;
-    STDMETHOD_(WINBOOL, IsOptimized)(THIS) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
-
-#define INTERFACE ID3D10EffectPool
-DECLARE_INTERFACE_(ID3D10EffectPool, IUnknown)
-{
-    /* IUnknown methods */
-    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
-    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG, Release)(THIS) PURE;
-    /* ID3D10EffectPool methods */
-    STDMETHOD_(struct ID3D10Effect *, AsEffect)(THIS) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectPass, 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2, 0x82, 0xe3, 0xf9, 0xbf, 0xa3, 0x6a, 0x54);
-
-#define INTERFACE ID3D10EffectPass
-DECLARE_INTERFACE(ID3D10EffectPass)
-{
-    STDMETHOD_(WINBOOL, IsValid)(THIS) PURE;
-    STDMETHOD(GetDesc)(THIS_ D3D10_PASS_DESC *desc) PURE;
-    STDMETHOD(GetVertexShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
-    STDMETHOD(GetGeometryShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
-    STDMETHOD(GetPixelShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ const char *name) PURE;
-    STDMETHOD(Apply)(THIS_ UINT flags) PURE;
-    STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *mask) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10StateBlock, 0x0803425a, 0x57f5, 0x4dd6, 0x94, 0x65, 0xa8, 0x75, 0x70, 0x83, 0x4a, 0x08);
-
-#define INTERFACE ID3D10StateBlock
-DECLARE_INTERFACE_(ID3D10StateBlock, IUnknown)
-{
-    /* IUnknown methods */
-    STDMETHOD(QueryInterface)(THIS_ REFIID iid, void **object) PURE;
-    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG, Release)(THIS) PURE;
-    /* ID3D10StateBlock methods */
-    STDMETHOD(Capture)(THIS) PURE;
-    STDMETHOD(Apply)(THIS) PURE;
-    STDMETHOD(ReleaseAllDeviceObjects)(THIS) PURE;
-    STDMETHOD(GetDevice)(THIS_ ID3D10Device **device) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-extern "C" {
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectType methods ***/
+#define ID3D10EffectType_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectType_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectType_GetMemberTypeByIndex(This,index) (This)->lpVtbl->GetMemberTypeByIndex(This,index)
+#define ID3D10EffectType_GetMemberTypeByName(This,name) (This)->lpVtbl->GetMemberTypeByName(This,name)
+#define ID3D10EffectType_GetMemberTypeBySemantic(This,semantic) (This)->lpVtbl->GetMemberTypeBySemantic(This,semantic)
+#define ID3D10EffectType_GetMemberName(This,index) (This)->lpVtbl->GetMemberName(This,index)
+#define ID3D10EffectType_GetMemberSemantic(This,index) (This)->lpVtbl->GetMemberSemantic(This,index)
+#else
+/*** ID3D10EffectType methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectType_IsValid(ID3D10EffectType* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectType_GetDesc(ID3D10EffectType* This,D3D10_EFFECT_TYPE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectType_GetMemberTypeByIndex(ID3D10EffectType* This,UINT index) {
+    return This->lpVtbl->GetMemberTypeByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectType_GetMemberTypeByName(ID3D10EffectType* This,const char *name) {
+    return This->lpVtbl->GetMemberTypeByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectType_GetMemberTypeBySemantic(ID3D10EffectType* This,const char *semantic) {
+    return This->lpVtbl->GetMemberTypeBySemantic(This,semantic);
+}
+static __WIDL_INLINE const char * ID3D10EffectType_GetMemberName(ID3D10EffectType* This,UINT index) {
+    return This->lpVtbl->GetMemberName(This,index);
+}
+static __WIDL_INLINE const char * ID3D10EffectType_GetMemberSemantic(ID3D10EffectType* This,UINT index) {
+    return This->lpVtbl->GetMemberSemantic(This,index);
+}
+#endif
 #endif
 
-HRESULT WINAPI D3D10CompileEffectFromMemory(void *data, SIZE_T data_size, const char *filename,
-        const D3D10_SHADER_MACRO *defines, ID3D10Include *include, UINT hlsl_flags, UINT fx_flags,
-        ID3D10Blob **effect, ID3D10Blob **errors);
-HRESULT WINAPI D3D10CreateEffectFromMemory(void *data, SIZE_T data_size, UINT flags,
-        ID3D10Device *device, ID3D10EffectPool *effect_pool, ID3D10Effect **effect);
-HRESULT WINAPI D3D10CreateEffectPoolFromMemory(void *data, SIZE_T data_size, UINT fx_flags,
-        ID3D10Device *device, ID3D10EffectPool **effect_pool);
-HRESULT WINAPI D3D10CreateStateBlock(ID3D10Device *device,
-        D3D10_STATE_BLOCK_MASK *mask, ID3D10StateBlock **stateblock);
+#endif
 
-HRESULT WINAPI D3D10StateBlockMaskDifference(D3D10_STATE_BLOCK_MASK *mask_x,
-        D3D10_STATE_BLOCK_MASK *mask_y, D3D10_STATE_BLOCK_MASK *result);
-HRESULT WINAPI D3D10StateBlockMaskDisableAll(D3D10_STATE_BLOCK_MASK *mask);
-HRESULT WINAPI D3D10StateBlockMaskDisableCapture(D3D10_STATE_BLOCK_MASK *mask,
-        D3D10_DEVICE_STATE_TYPES state_type, UINT start_idx, UINT count);
-HRESULT WINAPI D3D10StateBlockMaskEnableAll(D3D10_STATE_BLOCK_MASK *mask);
-HRESULT WINAPI D3D10StateBlockMaskEnableCapture(D3D10_STATE_BLOCK_MASK *mask,
-        D3D10_DEVICE_STATE_TYPES state_type, UINT start_idx, UINT count);
-WINBOOL WINAPI D3D10StateBlockMaskGetSetting(D3D10_STATE_BLOCK_MASK *mask,
-        D3D10_DEVICE_STATE_TYPES state_type, UINT idx);
-HRESULT WINAPI D3D10StateBlockMaskIntersect(D3D10_STATE_BLOCK_MASK *mask_x,
-        D3D10_STATE_BLOCK_MASK *mask_y, D3D10_STATE_BLOCK_MASK *result);
-HRESULT WINAPI D3D10StateBlockMaskUnion(D3D10_STATE_BLOCK_MASK *mask_x,
-        D3D10_STATE_BLOCK_MASK *mask_y, D3D10_STATE_BLOCK_MASK *result);
+
+#endif  /* __ID3D10EffectType_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectVariable interface
+ */
+#ifndef __ID3D10EffectVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectVariable, 0xae897105, 0x00e6, 0x45bf, 0xbb,0x8e, 0x28,0x1d,0xd6,0xdb,0x8e,0x1b);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("ae897105-00e6-45bf-bb8e-281dd6db8e1b")
+ID3D10EffectVariable
+{
+
+    BEGIN_INTERFACE
+
+    virtual WINBOOL STDMETHODCALLTYPE IsValid(
+        ) = 0;
+
+    virtual ID3D10EffectType * STDMETHODCALLTYPE GetType(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_EFFECT_VARIABLE_DESC *desc) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByName(
+        const char *name) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetMemberByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetMemberByName(
+        const char *name) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetMemberBySemantic(
+        const char *semantic) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetElement(
+        UINT index) = 0;
+
+    virtual ID3D10EffectConstantBuffer * STDMETHODCALLTYPE GetParentConstantBuffer(
+        ) = 0;
+
+    virtual ID3D10EffectScalarVariable * STDMETHODCALLTYPE AsScalar(
+        ) = 0;
+
+    virtual ID3D10EffectVectorVariable * STDMETHODCALLTYPE AsVector(
+        ) = 0;
+
+    virtual ID3D10EffectMatrixVariable * STDMETHODCALLTYPE AsMatrix(
+        ) = 0;
+
+    virtual ID3D10EffectStringVariable * STDMETHODCALLTYPE AsString(
+        ) = 0;
+
+    virtual ID3D10EffectShaderResourceVariable * STDMETHODCALLTYPE AsShaderResource(
+        ) = 0;
+
+    virtual ID3D10EffectRenderTargetViewVariable * STDMETHODCALLTYPE AsRenderTargetView(
+        ) = 0;
+
+    virtual ID3D10EffectDepthStencilViewVariable * STDMETHODCALLTYPE AsDepthStencilView(
+        ) = 0;
+
+    virtual ID3D10EffectConstantBuffer * STDMETHODCALLTYPE AsConstantBuffer(
+        ) = 0;
+
+    virtual ID3D10EffectShaderVariable * STDMETHODCALLTYPE AsShader(
+        ) = 0;
+
+    virtual ID3D10EffectBlendVariable * STDMETHODCALLTYPE AsBlend(
+        ) = 0;
+
+    virtual ID3D10EffectDepthStencilVariable * STDMETHODCALLTYPE AsDepthStencil(
+        ) = 0;
+
+    virtual ID3D10EffectRasterizerVariable * STDMETHODCALLTYPE AsRasterizer(
+        ) = 0;
+
+    virtual ID3D10EffectSamplerVariable * STDMETHODCALLTYPE AsSampler(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetRawValue(
+        void *data,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetRawValue(
+        void *data,
+        UINT offset,
+        UINT count) = 0;
+
+    END_INTERFACE
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectVariable, 0xae897105, 0x00e6, 0x45bf, 0xbb,0x8e, 0x28,0x1d,0xd6,0xdb,0x8e,0x1b)
+#endif
+#else
+typedef struct ID3D10EffectVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    END_INTERFACE
+} ID3D10EffectVariableVtbl;
+
+interface ID3D10EffectVariable {
+    CONST_VTBL ID3D10EffectVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectVariable_IsValid(ID3D10EffectVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectVariable_GetType(ID3D10EffectVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVariable_GetDesc(ID3D10EffectVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVariable_GetAnnotationByIndex(ID3D10EffectVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVariable_GetAnnotationByName(ID3D10EffectVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVariable_GetMemberByIndex(ID3D10EffectVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVariable_GetMemberByName(ID3D10EffectVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVariable_GetMemberBySemantic(ID3D10EffectVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVariable_GetElement(ID3D10EffectVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectVariable_GetParentConstantBuffer(ID3D10EffectVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectVariable_AsScalar(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectVariable_AsVector(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectVariable_AsMatrix(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectVariable_AsString(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectVariable_AsShaderResource(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectVariable_AsRenderTargetView(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectVariable_AsDepthStencilView(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectVariable_AsConstantBuffer(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectVariable_AsShader(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectVariable_AsBlend(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectVariable_AsDepthStencil(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectVariable_AsRasterizer(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectVariable_AsSampler(ID3D10EffectVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVariable_SetRawValue(ID3D10EffectVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVariable_GetRawValue(ID3D10EffectVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectConstantBuffer interface
+ */
+#ifndef __ID3D10EffectConstantBuffer_INTERFACE_DEFINED__
+#define __ID3D10EffectConstantBuffer_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectConstantBuffer, 0x56648f4d, 0xcc8b, 0x4444, 0xa5,0xad, 0xb5,0xa3,0xd7,0x6e,0x91,0xb3);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("56648f4d-cc8b-4444-a5ad-b5a3d76e91b3")
+ID3D10EffectConstantBuffer : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE SetConstantBuffer(
+        ID3D10Buffer *buffer) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetConstantBuffer(
+        ID3D10Buffer **buffer) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetTextureBuffer(
+        ID3D10ShaderResourceView *view) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetTextureBuffer(
+        ID3D10ShaderResourceView **view) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectConstantBuffer, 0x56648f4d, 0xcc8b, 0x4444, 0xa5,0xad, 0xb5,0xa3,0xd7,0x6e,0x91,0xb3)
+#endif
+#else
+typedef struct ID3D10EffectConstantBufferVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectConstantBuffer *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectConstantBuffer *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectConstantBuffer *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectConstantBuffer *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectConstantBuffer *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectConstantBuffer *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectConstantBuffer *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectConstantBuffer *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectConstantBuffer *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectConstantBuffer *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectConstantBuffer *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectConstantBuffer *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectConstantBuffer methods ***/
+    HRESULT (STDMETHODCALLTYPE *SetConstantBuffer)(
+        ID3D10EffectConstantBuffer *This,
+        ID3D10Buffer *buffer);
+
+    HRESULT (STDMETHODCALLTYPE *GetConstantBuffer)(
+        ID3D10EffectConstantBuffer *This,
+        ID3D10Buffer **buffer);
+
+    HRESULT (STDMETHODCALLTYPE *SetTextureBuffer)(
+        ID3D10EffectConstantBuffer *This,
+        ID3D10ShaderResourceView *view);
+
+    HRESULT (STDMETHODCALLTYPE *GetTextureBuffer)(
+        ID3D10EffectConstantBuffer *This,
+        ID3D10ShaderResourceView **view);
+
+    END_INTERFACE
+} ID3D10EffectConstantBufferVtbl;
+
+interface ID3D10EffectConstantBuffer {
+    CONST_VTBL ID3D10EffectConstantBufferVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectConstantBuffer_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectConstantBuffer_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectConstantBuffer_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectConstantBuffer_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectConstantBuffer_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectConstantBuffer_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectConstantBuffer_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectConstantBuffer_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectConstantBuffer_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectConstantBuffer_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectConstantBuffer_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectConstantBuffer_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectConstantBuffer_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectConstantBuffer_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectConstantBuffer_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectConstantBuffer_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectConstantBuffer_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectConstantBuffer_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectConstantBuffer_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectConstantBuffer_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectConstantBuffer_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectConstantBuffer_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectConstantBuffer_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectConstantBuffer_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectConstantBuffer_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectConstantBuffer methods ***/
+#define ID3D10EffectConstantBuffer_SetConstantBuffer(This,buffer) (This)->lpVtbl->SetConstantBuffer(This,buffer)
+#define ID3D10EffectConstantBuffer_GetConstantBuffer(This,buffer) (This)->lpVtbl->GetConstantBuffer(This,buffer)
+#define ID3D10EffectConstantBuffer_SetTextureBuffer(This,view) (This)->lpVtbl->SetTextureBuffer(This,view)
+#define ID3D10EffectConstantBuffer_GetTextureBuffer(This,view) (This)->lpVtbl->GetTextureBuffer(This,view)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectConstantBuffer_IsValid(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectConstantBuffer_GetType(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectConstantBuffer_GetDesc(ID3D10EffectConstantBuffer* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetAnnotationByIndex(ID3D10EffectConstantBuffer* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetAnnotationByName(ID3D10EffectConstantBuffer* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetMemberByIndex(ID3D10EffectConstantBuffer* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetMemberByName(ID3D10EffectConstantBuffer* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetMemberBySemantic(ID3D10EffectConstantBuffer* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetElement(ID3D10EffectConstantBuffer* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectConstantBuffer_GetParentConstantBuffer(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectConstantBuffer_AsScalar(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectConstantBuffer_AsVector(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectConstantBuffer_AsMatrix(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectConstantBuffer_AsString(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectConstantBuffer_AsShaderResource(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectConstantBuffer_AsRenderTargetView(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectConstantBuffer_AsDepthStencilView(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectConstantBuffer_AsConstantBuffer(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectConstantBuffer_AsShader(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectConstantBuffer_AsBlend(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectConstantBuffer_AsDepthStencil(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectConstantBuffer_AsRasterizer(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectConstantBuffer_AsSampler(ID3D10EffectConstantBuffer* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectConstantBuffer_SetRawValue(ID3D10EffectConstantBuffer* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectConstantBuffer_GetRawValue(ID3D10EffectConstantBuffer* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectConstantBuffer methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectConstantBuffer_SetConstantBuffer(ID3D10EffectConstantBuffer* This,ID3D10Buffer *buffer) {
+    return This->lpVtbl->SetConstantBuffer(This,buffer);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectConstantBuffer_GetConstantBuffer(ID3D10EffectConstantBuffer* This,ID3D10Buffer **buffer) {
+    return This->lpVtbl->GetConstantBuffer(This,buffer);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectConstantBuffer_SetTextureBuffer(ID3D10EffectConstantBuffer* This,ID3D10ShaderResourceView *view) {
+    return This->lpVtbl->SetTextureBuffer(This,view);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectConstantBuffer_GetTextureBuffer(ID3D10EffectConstantBuffer* This,ID3D10ShaderResourceView **view) {
+    return This->lpVtbl->GetTextureBuffer(This,view);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectConstantBuffer_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectScalarVariable interface
+ */
+#ifndef __ID3D10EffectScalarVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectScalarVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectScalarVariable, 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8,0x6c, 0x02,0x2d,0xee,0x53,0x43,0x1f);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("00e48f7b-d2c8-49e8-a86c-022dee53431f")
+ID3D10EffectScalarVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE SetFloat(
+        float value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetFloat(
+        float *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetFloatArray(
+        float *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetFloatArray(
+        float *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetInt(
+        int value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetInt(
+        int *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetIntArray(
+        int *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetIntArray(
+        int *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetBool(
+        WINBOOL value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetBool(
+        WINBOOL *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetBoolArray(
+        WINBOOL *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetBoolArray(
+        WINBOOL *values,
+        UINT offset,
+        UINT count) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectScalarVariable, 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8,0x6c, 0x02,0x2d,0xee,0x53,0x43,0x1f)
+#endif
+#else
+typedef struct ID3D10EffectScalarVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectScalarVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectScalarVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectScalarVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectScalarVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectScalarVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectScalarVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectScalarVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectScalarVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectScalarVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectScalarVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectScalarVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectScalarVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectScalarVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *SetFloat)(
+        ID3D10EffectScalarVariable *This,
+        float value);
+
+    HRESULT (STDMETHODCALLTYPE *GetFloat)(
+        ID3D10EffectScalarVariable *This,
+        float *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetFloatArray)(
+        ID3D10EffectScalarVariable *This,
+        float *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetFloatArray)(
+        ID3D10EffectScalarVariable *This,
+        float *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *SetInt)(
+        ID3D10EffectScalarVariable *This,
+        int value);
+
+    HRESULT (STDMETHODCALLTYPE *GetInt)(
+        ID3D10EffectScalarVariable *This,
+        int *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetIntArray)(
+        ID3D10EffectScalarVariable *This,
+        int *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetIntArray)(
+        ID3D10EffectScalarVariable *This,
+        int *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *SetBool)(
+        ID3D10EffectScalarVariable *This,
+        WINBOOL value);
+
+    HRESULT (STDMETHODCALLTYPE *GetBool)(
+        ID3D10EffectScalarVariable *This,
+        WINBOOL *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetBoolArray)(
+        ID3D10EffectScalarVariable *This,
+        WINBOOL *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetBoolArray)(
+        ID3D10EffectScalarVariable *This,
+        WINBOOL *values,
+        UINT offset,
+        UINT count);
+
+    END_INTERFACE
+} ID3D10EffectScalarVariableVtbl;
+
+interface ID3D10EffectScalarVariable {
+    CONST_VTBL ID3D10EffectScalarVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectScalarVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectScalarVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectScalarVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectScalarVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectScalarVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectScalarVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectScalarVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectScalarVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectScalarVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectScalarVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectScalarVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectScalarVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectScalarVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectScalarVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectScalarVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectScalarVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectScalarVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectScalarVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectScalarVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectScalarVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectScalarVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectScalarVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectScalarVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectScalarVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectScalarVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectScalarVariable methods ***/
+#define ID3D10EffectScalarVariable_SetFloat(This,value) (This)->lpVtbl->SetFloat(This,value)
+#define ID3D10EffectScalarVariable_GetFloat(This,value) (This)->lpVtbl->GetFloat(This,value)
+#define ID3D10EffectScalarVariable_SetFloatArray(This,values,offset,count) (This)->lpVtbl->SetFloatArray(This,values,offset,count)
+#define ID3D10EffectScalarVariable_GetFloatArray(This,values,offset,count) (This)->lpVtbl->GetFloatArray(This,values,offset,count)
+#define ID3D10EffectScalarVariable_SetInt(This,value) (This)->lpVtbl->SetInt(This,value)
+#define ID3D10EffectScalarVariable_GetInt(This,value) (This)->lpVtbl->GetInt(This,value)
+#define ID3D10EffectScalarVariable_SetIntArray(This,values,offset,count) (This)->lpVtbl->SetIntArray(This,values,offset,count)
+#define ID3D10EffectScalarVariable_GetIntArray(This,values,offset,count) (This)->lpVtbl->GetIntArray(This,values,offset,count)
+#define ID3D10EffectScalarVariable_SetBool(This,value) (This)->lpVtbl->SetBool(This,value)
+#define ID3D10EffectScalarVariable_GetBool(This,value) (This)->lpVtbl->GetBool(This,value)
+#define ID3D10EffectScalarVariable_SetBoolArray(This,values,offset,count) (This)->lpVtbl->SetBoolArray(This,values,offset,count)
+#define ID3D10EffectScalarVariable_GetBoolArray(This,values,offset,count) (This)->lpVtbl->GetBoolArray(This,values,offset,count)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectScalarVariable_IsValid(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectScalarVariable_GetType(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_GetDesc(ID3D10EffectScalarVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectScalarVariable_GetAnnotationByIndex(ID3D10EffectScalarVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectScalarVariable_GetAnnotationByName(ID3D10EffectScalarVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectScalarVariable_GetMemberByIndex(ID3D10EffectScalarVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectScalarVariable_GetMemberByName(ID3D10EffectScalarVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectScalarVariable_GetMemberBySemantic(ID3D10EffectScalarVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectScalarVariable_GetElement(ID3D10EffectScalarVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectScalarVariable_GetParentConstantBuffer(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectScalarVariable_AsScalar(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectScalarVariable_AsVector(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectScalarVariable_AsMatrix(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectScalarVariable_AsString(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectScalarVariable_AsShaderResource(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectScalarVariable_AsRenderTargetView(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectScalarVariable_AsDepthStencilView(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectScalarVariable_AsConstantBuffer(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectScalarVariable_AsShader(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectScalarVariable_AsBlend(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectScalarVariable_AsDepthStencil(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectScalarVariable_AsRasterizer(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectScalarVariable_AsSampler(ID3D10EffectScalarVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_SetRawValue(ID3D10EffectScalarVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_GetRawValue(ID3D10EffectScalarVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectScalarVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_SetFloat(ID3D10EffectScalarVariable* This,float value) {
+    return This->lpVtbl->SetFloat(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_GetFloat(ID3D10EffectScalarVariable* This,float *value) {
+    return This->lpVtbl->GetFloat(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_SetFloatArray(ID3D10EffectScalarVariable* This,float *values,UINT offset,UINT count) {
+    return This->lpVtbl->SetFloatArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_GetFloatArray(ID3D10EffectScalarVariable* This,float *values,UINT offset,UINT count) {
+    return This->lpVtbl->GetFloatArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_SetInt(ID3D10EffectScalarVariable* This,int value) {
+    return This->lpVtbl->SetInt(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_GetInt(ID3D10EffectScalarVariable* This,int *value) {
+    return This->lpVtbl->GetInt(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_SetIntArray(ID3D10EffectScalarVariable* This,int *values,UINT offset,UINT count) {
+    return This->lpVtbl->SetIntArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_GetIntArray(ID3D10EffectScalarVariable* This,int *values,UINT offset,UINT count) {
+    return This->lpVtbl->GetIntArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_SetBool(ID3D10EffectScalarVariable* This,WINBOOL value) {
+    return This->lpVtbl->SetBool(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_GetBool(ID3D10EffectScalarVariable* This,WINBOOL *value) {
+    return This->lpVtbl->GetBool(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_SetBoolArray(ID3D10EffectScalarVariable* This,WINBOOL *values,UINT offset,UINT count) {
+    return This->lpVtbl->SetBoolArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectScalarVariable_GetBoolArray(ID3D10EffectScalarVariable* This,WINBOOL *values,UINT offset,UINT count) {
+    return This->lpVtbl->GetBoolArray(This,values,offset,count);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectScalarVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectVectorVariable interface
+ */
+#ifndef __ID3D10EffectVectorVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectVectorVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectVectorVariable, 0x62b98c44, 0x1f82, 0x4c67, 0xbc,0xd0, 0x72,0xcf,0x8f,0x21,0x7e,0x81);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("62b98c44-1f82-4c67-bcd0-72cf8f217e81")
+ID3D10EffectVectorVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE SetBoolVector(
+        WINBOOL *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetIntVector(
+        int *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetFloatVector(
+        float *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetBoolVector(
+        WINBOOL *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetIntVector(
+        int *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetFloatVector(
+        float *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetBoolVectorArray(
+        WINBOOL *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetIntVectorArray(
+        int *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetFloatVectorArray(
+        float *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetBoolVectorArray(
+        WINBOOL *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetIntVectorArray(
+        int *values,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetFloatVectorArray(
+        float *values,
+        UINT offset,
+        UINT count) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectVectorVariable, 0x62b98c44, 0x1f82, 0x4c67, 0xbc,0xd0, 0x72,0xcf,0x8f,0x21,0x7e,0x81)
+#endif
+#else
+typedef struct ID3D10EffectVectorVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectVectorVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectVectorVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectVectorVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectVectorVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectVectorVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectVectorVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectVectorVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectVectorVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectVectorVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectVectorVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectVectorVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectVectorVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectVectorVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *SetBoolVector)(
+        ID3D10EffectVectorVariable *This,
+        WINBOOL *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetIntVector)(
+        ID3D10EffectVectorVariable *This,
+        int *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetFloatVector)(
+        ID3D10EffectVectorVariable *This,
+        float *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetBoolVector)(
+        ID3D10EffectVectorVariable *This,
+        WINBOOL *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetIntVector)(
+        ID3D10EffectVectorVariable *This,
+        int *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetFloatVector)(
+        ID3D10EffectVectorVariable *This,
+        float *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetBoolVectorArray)(
+        ID3D10EffectVectorVariable *This,
+        WINBOOL *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *SetIntVectorArray)(
+        ID3D10EffectVectorVariable *This,
+        int *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *SetFloatVectorArray)(
+        ID3D10EffectVectorVariable *This,
+        float *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetBoolVectorArray)(
+        ID3D10EffectVectorVariable *This,
+        WINBOOL *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetIntVectorArray)(
+        ID3D10EffectVectorVariable *This,
+        int *values,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetFloatVectorArray)(
+        ID3D10EffectVectorVariable *This,
+        float *values,
+        UINT offset,
+        UINT count);
+
+    END_INTERFACE
+} ID3D10EffectVectorVariableVtbl;
+
+interface ID3D10EffectVectorVariable {
+    CONST_VTBL ID3D10EffectVectorVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectVectorVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectVectorVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectVectorVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectVectorVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectVectorVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectVectorVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectVectorVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectVectorVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectVectorVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectVectorVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectVectorVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectVectorVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectVectorVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectVectorVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectVectorVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectVectorVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectVectorVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectVectorVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectVectorVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectVectorVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectVectorVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectVectorVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectVectorVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectVectorVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectVectorVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectVectorVariable methods ***/
+#define ID3D10EffectVectorVariable_SetBoolVector(This,value) (This)->lpVtbl->SetBoolVector(This,value)
+#define ID3D10EffectVectorVariable_SetIntVector(This,value) (This)->lpVtbl->SetIntVector(This,value)
+#define ID3D10EffectVectorVariable_SetFloatVector(This,value) (This)->lpVtbl->SetFloatVector(This,value)
+#define ID3D10EffectVectorVariable_GetBoolVector(This,value) (This)->lpVtbl->GetBoolVector(This,value)
+#define ID3D10EffectVectorVariable_GetIntVector(This,value) (This)->lpVtbl->GetIntVector(This,value)
+#define ID3D10EffectVectorVariable_GetFloatVector(This,value) (This)->lpVtbl->GetFloatVector(This,value)
+#define ID3D10EffectVectorVariable_SetBoolVectorArray(This,values,offset,count) (This)->lpVtbl->SetBoolVectorArray(This,values,offset,count)
+#define ID3D10EffectVectorVariable_SetIntVectorArray(This,values,offset,count) (This)->lpVtbl->SetIntVectorArray(This,values,offset,count)
+#define ID3D10EffectVectorVariable_SetFloatVectorArray(This,values,offset,count) (This)->lpVtbl->SetFloatVectorArray(This,values,offset,count)
+#define ID3D10EffectVectorVariable_GetBoolVectorArray(This,values,offset,count) (This)->lpVtbl->GetBoolVectorArray(This,values,offset,count)
+#define ID3D10EffectVectorVariable_GetIntVectorArray(This,values,offset,count) (This)->lpVtbl->GetIntVectorArray(This,values,offset,count)
+#define ID3D10EffectVectorVariable_GetFloatVectorArray(This,values,offset,count) (This)->lpVtbl->GetFloatVectorArray(This,values,offset,count)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectVectorVariable_IsValid(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectVectorVariable_GetType(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_GetDesc(ID3D10EffectVectorVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVectorVariable_GetAnnotationByIndex(ID3D10EffectVectorVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVectorVariable_GetAnnotationByName(ID3D10EffectVectorVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVectorVariable_GetMemberByIndex(ID3D10EffectVectorVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVectorVariable_GetMemberByName(ID3D10EffectVectorVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVectorVariable_GetMemberBySemantic(ID3D10EffectVectorVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectVectorVariable_GetElement(ID3D10EffectVectorVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectVectorVariable_GetParentConstantBuffer(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectVectorVariable_AsScalar(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectVectorVariable_AsVector(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectVectorVariable_AsMatrix(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectVectorVariable_AsString(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectVectorVariable_AsShaderResource(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectVectorVariable_AsRenderTargetView(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectVectorVariable_AsDepthStencilView(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectVectorVariable_AsConstantBuffer(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectVectorVariable_AsShader(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectVectorVariable_AsBlend(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectVectorVariable_AsDepthStencil(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectVectorVariable_AsRasterizer(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectVectorVariable_AsSampler(ID3D10EffectVectorVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_SetRawValue(ID3D10EffectVectorVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_GetRawValue(ID3D10EffectVectorVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectVectorVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_SetBoolVector(ID3D10EffectVectorVariable* This,WINBOOL *value) {
+    return This->lpVtbl->SetBoolVector(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_SetIntVector(ID3D10EffectVectorVariable* This,int *value) {
+    return This->lpVtbl->SetIntVector(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_SetFloatVector(ID3D10EffectVectorVariable* This,float *value) {
+    return This->lpVtbl->SetFloatVector(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_GetBoolVector(ID3D10EffectVectorVariable* This,WINBOOL *value) {
+    return This->lpVtbl->GetBoolVector(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_GetIntVector(ID3D10EffectVectorVariable* This,int *value) {
+    return This->lpVtbl->GetIntVector(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_GetFloatVector(ID3D10EffectVectorVariable* This,float *value) {
+    return This->lpVtbl->GetFloatVector(This,value);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_SetBoolVectorArray(ID3D10EffectVectorVariable* This,WINBOOL *values,UINT offset,UINT count) {
+    return This->lpVtbl->SetBoolVectorArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_SetIntVectorArray(ID3D10EffectVectorVariable* This,int *values,UINT offset,UINT count) {
+    return This->lpVtbl->SetIntVectorArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_SetFloatVectorArray(ID3D10EffectVectorVariable* This,float *values,UINT offset,UINT count) {
+    return This->lpVtbl->SetFloatVectorArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_GetBoolVectorArray(ID3D10EffectVectorVariable* This,WINBOOL *values,UINT offset,UINT count) {
+    return This->lpVtbl->GetBoolVectorArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_GetIntVectorArray(ID3D10EffectVectorVariable* This,int *values,UINT offset,UINT count) {
+    return This->lpVtbl->GetIntVectorArray(This,values,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectVectorVariable_GetFloatVectorArray(ID3D10EffectVectorVariable* This,float *values,UINT offset,UINT count) {
+    return This->lpVtbl->GetFloatVectorArray(This,values,offset,count);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectVectorVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectMatrixVariable interface
+ */
+#ifndef __ID3D10EffectMatrixVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectMatrixVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectMatrixVariable, 0x50666c24, 0xb82f, 0x4eed, 0xa1,0x72, 0x5b,0x6e,0x7e,0x85,0x22,0xe0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("50666c24-b82f-4eed-a172-5b6e7e8522e0")
+ID3D10EffectMatrixVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE SetMatrix(
+        float *data) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetMatrix(
+        float *data) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetMatrixArray(
+        float *data,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetMatrixArray(
+        float *data,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetMatrixTranspose(
+        float *data) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetMatrixTranspose(
+        float *data) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetMatrixTransposeArray(
+        float *data,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetMatrixTransposeArray(
+        float *data,
+        UINT offset,
+        UINT count) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectMatrixVariable, 0x50666c24, 0xb82f, 0x4eed, 0xa1,0x72, 0x5b,0x6e,0x7e,0x85,0x22,0xe0)
+#endif
+#else
+typedef struct ID3D10EffectMatrixVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectMatrixVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectMatrixVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectMatrixVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectMatrixVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectMatrixVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectMatrixVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectMatrixVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectMatrixVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectMatrixVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectMatrixVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectMatrixVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectMatrixVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectMatrixVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *SetMatrix)(
+        ID3D10EffectMatrixVariable *This,
+        float *data);
+
+    HRESULT (STDMETHODCALLTYPE *GetMatrix)(
+        ID3D10EffectMatrixVariable *This,
+        float *data);
+
+    HRESULT (STDMETHODCALLTYPE *SetMatrixArray)(
+        ID3D10EffectMatrixVariable *This,
+        float *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetMatrixArray)(
+        ID3D10EffectMatrixVariable *This,
+        float *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *SetMatrixTranspose)(
+        ID3D10EffectMatrixVariable *This,
+        float *data);
+
+    HRESULT (STDMETHODCALLTYPE *GetMatrixTranspose)(
+        ID3D10EffectMatrixVariable *This,
+        float *data);
+
+    HRESULT (STDMETHODCALLTYPE *SetMatrixTransposeArray)(
+        ID3D10EffectMatrixVariable *This,
+        float *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetMatrixTransposeArray)(
+        ID3D10EffectMatrixVariable *This,
+        float *data,
+        UINT offset,
+        UINT count);
+
+    END_INTERFACE
+} ID3D10EffectMatrixVariableVtbl;
+
+interface ID3D10EffectMatrixVariable {
+    CONST_VTBL ID3D10EffectMatrixVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectMatrixVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectMatrixVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectMatrixVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectMatrixVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectMatrixVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectMatrixVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectMatrixVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectMatrixVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectMatrixVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectMatrixVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectMatrixVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectMatrixVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectMatrixVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectMatrixVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectMatrixVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectMatrixVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectMatrixVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectMatrixVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectMatrixVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectMatrixVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectMatrixVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectMatrixVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectMatrixVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectMatrixVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectMatrixVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectMatrixVariable methods ***/
+#define ID3D10EffectMatrixVariable_SetMatrix(This,data) (This)->lpVtbl->SetMatrix(This,data)
+#define ID3D10EffectMatrixVariable_GetMatrix(This,data) (This)->lpVtbl->GetMatrix(This,data)
+#define ID3D10EffectMatrixVariable_SetMatrixArray(This,data,offset,count) (This)->lpVtbl->SetMatrixArray(This,data,offset,count)
+#define ID3D10EffectMatrixVariable_GetMatrixArray(This,data,offset,count) (This)->lpVtbl->GetMatrixArray(This,data,offset,count)
+#define ID3D10EffectMatrixVariable_SetMatrixTranspose(This,data) (This)->lpVtbl->SetMatrixTranspose(This,data)
+#define ID3D10EffectMatrixVariable_GetMatrixTranspose(This,data) (This)->lpVtbl->GetMatrixTranspose(This,data)
+#define ID3D10EffectMatrixVariable_SetMatrixTransposeArray(This,data,offset,count) (This)->lpVtbl->SetMatrixTransposeArray(This,data,offset,count)
+#define ID3D10EffectMatrixVariable_GetMatrixTransposeArray(This,data,offset,count) (This)->lpVtbl->GetMatrixTransposeArray(This,data,offset,count)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectMatrixVariable_IsValid(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectMatrixVariable_GetType(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_GetDesc(ID3D10EffectMatrixVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetAnnotationByIndex(ID3D10EffectMatrixVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetAnnotationByName(ID3D10EffectMatrixVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetMemberByIndex(ID3D10EffectMatrixVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetMemberByName(ID3D10EffectMatrixVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetMemberBySemantic(ID3D10EffectMatrixVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetElement(ID3D10EffectMatrixVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectMatrixVariable_GetParentConstantBuffer(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectMatrixVariable_AsScalar(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectMatrixVariable_AsVector(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectMatrixVariable_AsMatrix(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectMatrixVariable_AsString(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectMatrixVariable_AsShaderResource(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectMatrixVariable_AsRenderTargetView(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectMatrixVariable_AsDepthStencilView(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectMatrixVariable_AsConstantBuffer(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectMatrixVariable_AsShader(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectMatrixVariable_AsBlend(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectMatrixVariable_AsDepthStencil(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectMatrixVariable_AsRasterizer(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectMatrixVariable_AsSampler(ID3D10EffectMatrixVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_SetRawValue(ID3D10EffectMatrixVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_GetRawValue(ID3D10EffectMatrixVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectMatrixVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_SetMatrix(ID3D10EffectMatrixVariable* This,float *data) {
+    return This->lpVtbl->SetMatrix(This,data);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_GetMatrix(ID3D10EffectMatrixVariable* This,float *data) {
+    return This->lpVtbl->GetMatrix(This,data);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_SetMatrixArray(ID3D10EffectMatrixVariable* This,float *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetMatrixArray(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_GetMatrixArray(ID3D10EffectMatrixVariable* This,float *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetMatrixArray(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_SetMatrixTranspose(ID3D10EffectMatrixVariable* This,float *data) {
+    return This->lpVtbl->SetMatrixTranspose(This,data);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_GetMatrixTranspose(ID3D10EffectMatrixVariable* This,float *data) {
+    return This->lpVtbl->GetMatrixTranspose(This,data);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_SetMatrixTransposeArray(ID3D10EffectMatrixVariable* This,float *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetMatrixTransposeArray(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectMatrixVariable_GetMatrixTransposeArray(ID3D10EffectMatrixVariable* This,float *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetMatrixTransposeArray(This,data,offset,count);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectMatrixVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectStringVariable interface
+ */
+#ifndef __ID3D10EffectStringVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectStringVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectStringVariable, 0x71417501, 0x8df9, 0x4e0a, 0xa7,0x8a, 0x25,0x5f,0x97,0x56,0xba,0xff);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("71417501-8df9-4e0a-a78a-255f9756baff")
+ID3D10EffectStringVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE GetString(
+        const char **str) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetStringArray(
+        const char **strs,
+        UINT offset,
+        UINT count) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectStringVariable, 0x71417501, 0x8df9, 0x4e0a, 0xa7,0x8a, 0x25,0x5f,0x97,0x56,0xba,0xff)
+#endif
+#else
+typedef struct ID3D10EffectStringVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectStringVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectStringVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectStringVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectStringVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectStringVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectStringVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectStringVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectStringVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectStringVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectStringVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectStringVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectStringVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectStringVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetString)(
+        ID3D10EffectStringVariable *This,
+        const char **str);
+
+    HRESULT (STDMETHODCALLTYPE *GetStringArray)(
+        ID3D10EffectStringVariable *This,
+        const char **strs,
+        UINT offset,
+        UINT count);
+
+    END_INTERFACE
+} ID3D10EffectStringVariableVtbl;
+
+interface ID3D10EffectStringVariable {
+    CONST_VTBL ID3D10EffectStringVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectStringVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectStringVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectStringVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectStringVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectStringVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectStringVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectStringVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectStringVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectStringVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectStringVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectStringVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectStringVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectStringVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectStringVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectStringVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectStringVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectStringVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectStringVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectStringVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectStringVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectStringVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectStringVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectStringVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectStringVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectStringVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectStringVariable methods ***/
+#define ID3D10EffectStringVariable_GetString(This,str) (This)->lpVtbl->GetString(This,str)
+#define ID3D10EffectStringVariable_GetStringArray(This,strs,offset,count) (This)->lpVtbl->GetStringArray(This,strs,offset,count)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectStringVariable_IsValid(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectStringVariable_GetType(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectStringVariable_GetDesc(ID3D10EffectStringVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectStringVariable_GetAnnotationByIndex(ID3D10EffectStringVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectStringVariable_GetAnnotationByName(ID3D10EffectStringVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectStringVariable_GetMemberByIndex(ID3D10EffectStringVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectStringVariable_GetMemberByName(ID3D10EffectStringVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectStringVariable_GetMemberBySemantic(ID3D10EffectStringVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectStringVariable_GetElement(ID3D10EffectStringVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectStringVariable_GetParentConstantBuffer(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectStringVariable_AsScalar(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectStringVariable_AsVector(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectStringVariable_AsMatrix(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectStringVariable_AsString(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectStringVariable_AsShaderResource(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectStringVariable_AsRenderTargetView(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectStringVariable_AsDepthStencilView(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectStringVariable_AsConstantBuffer(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectStringVariable_AsShader(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectStringVariable_AsBlend(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectStringVariable_AsDepthStencil(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectStringVariable_AsRasterizer(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectStringVariable_AsSampler(ID3D10EffectStringVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectStringVariable_SetRawValue(ID3D10EffectStringVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectStringVariable_GetRawValue(ID3D10EffectStringVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectStringVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectStringVariable_GetString(ID3D10EffectStringVariable* This,const char **str) {
+    return This->lpVtbl->GetString(This,str);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectStringVariable_GetStringArray(ID3D10EffectStringVariable* This,const char **strs,UINT offset,UINT count) {
+    return This->lpVtbl->GetStringArray(This,strs,offset,count);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectStringVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectShaderResourceVariable interface
+ */
+#ifndef __ID3D10EffectShaderResourceVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectShaderResourceVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectShaderResourceVariable, 0xc0a7157b, 0xd872, 0x4b1d, 0x80,0x73, 0xef,0xc2,0xac,0xd4,0xb1,0xfc);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("c0a7157b-d872-4b1d-8073-efc2acd4b1fc")
+ID3D10EffectShaderResourceVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE SetResource(
+        ID3D10ShaderResourceView *resource) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetResource(
+        ID3D10ShaderResourceView **resource) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetResourceArray(
+        ID3D10ShaderResourceView **resources,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetResourceArray(
+        ID3D10ShaderResourceView **resources,
+        UINT offset,
+        UINT count) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectShaderResourceVariable, 0xc0a7157b, 0xd872, 0x4b1d, 0x80,0x73, 0xef,0xc2,0xac,0xd4,0xb1,0xfc)
+#endif
+#else
+typedef struct ID3D10EffectShaderResourceVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectShaderResourceVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectShaderResourceVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectShaderResourceVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectShaderResourceVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectShaderResourceVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectShaderResourceVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectShaderResourceVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectShaderResourceVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectShaderResourceVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectShaderResourceVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectShaderResourceVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *SetResource)(
+        ID3D10EffectShaderResourceVariable *This,
+        ID3D10ShaderResourceView *resource);
+
+    HRESULT (STDMETHODCALLTYPE *GetResource)(
+        ID3D10EffectShaderResourceVariable *This,
+        ID3D10ShaderResourceView **resource);
+
+    HRESULT (STDMETHODCALLTYPE *SetResourceArray)(
+        ID3D10EffectShaderResourceVariable *This,
+        ID3D10ShaderResourceView **resources,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetResourceArray)(
+        ID3D10EffectShaderResourceVariable *This,
+        ID3D10ShaderResourceView **resources,
+        UINT offset,
+        UINT count);
+
+    END_INTERFACE
+} ID3D10EffectShaderResourceVariableVtbl;
+
+interface ID3D10EffectShaderResourceVariable {
+    CONST_VTBL ID3D10EffectShaderResourceVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectShaderResourceVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectShaderResourceVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectShaderResourceVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectShaderResourceVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectShaderResourceVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectShaderResourceVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectShaderResourceVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectShaderResourceVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectShaderResourceVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectShaderResourceVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectShaderResourceVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectShaderResourceVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectShaderResourceVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectShaderResourceVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectShaderResourceVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectShaderResourceVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectShaderResourceVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectShaderResourceVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectShaderResourceVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectShaderResourceVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectShaderResourceVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectShaderResourceVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectShaderResourceVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectShaderResourceVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectShaderResourceVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectShaderResourceVariable methods ***/
+#define ID3D10EffectShaderResourceVariable_SetResource(This,resource) (This)->lpVtbl->SetResource(This,resource)
+#define ID3D10EffectShaderResourceVariable_GetResource(This,resource) (This)->lpVtbl->GetResource(This,resource)
+#define ID3D10EffectShaderResourceVariable_SetResourceArray(This,resources,offset,count) (This)->lpVtbl->SetResourceArray(This,resources,offset,count)
+#define ID3D10EffectShaderResourceVariable_GetResourceArray(This,resources,offset,count) (This)->lpVtbl->GetResourceArray(This,resources,offset,count)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectShaderResourceVariable_IsValid(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectShaderResourceVariable_GetType(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderResourceVariable_GetDesc(ID3D10EffectShaderResourceVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetAnnotationByIndex(ID3D10EffectShaderResourceVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetAnnotationByName(ID3D10EffectShaderResourceVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetMemberByIndex(ID3D10EffectShaderResourceVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetMemberByName(ID3D10EffectShaderResourceVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetMemberBySemantic(ID3D10EffectShaderResourceVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetElement(ID3D10EffectShaderResourceVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectShaderResourceVariable_GetParentConstantBuffer(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectShaderResourceVariable_AsScalar(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectShaderResourceVariable_AsVector(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectShaderResourceVariable_AsMatrix(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectShaderResourceVariable_AsString(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectShaderResourceVariable_AsShaderResource(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectShaderResourceVariable_AsRenderTargetView(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectShaderResourceVariable_AsDepthStencilView(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectShaderResourceVariable_AsConstantBuffer(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectShaderResourceVariable_AsShader(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectShaderResourceVariable_AsBlend(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectShaderResourceVariable_AsDepthStencil(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectShaderResourceVariable_AsRasterizer(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectShaderResourceVariable_AsSampler(ID3D10EffectShaderResourceVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderResourceVariable_SetRawValue(ID3D10EffectShaderResourceVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderResourceVariable_GetRawValue(ID3D10EffectShaderResourceVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectShaderResourceVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectShaderResourceVariable_SetResource(ID3D10EffectShaderResourceVariable* This,ID3D10ShaderResourceView *resource) {
+    return This->lpVtbl->SetResource(This,resource);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderResourceVariable_GetResource(ID3D10EffectShaderResourceVariable* This,ID3D10ShaderResourceView **resource) {
+    return This->lpVtbl->GetResource(This,resource);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderResourceVariable_SetResourceArray(ID3D10EffectShaderResourceVariable* This,ID3D10ShaderResourceView **resources,UINT offset,UINT count) {
+    return This->lpVtbl->SetResourceArray(This,resources,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderResourceVariable_GetResourceArray(ID3D10EffectShaderResourceVariable* This,ID3D10ShaderResourceView **resources,UINT offset,UINT count) {
+    return This->lpVtbl->GetResourceArray(This,resources,offset,count);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectShaderResourceVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectRenderTargetViewVariable interface
+ */
+#ifndef __ID3D10EffectRenderTargetViewVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectRenderTargetViewVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectRenderTargetViewVariable, 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5,0x7f, 0x67,0xb7,0x37,0x12,0x2b,0x17);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("28ca0cc3-c2c9-40bb-b57f-67b737122b17")
+ID3D10EffectRenderTargetViewVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE SetRenderTarget(
+        ID3D10RenderTargetView *view) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetRenderTarget(
+        ID3D10RenderTargetView **view) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetRenderTargetArray(
+        ID3D10RenderTargetView **views,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetRenderTargetArray(
+        ID3D10RenderTargetView **views,
+        UINT offset,
+        UINT count) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectRenderTargetViewVariable, 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5,0x7f, 0x67,0xb7,0x37,0x12,0x2b,0x17)
+#endif
+#else
+typedef struct ID3D10EffectRenderTargetViewVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectRenderTargetViewVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectRenderTargetViewVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *SetRenderTarget)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        ID3D10RenderTargetView *view);
+
+    HRESULT (STDMETHODCALLTYPE *GetRenderTarget)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        ID3D10RenderTargetView **view);
+
+    HRESULT (STDMETHODCALLTYPE *SetRenderTargetArray)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        ID3D10RenderTargetView **views,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRenderTargetArray)(
+        ID3D10EffectRenderTargetViewVariable *This,
+        ID3D10RenderTargetView **views,
+        UINT offset,
+        UINT count);
+
+    END_INTERFACE
+} ID3D10EffectRenderTargetViewVariableVtbl;
+
+interface ID3D10EffectRenderTargetViewVariable {
+    CONST_VTBL ID3D10EffectRenderTargetViewVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectRenderTargetViewVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectRenderTargetViewVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectRenderTargetViewVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectRenderTargetViewVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectRenderTargetViewVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectRenderTargetViewVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectRenderTargetViewVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectRenderTargetViewVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectRenderTargetViewVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectRenderTargetViewVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectRenderTargetViewVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectRenderTargetViewVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectRenderTargetViewVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectRenderTargetViewVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectRenderTargetViewVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectRenderTargetViewVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectRenderTargetViewVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectRenderTargetViewVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectRenderTargetViewVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectRenderTargetViewVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectRenderTargetViewVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectRenderTargetViewVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectRenderTargetViewVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectRenderTargetViewVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectRenderTargetViewVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectRenderTargetViewVariable methods ***/
+#define ID3D10EffectRenderTargetViewVariable_SetRenderTarget(This,view) (This)->lpVtbl->SetRenderTarget(This,view)
+#define ID3D10EffectRenderTargetViewVariable_GetRenderTarget(This,view) (This)->lpVtbl->GetRenderTarget(This,view)
+#define ID3D10EffectRenderTargetViewVariable_SetRenderTargetArray(This,views,offset,count) (This)->lpVtbl->SetRenderTargetArray(This,views,offset,count)
+#define ID3D10EffectRenderTargetViewVariable_GetRenderTargetArray(This,views,offset,count) (This)->lpVtbl->GetRenderTargetArray(This,views,offset,count)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectRenderTargetViewVariable_IsValid(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectRenderTargetViewVariable_GetType(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRenderTargetViewVariable_GetDesc(ID3D10EffectRenderTargetViewVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetAnnotationByIndex(ID3D10EffectRenderTargetViewVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetAnnotationByName(ID3D10EffectRenderTargetViewVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetMemberByIndex(ID3D10EffectRenderTargetViewVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetMemberByName(ID3D10EffectRenderTargetViewVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetMemberBySemantic(ID3D10EffectRenderTargetViewVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetElement(ID3D10EffectRenderTargetViewVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectRenderTargetViewVariable_GetParentConstantBuffer(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectRenderTargetViewVariable_AsScalar(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectRenderTargetViewVariable_AsVector(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectRenderTargetViewVariable_AsMatrix(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectRenderTargetViewVariable_AsString(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectRenderTargetViewVariable_AsShaderResource(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectRenderTargetViewVariable_AsRenderTargetView(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectRenderTargetViewVariable_AsDepthStencilView(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectRenderTargetViewVariable_AsConstantBuffer(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectRenderTargetViewVariable_AsShader(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectRenderTargetViewVariable_AsBlend(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectRenderTargetViewVariable_AsDepthStencil(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectRenderTargetViewVariable_AsRasterizer(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectRenderTargetViewVariable_AsSampler(ID3D10EffectRenderTargetViewVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRenderTargetViewVariable_SetRawValue(ID3D10EffectRenderTargetViewVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRenderTargetViewVariable_GetRawValue(ID3D10EffectRenderTargetViewVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectRenderTargetViewVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectRenderTargetViewVariable_SetRenderTarget(ID3D10EffectRenderTargetViewVariable* This,ID3D10RenderTargetView *view) {
+    return This->lpVtbl->SetRenderTarget(This,view);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRenderTargetViewVariable_GetRenderTarget(ID3D10EffectRenderTargetViewVariable* This,ID3D10RenderTargetView **view) {
+    return This->lpVtbl->GetRenderTarget(This,view);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRenderTargetViewVariable_SetRenderTargetArray(ID3D10EffectRenderTargetViewVariable* This,ID3D10RenderTargetView **views,UINT offset,UINT count) {
+    return This->lpVtbl->SetRenderTargetArray(This,views,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRenderTargetViewVariable_GetRenderTargetArray(ID3D10EffectRenderTargetViewVariable* This,ID3D10RenderTargetView **views,UINT offset,UINT count) {
+    return This->lpVtbl->GetRenderTargetArray(This,views,offset,count);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectRenderTargetViewVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectDepthStencilViewVariable interface
+ */
+#ifndef __ID3D10EffectDepthStencilViewVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectDepthStencilViewVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectDepthStencilViewVariable, 0x3e02c918, 0xcc79, 0x4985, 0xb6,0x22, 0x2d,0x92,0xad,0x70,0x16,0x23);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("3e02c918-cc79-4985-b622-2d92ad701623")
+ID3D10EffectDepthStencilViewVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE SetDepthStencil(
+        ID3D10DepthStencilView *view) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDepthStencil(
+        ID3D10DepthStencilView **view) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE SetDepthStencilArray(
+        ID3D10DepthStencilView **views,
+        UINT offset,
+        UINT count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDepthStencilArray(
+        ID3D10DepthStencilView **views,
+        UINT offset,
+        UINT count) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectDepthStencilViewVariable, 0x3e02c918, 0xcc79, 0x4985, 0xb6,0x22, 0x2d,0x92,0xad,0x70,0x16,0x23)
+#endif
+#else
+typedef struct ID3D10EffectDepthStencilViewVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectDepthStencilViewVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectDepthStencilViewVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *SetDepthStencil)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        ID3D10DepthStencilView *view);
+
+    HRESULT (STDMETHODCALLTYPE *GetDepthStencil)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        ID3D10DepthStencilView **view);
+
+    HRESULT (STDMETHODCALLTYPE *SetDepthStencilArray)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        ID3D10DepthStencilView **views,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetDepthStencilArray)(
+        ID3D10EffectDepthStencilViewVariable *This,
+        ID3D10DepthStencilView **views,
+        UINT offset,
+        UINT count);
+
+    END_INTERFACE
+} ID3D10EffectDepthStencilViewVariableVtbl;
+
+interface ID3D10EffectDepthStencilViewVariable {
+    CONST_VTBL ID3D10EffectDepthStencilViewVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectDepthStencilViewVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectDepthStencilViewVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectDepthStencilViewVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectDepthStencilViewVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectDepthStencilViewVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectDepthStencilViewVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectDepthStencilViewVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectDepthStencilViewVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectDepthStencilViewVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectDepthStencilViewVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectDepthStencilViewVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectDepthStencilViewVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectDepthStencilViewVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectDepthStencilViewVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectDepthStencilViewVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectDepthStencilViewVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectDepthStencilViewVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectDepthStencilViewVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectDepthStencilViewVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectDepthStencilViewVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectDepthStencilViewVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectDepthStencilViewVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectDepthStencilViewVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectDepthStencilViewVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectDepthStencilViewVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectDepthStencilViewVariable methods ***/
+#define ID3D10EffectDepthStencilViewVariable_SetDepthStencil(This,view) (This)->lpVtbl->SetDepthStencil(This,view)
+#define ID3D10EffectDepthStencilViewVariable_GetDepthStencil(This,view) (This)->lpVtbl->GetDepthStencil(This,view)
+#define ID3D10EffectDepthStencilViewVariable_SetDepthStencilArray(This,views,offset,count) (This)->lpVtbl->SetDepthStencilArray(This,views,offset,count)
+#define ID3D10EffectDepthStencilViewVariable_GetDepthStencilArray(This,views,offset,count) (This)->lpVtbl->GetDepthStencilArray(This,views,offset,count)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectDepthStencilViewVariable_IsValid(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectDepthStencilViewVariable_GetType(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilViewVariable_GetDesc(ID3D10EffectDepthStencilViewVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetAnnotationByIndex(ID3D10EffectDepthStencilViewVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetAnnotationByName(ID3D10EffectDepthStencilViewVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetMemberByIndex(ID3D10EffectDepthStencilViewVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetMemberByName(ID3D10EffectDepthStencilViewVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetMemberBySemantic(ID3D10EffectDepthStencilViewVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetElement(ID3D10EffectDepthStencilViewVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectDepthStencilViewVariable_GetParentConstantBuffer(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectDepthStencilViewVariable_AsScalar(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectDepthStencilViewVariable_AsVector(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectDepthStencilViewVariable_AsMatrix(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectDepthStencilViewVariable_AsString(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectDepthStencilViewVariable_AsShaderResource(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectDepthStencilViewVariable_AsRenderTargetView(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectDepthStencilViewVariable_AsDepthStencilView(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectDepthStencilViewVariable_AsConstantBuffer(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectDepthStencilViewVariable_AsShader(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectDepthStencilViewVariable_AsBlend(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectDepthStencilViewVariable_AsDepthStencil(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectDepthStencilViewVariable_AsRasterizer(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectDepthStencilViewVariable_AsSampler(ID3D10EffectDepthStencilViewVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilViewVariable_SetRawValue(ID3D10EffectDepthStencilViewVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilViewVariable_GetRawValue(ID3D10EffectDepthStencilViewVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectDepthStencilViewVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilViewVariable_SetDepthStencil(ID3D10EffectDepthStencilViewVariable* This,ID3D10DepthStencilView *view) {
+    return This->lpVtbl->SetDepthStencil(This,view);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilViewVariable_GetDepthStencil(ID3D10EffectDepthStencilViewVariable* This,ID3D10DepthStencilView **view) {
+    return This->lpVtbl->GetDepthStencil(This,view);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilViewVariable_SetDepthStencilArray(ID3D10EffectDepthStencilViewVariable* This,ID3D10DepthStencilView **views,UINT offset,UINT count) {
+    return This->lpVtbl->SetDepthStencilArray(This,views,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilViewVariable_GetDepthStencilArray(ID3D10EffectDepthStencilViewVariable* This,ID3D10DepthStencilView **views,UINT offset,UINT count) {
+    return This->lpVtbl->GetDepthStencilArray(This,views,offset,count);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectDepthStencilViewVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectShaderVariable interface
+ */
+#ifndef __ID3D10EffectShaderVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectShaderVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c,0x33, 0x04,0x07,0xa0,0x7d,0x9e,0x06);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("80849279-c799-4797-8c33-0407a07d9e06")
+ID3D10EffectShaderVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE GetShaderDesc(
+        UINT index,
+        D3D10_EFFECT_SHADER_DESC *desc) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetVertexShader(
+        UINT index,
+        ID3D10VertexShader **shader) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetGeometryShader(
+        UINT index,
+        ID3D10GeometryShader **shader) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetPixelShader(
+        UINT index,
+        ID3D10PixelShader **shader) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetInputSignatureElementDesc(
+        UINT shader_index,
+        UINT element_index,
+        D3D10_SIGNATURE_PARAMETER_DESC *desc) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetOutputSignatureElementDesc(
+        UINT shader_index,
+        UINT element_index,
+        D3D10_SIGNATURE_PARAMETER_DESC *desc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c,0x33, 0x04,0x07,0xa0,0x7d,0x9e,0x06)
+#endif
+#else
+typedef struct ID3D10EffectShaderVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectShaderVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectShaderVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectShaderVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectShaderVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectShaderVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectShaderVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectShaderVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectShaderVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectShaderVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectShaderVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectShaderVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectShaderVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectShaderVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetShaderDesc)(
+        ID3D10EffectShaderVariable *This,
+        UINT index,
+        D3D10_EFFECT_SHADER_DESC *desc);
+
+    HRESULT (STDMETHODCALLTYPE *GetVertexShader)(
+        ID3D10EffectShaderVariable *This,
+        UINT index,
+        ID3D10VertexShader **shader);
+
+    HRESULT (STDMETHODCALLTYPE *GetGeometryShader)(
+        ID3D10EffectShaderVariable *This,
+        UINT index,
+        ID3D10GeometryShader **shader);
+
+    HRESULT (STDMETHODCALLTYPE *GetPixelShader)(
+        ID3D10EffectShaderVariable *This,
+        UINT index,
+        ID3D10PixelShader **shader);
+
+    HRESULT (STDMETHODCALLTYPE *GetInputSignatureElementDesc)(
+        ID3D10EffectShaderVariable *This,
+        UINT shader_index,
+        UINT element_index,
+        D3D10_SIGNATURE_PARAMETER_DESC *desc);
+
+    HRESULT (STDMETHODCALLTYPE *GetOutputSignatureElementDesc)(
+        ID3D10EffectShaderVariable *This,
+        UINT shader_index,
+        UINT element_index,
+        D3D10_SIGNATURE_PARAMETER_DESC *desc);
+
+    END_INTERFACE
+} ID3D10EffectShaderVariableVtbl;
+
+interface ID3D10EffectShaderVariable {
+    CONST_VTBL ID3D10EffectShaderVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectShaderVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectShaderVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectShaderVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectShaderVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectShaderVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectShaderVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectShaderVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectShaderVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectShaderVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectShaderVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectShaderVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectShaderVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectShaderVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectShaderVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectShaderVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectShaderVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectShaderVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectShaderVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectShaderVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectShaderVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectShaderVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectShaderVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectShaderVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectShaderVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectShaderVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectShaderVariable methods ***/
+#define ID3D10EffectShaderVariable_GetShaderDesc(This,index,desc) (This)->lpVtbl->GetShaderDesc(This,index,desc)
+#define ID3D10EffectShaderVariable_GetVertexShader(This,index,shader) (This)->lpVtbl->GetVertexShader(This,index,shader)
+#define ID3D10EffectShaderVariable_GetGeometryShader(This,index,shader) (This)->lpVtbl->GetGeometryShader(This,index,shader)
+#define ID3D10EffectShaderVariable_GetPixelShader(This,index,shader) (This)->lpVtbl->GetPixelShader(This,index,shader)
+#define ID3D10EffectShaderVariable_GetInputSignatureElementDesc(This,shader_index,element_index,desc) (This)->lpVtbl->GetInputSignatureElementDesc(This,shader_index,element_index,desc)
+#define ID3D10EffectShaderVariable_GetOutputSignatureElementDesc(This,shader_index,element_index,desc) (This)->lpVtbl->GetOutputSignatureElementDesc(This,shader_index,element_index,desc)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectShaderVariable_IsValid(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectShaderVariable_GetType(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_GetDesc(ID3D10EffectShaderVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderVariable_GetAnnotationByIndex(ID3D10EffectShaderVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderVariable_GetAnnotationByName(ID3D10EffectShaderVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderVariable_GetMemberByIndex(ID3D10EffectShaderVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderVariable_GetMemberByName(ID3D10EffectShaderVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderVariable_GetMemberBySemantic(ID3D10EffectShaderVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectShaderVariable_GetElement(ID3D10EffectShaderVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectShaderVariable_GetParentConstantBuffer(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectShaderVariable_AsScalar(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectShaderVariable_AsVector(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectShaderVariable_AsMatrix(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectShaderVariable_AsString(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectShaderVariable_AsShaderResource(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectShaderVariable_AsRenderTargetView(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectShaderVariable_AsDepthStencilView(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectShaderVariable_AsConstantBuffer(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectShaderVariable_AsShader(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectShaderVariable_AsBlend(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectShaderVariable_AsDepthStencil(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectShaderVariable_AsRasterizer(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectShaderVariable_AsSampler(ID3D10EffectShaderVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_SetRawValue(ID3D10EffectShaderVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_GetRawValue(ID3D10EffectShaderVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectShaderVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_GetShaderDesc(ID3D10EffectShaderVariable* This,UINT index,D3D10_EFFECT_SHADER_DESC *desc) {
+    return This->lpVtbl->GetShaderDesc(This,index,desc);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_GetVertexShader(ID3D10EffectShaderVariable* This,UINT index,ID3D10VertexShader **shader) {
+    return This->lpVtbl->GetVertexShader(This,index,shader);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_GetGeometryShader(ID3D10EffectShaderVariable* This,UINT index,ID3D10GeometryShader **shader) {
+    return This->lpVtbl->GetGeometryShader(This,index,shader);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_GetPixelShader(ID3D10EffectShaderVariable* This,UINT index,ID3D10PixelShader **shader) {
+    return This->lpVtbl->GetPixelShader(This,index,shader);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_GetInputSignatureElementDesc(ID3D10EffectShaderVariable* This,UINT shader_index,UINT element_index,D3D10_SIGNATURE_PARAMETER_DESC *desc) {
+    return This->lpVtbl->GetInputSignatureElementDesc(This,shader_index,element_index,desc);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectShaderVariable_GetOutputSignatureElementDesc(ID3D10EffectShaderVariable* This,UINT shader_index,UINT element_index,D3D10_SIGNATURE_PARAMETER_DESC *desc) {
+    return This->lpVtbl->GetOutputSignatureElementDesc(This,shader_index,element_index,desc);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectShaderVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectBlendVariable interface
+ */
+#ifndef __ID3D10EffectBlendVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectBlendVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86,0xb3, 0x0e,0x91,0x60,0xcf,0xb0,0x7b);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("1fcd2294-df6d-4eae-86b3-0e9160cfb07b")
+ID3D10EffectBlendVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE GetBlendState(
+        UINT index,
+        ID3D10BlendState **blend_state) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetBackingStore(
+        UINT index,
+        D3D10_BLEND_DESC *desc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86,0xb3, 0x0e,0x91,0x60,0xcf,0xb0,0x7b)
+#endif
+#else
+typedef struct ID3D10EffectBlendVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectBlendVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectBlendVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectBlendVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectBlendVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectBlendVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectBlendVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectBlendVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectBlendVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectBlendVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectBlendVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectBlendVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectBlendVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectBlendVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetBlendState)(
+        ID3D10EffectBlendVariable *This,
+        UINT index,
+        ID3D10BlendState **blend_state);
+
+    HRESULT (STDMETHODCALLTYPE *GetBackingStore)(
+        ID3D10EffectBlendVariable *This,
+        UINT index,
+        D3D10_BLEND_DESC *desc);
+
+    END_INTERFACE
+} ID3D10EffectBlendVariableVtbl;
+
+interface ID3D10EffectBlendVariable {
+    CONST_VTBL ID3D10EffectBlendVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectBlendVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectBlendVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectBlendVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectBlendVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectBlendVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectBlendVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectBlendVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectBlendVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectBlendVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectBlendVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectBlendVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectBlendVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectBlendVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectBlendVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectBlendVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectBlendVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectBlendVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectBlendVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectBlendVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectBlendVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectBlendVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectBlendVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectBlendVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectBlendVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectBlendVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectBlendVariable methods ***/
+#define ID3D10EffectBlendVariable_GetBlendState(This,index,blend_state) (This)->lpVtbl->GetBlendState(This,index,blend_state)
+#define ID3D10EffectBlendVariable_GetBackingStore(This,index,desc) (This)->lpVtbl->GetBackingStore(This,index,desc)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectBlendVariable_IsValid(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectBlendVariable_GetType(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectBlendVariable_GetDesc(ID3D10EffectBlendVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectBlendVariable_GetAnnotationByIndex(ID3D10EffectBlendVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectBlendVariable_GetAnnotationByName(ID3D10EffectBlendVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectBlendVariable_GetMemberByIndex(ID3D10EffectBlendVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectBlendVariable_GetMemberByName(ID3D10EffectBlendVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectBlendVariable_GetMemberBySemantic(ID3D10EffectBlendVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectBlendVariable_GetElement(ID3D10EffectBlendVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectBlendVariable_GetParentConstantBuffer(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectBlendVariable_AsScalar(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectBlendVariable_AsVector(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectBlendVariable_AsMatrix(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectBlendVariable_AsString(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectBlendVariable_AsShaderResource(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectBlendVariable_AsRenderTargetView(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectBlendVariable_AsDepthStencilView(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectBlendVariable_AsConstantBuffer(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectBlendVariable_AsShader(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectBlendVariable_AsBlend(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectBlendVariable_AsDepthStencil(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectBlendVariable_AsRasterizer(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectBlendVariable_AsSampler(ID3D10EffectBlendVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectBlendVariable_SetRawValue(ID3D10EffectBlendVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectBlendVariable_GetRawValue(ID3D10EffectBlendVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectBlendVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectBlendVariable_GetBlendState(ID3D10EffectBlendVariable* This,UINT index,ID3D10BlendState **blend_state) {
+    return This->lpVtbl->GetBlendState(This,index,blend_state);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectBlendVariable_GetBackingStore(ID3D10EffectBlendVariable* This,UINT index,D3D10_BLEND_DESC *desc) {
+    return This->lpVtbl->GetBackingStore(This,index,desc);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectBlendVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectDepthStencilVariable interface
+ */
+#ifndef __ID3D10EffectDepthStencilVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectDepthStencilVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectDepthStencilVariable, 0xaf482368, 0x330a, 0x46a5, 0x9a,0x5c, 0x01,0xc7,0x1a,0xf2,0x4c,0x8d);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("af482368-330a-46a5-9a5c-01c71af24c8d")
+ID3D10EffectDepthStencilVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE GetDepthStencilState(
+        UINT index,
+        ID3D10DepthStencilState **depth_stencil_state) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetBackingStore(
+        UINT index,
+        D3D10_DEPTH_STENCIL_DESC *desc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectDepthStencilVariable, 0xaf482368, 0x330a, 0x46a5, 0x9a,0x5c, 0x01,0xc7,0x1a,0xf2,0x4c,0x8d)
+#endif
+#else
+typedef struct ID3D10EffectDepthStencilVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectDepthStencilVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectDepthStencilVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectDepthStencilVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectDepthStencilVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectDepthStencilVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectDepthStencilVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectDepthStencilVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectDepthStencilVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectDepthStencilVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectDepthStencilVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectDepthStencilVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetDepthStencilState)(
+        ID3D10EffectDepthStencilVariable *This,
+        UINT index,
+        ID3D10DepthStencilState **depth_stencil_state);
+
+    HRESULT (STDMETHODCALLTYPE *GetBackingStore)(
+        ID3D10EffectDepthStencilVariable *This,
+        UINT index,
+        D3D10_DEPTH_STENCIL_DESC *desc);
+
+    END_INTERFACE
+} ID3D10EffectDepthStencilVariableVtbl;
+
+interface ID3D10EffectDepthStencilVariable {
+    CONST_VTBL ID3D10EffectDepthStencilVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectDepthStencilVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectDepthStencilVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectDepthStencilVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectDepthStencilVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectDepthStencilVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectDepthStencilVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectDepthStencilVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectDepthStencilVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectDepthStencilVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectDepthStencilVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectDepthStencilVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectDepthStencilVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectDepthStencilVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectDepthStencilVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectDepthStencilVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectDepthStencilVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectDepthStencilVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectDepthStencilVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectDepthStencilVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectDepthStencilVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectDepthStencilVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectDepthStencilVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectDepthStencilVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectDepthStencilVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectDepthStencilVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectDepthStencilVariable methods ***/
+#define ID3D10EffectDepthStencilVariable_GetDepthStencilState(This,index,depth_stencil_state) (This)->lpVtbl->GetDepthStencilState(This,index,depth_stencil_state)
+#define ID3D10EffectDepthStencilVariable_GetBackingStore(This,index,desc) (This)->lpVtbl->GetBackingStore(This,index,desc)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectDepthStencilVariable_IsValid(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectDepthStencilVariable_GetType(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilVariable_GetDesc(ID3D10EffectDepthStencilVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetAnnotationByIndex(ID3D10EffectDepthStencilVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetAnnotationByName(ID3D10EffectDepthStencilVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetMemberByIndex(ID3D10EffectDepthStencilVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetMemberByName(ID3D10EffectDepthStencilVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetMemberBySemantic(ID3D10EffectDepthStencilVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetElement(ID3D10EffectDepthStencilVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectDepthStencilVariable_GetParentConstantBuffer(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectDepthStencilVariable_AsScalar(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectDepthStencilVariable_AsVector(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectDepthStencilVariable_AsMatrix(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectDepthStencilVariable_AsString(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectDepthStencilVariable_AsShaderResource(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectDepthStencilVariable_AsRenderTargetView(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectDepthStencilVariable_AsDepthStencilView(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectDepthStencilVariable_AsConstantBuffer(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectDepthStencilVariable_AsShader(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectDepthStencilVariable_AsBlend(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectDepthStencilVariable_AsDepthStencil(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectDepthStencilVariable_AsRasterizer(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectDepthStencilVariable_AsSampler(ID3D10EffectDepthStencilVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilVariable_SetRawValue(ID3D10EffectDepthStencilVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilVariable_GetRawValue(ID3D10EffectDepthStencilVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectDepthStencilVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilVariable_GetDepthStencilState(ID3D10EffectDepthStencilVariable* This,UINT index,ID3D10DepthStencilState **depth_stencil_state) {
+    return This->lpVtbl->GetDepthStencilState(This,index,depth_stencil_state);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectDepthStencilVariable_GetBackingStore(ID3D10EffectDepthStencilVariable* This,UINT index,D3D10_DEPTH_STENCIL_DESC *desc) {
+    return This->lpVtbl->GetBackingStore(This,index,desc);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectDepthStencilVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectRasterizerVariable interface
+ */
+#ifndef __ID3D10EffectRasterizerVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectRasterizerVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectRasterizerVariable, 0x21af9f0e, 0x4d94, 0x4ea9, 0x97,0x85, 0x2c,0xb7,0x6b,0x8c,0x0b,0x34);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("21af9f0e-4d94-4ea9-9785-2cb76b8c0b34")
+ID3D10EffectRasterizerVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE GetRasterizerState(
+        UINT index,
+        ID3D10RasterizerState **rasterizer_state) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetBackingStore(
+        UINT index,
+        D3D10_RASTERIZER_DESC *desc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectRasterizerVariable, 0x21af9f0e, 0x4d94, 0x4ea9, 0x97,0x85, 0x2c,0xb7,0x6b,0x8c,0x0b,0x34)
+#endif
+#else
+typedef struct ID3D10EffectRasterizerVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectRasterizerVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectRasterizerVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectRasterizerVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectRasterizerVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectRasterizerVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectRasterizerVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectRasterizerVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectRasterizerVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectRasterizerVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectRasterizerVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectRasterizerVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectRasterizerVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectRasterizerVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetRasterizerState)(
+        ID3D10EffectRasterizerVariable *This,
+        UINT index,
+        ID3D10RasterizerState **rasterizer_state);
+
+    HRESULT (STDMETHODCALLTYPE *GetBackingStore)(
+        ID3D10EffectRasterizerVariable *This,
+        UINT index,
+        D3D10_RASTERIZER_DESC *desc);
+
+    END_INTERFACE
+} ID3D10EffectRasterizerVariableVtbl;
+
+interface ID3D10EffectRasterizerVariable {
+    CONST_VTBL ID3D10EffectRasterizerVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectRasterizerVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectRasterizerVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectRasterizerVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectRasterizerVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectRasterizerVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectRasterizerVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectRasterizerVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectRasterizerVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectRasterizerVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectRasterizerVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectRasterizerVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectRasterizerVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectRasterizerVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectRasterizerVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectRasterizerVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectRasterizerVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectRasterizerVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectRasterizerVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectRasterizerVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectRasterizerVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectRasterizerVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectRasterizerVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectRasterizerVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectRasterizerVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectRasterizerVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectRasterizerVariable methods ***/
+#define ID3D10EffectRasterizerVariable_GetRasterizerState(This,index,rasterizer_state) (This)->lpVtbl->GetRasterizerState(This,index,rasterizer_state)
+#define ID3D10EffectRasterizerVariable_GetBackingStore(This,index,desc) (This)->lpVtbl->GetBackingStore(This,index,desc)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectRasterizerVariable_IsValid(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectRasterizerVariable_GetType(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRasterizerVariable_GetDesc(ID3D10EffectRasterizerVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetAnnotationByIndex(ID3D10EffectRasterizerVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetAnnotationByName(ID3D10EffectRasterizerVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetMemberByIndex(ID3D10EffectRasterizerVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetMemberByName(ID3D10EffectRasterizerVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetMemberBySemantic(ID3D10EffectRasterizerVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetElement(ID3D10EffectRasterizerVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectRasterizerVariable_GetParentConstantBuffer(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectRasterizerVariable_AsScalar(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectRasterizerVariable_AsVector(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectRasterizerVariable_AsMatrix(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectRasterizerVariable_AsString(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectRasterizerVariable_AsShaderResource(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectRasterizerVariable_AsRenderTargetView(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectRasterizerVariable_AsDepthStencilView(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectRasterizerVariable_AsConstantBuffer(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectRasterizerVariable_AsShader(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectRasterizerVariable_AsBlend(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectRasterizerVariable_AsDepthStencil(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectRasterizerVariable_AsRasterizer(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectRasterizerVariable_AsSampler(ID3D10EffectRasterizerVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRasterizerVariable_SetRawValue(ID3D10EffectRasterizerVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRasterizerVariable_GetRawValue(ID3D10EffectRasterizerVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectRasterizerVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectRasterizerVariable_GetRasterizerState(ID3D10EffectRasterizerVariable* This,UINT index,ID3D10RasterizerState **rasterizer_state) {
+    return This->lpVtbl->GetRasterizerState(This,index,rasterizer_state);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectRasterizerVariable_GetBackingStore(ID3D10EffectRasterizerVariable* This,UINT index,D3D10_RASTERIZER_DESC *desc) {
+    return This->lpVtbl->GetBackingStore(This,index,desc);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectRasterizerVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectSamplerVariable interface
+ */
+#ifndef __ID3D10EffectSamplerVariable_INTERFACE_DEFINED__
+#define __ID3D10EffectSamplerVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectSamplerVariable, 0x6530d5c7, 0x07e9, 0x4271, 0xa4,0x18, 0xe7,0xce,0x4b,0xd1,0xe4,0x80);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("6530d5c7-07e9-4271-a418-e7ce4bd1e480")
+ID3D10EffectSamplerVariable : public ID3D10EffectVariable
+{
+    virtual HRESULT STDMETHODCALLTYPE GetSampler(
+        UINT index,
+        ID3D10SamplerState **sampler) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetBackingStore(
+        UINT index,
+        D3D10_SAMPLER_DESC *desc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectSamplerVariable, 0x6530d5c7, 0x07e9, 0x4271, 0xa4,0x18, 0xe7,0xce,0x4b,0xd1,0xe4,0x80)
+#endif
+#else
+typedef struct ID3D10EffectSamplerVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectVariable methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10EffectSamplerVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectSamplerVariable *This,
+        D3D10_EFFECT_VARIABLE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectSamplerVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectSamplerVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
+        ID3D10EffectSamplerVariable *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
+        ID3D10EffectSamplerVariable *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
+        ID3D10EffectSamplerVariable *This,
+        const char *semantic);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
+        ID3D10EffectSamplerVariable *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
+        ID3D10EffectSamplerVariable *This);
+
+    ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
+        ID3D10EffectSamplerVariable *This);
+
+    HRESULT (STDMETHODCALLTYPE *SetRawValue)(
+        ID3D10EffectSamplerVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    HRESULT (STDMETHODCALLTYPE *GetRawValue)(
+        ID3D10EffectSamplerVariable *This,
+        void *data,
+        UINT offset,
+        UINT count);
+
+    /*** ID3D10EffectSamplerVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetSampler)(
+        ID3D10EffectSamplerVariable *This,
+        UINT index,
+        ID3D10SamplerState **sampler);
+
+    HRESULT (STDMETHODCALLTYPE *GetBackingStore)(
+        ID3D10EffectSamplerVariable *This,
+        UINT index,
+        D3D10_SAMPLER_DESC *desc);
+
+    END_INTERFACE
+} ID3D10EffectSamplerVariableVtbl;
+
+interface ID3D10EffectSamplerVariable {
+    CONST_VTBL ID3D10EffectSamplerVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectVariable methods ***/
+#define ID3D10EffectSamplerVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectSamplerVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D10EffectSamplerVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectSamplerVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectSamplerVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectSamplerVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
+#define ID3D10EffectSamplerVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
+#define ID3D10EffectSamplerVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
+#define ID3D10EffectSamplerVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
+#define ID3D10EffectSamplerVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
+#define ID3D10EffectSamplerVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
+#define ID3D10EffectSamplerVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
+#define ID3D10EffectSamplerVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
+#define ID3D10EffectSamplerVariable_AsString(This) (This)->lpVtbl->AsString(This)
+#define ID3D10EffectSamplerVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
+#define ID3D10EffectSamplerVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
+#define ID3D10EffectSamplerVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
+#define ID3D10EffectSamplerVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
+#define ID3D10EffectSamplerVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
+#define ID3D10EffectSamplerVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
+#define ID3D10EffectSamplerVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
+#define ID3D10EffectSamplerVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
+#define ID3D10EffectSamplerVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
+#define ID3D10EffectSamplerVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
+#define ID3D10EffectSamplerVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
+/*** ID3D10EffectSamplerVariable methods ***/
+#define ID3D10EffectSamplerVariable_GetSampler(This,index,sampler) (This)->lpVtbl->GetSampler(This,index,sampler)
+#define ID3D10EffectSamplerVariable_GetBackingStore(This,index,desc) (This)->lpVtbl->GetBackingStore(This,index,desc)
+#else
+/*** ID3D10EffectVariable methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectSamplerVariable_IsValid(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE ID3D10EffectType * ID3D10EffectSamplerVariable_GetType(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectSamplerVariable_GetDesc(ID3D10EffectSamplerVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetAnnotationByIndex(ID3D10EffectSamplerVariable* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetAnnotationByName(ID3D10EffectSamplerVariable* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetMemberByIndex(ID3D10EffectSamplerVariable* This,UINT index) {
+    return This->lpVtbl->GetMemberByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetMemberByName(ID3D10EffectSamplerVariable* This,const char *name) {
+    return This->lpVtbl->GetMemberByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetMemberBySemantic(ID3D10EffectSamplerVariable* This,const char *semantic) {
+    return This->lpVtbl->GetMemberBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetElement(ID3D10EffectSamplerVariable* This,UINT index) {
+    return This->lpVtbl->GetElement(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectSamplerVariable_GetParentConstantBuffer(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->GetParentConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectScalarVariable * ID3D10EffectSamplerVariable_AsScalar(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsScalar(This);
+}
+static __WIDL_INLINE ID3D10EffectVectorVariable * ID3D10EffectSamplerVariable_AsVector(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsVector(This);
+}
+static __WIDL_INLINE ID3D10EffectMatrixVariable * ID3D10EffectSamplerVariable_AsMatrix(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsMatrix(This);
+}
+static __WIDL_INLINE ID3D10EffectStringVariable * ID3D10EffectSamplerVariable_AsString(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsString(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderResourceVariable * ID3D10EffectSamplerVariable_AsShaderResource(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsShaderResource(This);
+}
+static __WIDL_INLINE ID3D10EffectRenderTargetViewVariable * ID3D10EffectSamplerVariable_AsRenderTargetView(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsRenderTargetView(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilViewVariable * ID3D10EffectSamplerVariable_AsDepthStencilView(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsDepthStencilView(This);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10EffectSamplerVariable_AsConstantBuffer(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsConstantBuffer(This);
+}
+static __WIDL_INLINE ID3D10EffectShaderVariable * ID3D10EffectSamplerVariable_AsShader(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsShader(This);
+}
+static __WIDL_INLINE ID3D10EffectBlendVariable * ID3D10EffectSamplerVariable_AsBlend(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsBlend(This);
+}
+static __WIDL_INLINE ID3D10EffectDepthStencilVariable * ID3D10EffectSamplerVariable_AsDepthStencil(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsDepthStencil(This);
+}
+static __WIDL_INLINE ID3D10EffectRasterizerVariable * ID3D10EffectSamplerVariable_AsRasterizer(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsRasterizer(This);
+}
+static __WIDL_INLINE ID3D10EffectSamplerVariable * ID3D10EffectSamplerVariable_AsSampler(ID3D10EffectSamplerVariable* This) {
+    return This->lpVtbl->AsSampler(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectSamplerVariable_SetRawValue(ID3D10EffectSamplerVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->SetRawValue(This,data,offset,count);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectSamplerVariable_GetRawValue(ID3D10EffectSamplerVariable* This,void *data,UINT offset,UINT count) {
+    return This->lpVtbl->GetRawValue(This,data,offset,count);
+}
+/*** ID3D10EffectSamplerVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectSamplerVariable_GetSampler(ID3D10EffectSamplerVariable* This,UINT index,ID3D10SamplerState **sampler) {
+    return This->lpVtbl->GetSampler(This,index,sampler);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectSamplerVariable_GetBackingStore(ID3D10EffectSamplerVariable* This,UINT index,D3D10_SAMPLER_DESC *desc) {
+    return This->lpVtbl->GetBackingStore(This,index,desc);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectSamplerVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectTechnique interface
+ */
+#ifndef __ID3D10EffectTechnique_INTERFACE_DEFINED__
+#define __ID3D10EffectTechnique_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2,0x37, 0x24,0xed,0x3d,0xe8,0xb1,0x75);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("db122ce8-d1c9-4292-b237-24ed3de8b175")
+ID3D10EffectTechnique
+{
+
+    BEGIN_INTERFACE
+
+    virtual WINBOOL STDMETHODCALLTYPE IsValid(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_TECHNIQUE_DESC *desc) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByName(
+        const char *name) = 0;
+
+    virtual ID3D10EffectPass * STDMETHODCALLTYPE GetPassByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectPass * STDMETHODCALLTYPE GetPassByName(
+        const char *name) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE ComputeStateBlockMask(
+        D3D10_STATE_BLOCK_MASK *mask) = 0;
+
+    END_INTERFACE
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2,0x37, 0x24,0xed,0x3d,0xe8,0xb1,0x75)
+#endif
+#else
+typedef struct ID3D10EffectTechniqueVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectTechnique methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectTechnique *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectTechnique *This,
+        D3D10_TECHNIQUE_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectTechnique *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectTechnique *This,
+        const char *name);
+
+    ID3D10EffectPass * (STDMETHODCALLTYPE *GetPassByIndex)(
+        ID3D10EffectTechnique *This,
+        UINT index);
+
+    ID3D10EffectPass * (STDMETHODCALLTYPE *GetPassByName)(
+        ID3D10EffectTechnique *This,
+        const char *name);
+
+    HRESULT (STDMETHODCALLTYPE *ComputeStateBlockMask)(
+        ID3D10EffectTechnique *This,
+        D3D10_STATE_BLOCK_MASK *mask);
+
+    END_INTERFACE
+} ID3D10EffectTechniqueVtbl;
+
+interface ID3D10EffectTechnique {
+    CONST_VTBL ID3D10EffectTechniqueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectTechnique methods ***/
+#define ID3D10EffectTechnique_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectTechnique_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectTechnique_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectTechnique_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectTechnique_GetPassByIndex(This,index) (This)->lpVtbl->GetPassByIndex(This,index)
+#define ID3D10EffectTechnique_GetPassByName(This,name) (This)->lpVtbl->GetPassByName(This,name)
+#define ID3D10EffectTechnique_ComputeStateBlockMask(This,mask) (This)->lpVtbl->ComputeStateBlockMask(This,mask)
+#else
+/*** ID3D10EffectTechnique methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectTechnique_IsValid(ID3D10EffectTechnique* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectTechnique_GetDesc(ID3D10EffectTechnique* This,D3D10_TECHNIQUE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectTechnique_GetAnnotationByIndex(ID3D10EffectTechnique* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectTechnique_GetAnnotationByName(ID3D10EffectTechnique* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectPass * ID3D10EffectTechnique_GetPassByIndex(ID3D10EffectTechnique* This,UINT index) {
+    return This->lpVtbl->GetPassByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectPass * ID3D10EffectTechnique_GetPassByName(ID3D10EffectTechnique* This,const char *name) {
+    return This->lpVtbl->GetPassByName(This,name);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectTechnique_ComputeStateBlockMask(ID3D10EffectTechnique* This,D3D10_STATE_BLOCK_MASK *mask) {
+    return This->lpVtbl->ComputeStateBlockMask(This,mask);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectTechnique_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Effect interface
+ */
+#ifndef __ID3D10Effect_INTERFACE_DEFINED__
+#define __ID3D10Effect_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Effect, 0x51b0ca8b, 0xec0b, 0x4519, 0x87,0x0d, 0x8e,0xe1,0xcb,0x50,0x17,0xc7);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("51b0ca8b-ec0b-4519-870d-8ee1cb5017c7")
+ID3D10Effect : public IUnknown
+{
+    virtual WINBOOL STDMETHODCALLTYPE IsValid(
+        ) = 0;
+
+    virtual WINBOOL STDMETHODCALLTYPE IsPool(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDevice(
+        ID3D10Device **device) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_EFFECT_DESC *desc) = 0;
+
+    virtual ID3D10EffectConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByName(
+        const char *name) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetVariableByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetVariableByName(
+        const char *name) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetVariableBySemantic(
+        const char *semantic) = 0;
+
+    virtual ID3D10EffectTechnique * STDMETHODCALLTYPE GetTechniqueByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectTechnique * STDMETHODCALLTYPE GetTechniqueByName(
+        const char *name) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE Optimize(
+        ) = 0;
+
+    virtual WINBOOL STDMETHODCALLTYPE IsOptimized(
+        ) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10Effect, 0x51b0ca8b, 0xec0b, 0x4519, 0x87,0x0d, 0x8e,0xe1,0xcb,0x50,0x17,0xc7)
+#endif
+#else
+typedef struct ID3D10EffectVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        ID3D10Effect *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        ID3D10Effect *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        ID3D10Effect *This);
+
+    /*** ID3D10Effect methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10Effect *This);
+
+    WINBOOL (STDMETHODCALLTYPE *IsPool)(
+        ID3D10Effect *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDevice)(
+        ID3D10Effect *This,
+        ID3D10Device **device);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10Effect *This,
+        D3D10_EFFECT_DESC *desc);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByIndex)(
+        ID3D10Effect *This,
+        UINT index);
+
+    ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByName)(
+        ID3D10Effect *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetVariableByIndex)(
+        ID3D10Effect *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetVariableByName)(
+        ID3D10Effect *This,
+        const char *name);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetVariableBySemantic)(
+        ID3D10Effect *This,
+        const char *semantic);
+
+    ID3D10EffectTechnique * (STDMETHODCALLTYPE *GetTechniqueByIndex)(
+        ID3D10Effect *This,
+        UINT index);
+
+    ID3D10EffectTechnique * (STDMETHODCALLTYPE *GetTechniqueByName)(
+        ID3D10Effect *This,
+        const char *name);
+
+    HRESULT (STDMETHODCALLTYPE *Optimize)(
+        ID3D10Effect *This);
+
+    WINBOOL (STDMETHODCALLTYPE *IsOptimized)(
+        ID3D10Effect *This);
+
+    END_INTERFACE
+} ID3D10EffectVtbl;
+
+interface ID3D10Effect {
+    CONST_VTBL ID3D10EffectVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D10Effect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Effect_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Effect_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10Effect methods ***/
+#define ID3D10Effect_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10Effect_IsPool(This) (This)->lpVtbl->IsPool(This)
+#define ID3D10Effect_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device)
+#define ID3D10Effect_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10Effect_GetConstantBufferByIndex(This,index) (This)->lpVtbl->GetConstantBufferByIndex(This,index)
+#define ID3D10Effect_GetConstantBufferByName(This,name) (This)->lpVtbl->GetConstantBufferByName(This,name)
+#define ID3D10Effect_GetVariableByIndex(This,index) (This)->lpVtbl->GetVariableByIndex(This,index)
+#define ID3D10Effect_GetVariableByName(This,name) (This)->lpVtbl->GetVariableByName(This,name)
+#define ID3D10Effect_GetVariableBySemantic(This,semantic) (This)->lpVtbl->GetVariableBySemantic(This,semantic)
+#define ID3D10Effect_GetTechniqueByIndex(This,index) (This)->lpVtbl->GetTechniqueByIndex(This,index)
+#define ID3D10Effect_GetTechniqueByName(This,name) (This)->lpVtbl->GetTechniqueByName(This,name)
+#define ID3D10Effect_Optimize(This) (This)->lpVtbl->Optimize(This)
+#define ID3D10Effect_IsOptimized(This) (This)->lpVtbl->IsOptimized(This)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT ID3D10Effect_QueryInterface(ID3D10Effect* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG ID3D10Effect_AddRef(ID3D10Effect* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG ID3D10Effect_Release(ID3D10Effect* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** ID3D10Effect methods ***/
+static __WIDL_INLINE WINBOOL ID3D10Effect_IsValid(ID3D10Effect* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE WINBOOL ID3D10Effect_IsPool(ID3D10Effect* This) {
+    return This->lpVtbl->IsPool(This);
+}
+static __WIDL_INLINE HRESULT ID3D10Effect_GetDevice(ID3D10Effect* This,ID3D10Device **device) {
+    return This->lpVtbl->GetDevice(This,device);
+}
+static __WIDL_INLINE HRESULT ID3D10Effect_GetDesc(ID3D10Effect* This,D3D10_EFFECT_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10Effect_GetConstantBufferByIndex(ID3D10Effect* This,UINT index) {
+    return This->lpVtbl->GetConstantBufferByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectConstantBuffer * ID3D10Effect_GetConstantBufferByName(ID3D10Effect* This,const char *name) {
+    return This->lpVtbl->GetConstantBufferByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10Effect_GetVariableByIndex(ID3D10Effect* This,UINT index) {
+    return This->lpVtbl->GetVariableByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10Effect_GetVariableByName(ID3D10Effect* This,const char *name) {
+    return This->lpVtbl->GetVariableByName(This,name);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10Effect_GetVariableBySemantic(ID3D10Effect* This,const char *semantic) {
+    return This->lpVtbl->GetVariableBySemantic(This,semantic);
+}
+static __WIDL_INLINE ID3D10EffectTechnique * ID3D10Effect_GetTechniqueByIndex(ID3D10Effect* This,UINT index) {
+    return This->lpVtbl->GetTechniqueByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectTechnique * ID3D10Effect_GetTechniqueByName(ID3D10Effect* This,const char *name) {
+    return This->lpVtbl->GetTechniqueByName(This,name);
+}
+static __WIDL_INLINE HRESULT ID3D10Effect_Optimize(ID3D10Effect* This) {
+    return This->lpVtbl->Optimize(This);
+}
+static __WIDL_INLINE WINBOOL ID3D10Effect_IsOptimized(ID3D10Effect* This) {
+    return This->lpVtbl->IsOptimized(This);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10Effect_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectPool interface
+ */
+#ifndef __ID3D10EffectPool_INTERFACE_DEFINED__
+#define __ID3D10EffectPool_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82,0x13, 0xfc,0xd2,0xf8,0x67,0x79,0x33);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("9537ab04-3250-412e-8213-fcd2f8677933")
+ID3D10EffectPool : public IUnknown
+{
+    virtual ID3D10Effect * STDMETHODCALLTYPE AsEffect(
+        ) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82,0x13, 0xfc,0xd2,0xf8,0x67,0x79,0x33)
+#endif
+#else
+typedef struct ID3D10EffectPoolVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        ID3D10EffectPool *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        ID3D10EffectPool *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        ID3D10EffectPool *This);
+
+    /*** ID3D10EffectPool methods ***/
+    ID3D10Effect * (STDMETHODCALLTYPE *AsEffect)(
+        ID3D10EffectPool *This);
+
+    END_INTERFACE
+} ID3D10EffectPoolVtbl;
+
+interface ID3D10EffectPool {
+    CONST_VTBL ID3D10EffectPoolVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D10EffectPool_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10EffectPool_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10EffectPool_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10EffectPool methods ***/
+#define ID3D10EffectPool_AsEffect(This) (This)->lpVtbl->AsEffect(This)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT ID3D10EffectPool_QueryInterface(ID3D10EffectPool* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG ID3D10EffectPool_AddRef(ID3D10EffectPool* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG ID3D10EffectPool_Release(ID3D10EffectPool* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** ID3D10EffectPool methods ***/
+static __WIDL_INLINE ID3D10Effect * ID3D10EffectPool_AsEffect(ID3D10EffectPool* This) {
+    return This->lpVtbl->AsEffect(This);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectPool_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10EffectPass interface
+ */
+#ifndef __ID3D10EffectPass_INTERFACE_DEFINED__
+#define __ID3D10EffectPass_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10EffectPass, 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2,0x82, 0xe3,0xf9,0xbf,0xa3,0x6a,0x54);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("5cfbeb89-1a06-46e0-b282-e3f9bfa36a54")
+ID3D10EffectPass
+{
+
+    BEGIN_INTERFACE
+
+    virtual WINBOOL STDMETHODCALLTYPE IsValid(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_PASS_DESC *desc) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetVertexShaderDesc(
+        D3D10_PASS_SHADER_DESC *desc) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetGeometryShaderDesc(
+        D3D10_PASS_SHADER_DESC *desc) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetPixelShaderDesc(
+        D3D10_PASS_SHADER_DESC *desc) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByName(
+        const char *name) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE Apply(
+        UINT flags) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE ComputeStateBlockMask(
+        D3D10_STATE_BLOCK_MASK *mask) = 0;
+
+    END_INTERFACE
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10EffectPass, 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2,0x82, 0xe3,0xf9,0xbf,0xa3,0x6a,0x54)
+#endif
+#else
+typedef struct ID3D10EffectPassVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10EffectPass methods ***/
+    WINBOOL (STDMETHODCALLTYPE *IsValid)(
+        ID3D10EffectPass *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10EffectPass *This,
+        D3D10_PASS_DESC *desc);
+
+    HRESULT (STDMETHODCALLTYPE *GetVertexShaderDesc)(
+        ID3D10EffectPass *This,
+        D3D10_PASS_SHADER_DESC *desc);
+
+    HRESULT (STDMETHODCALLTYPE *GetGeometryShaderDesc)(
+        ID3D10EffectPass *This,
+        D3D10_PASS_SHADER_DESC *desc);
+
+    HRESULT (STDMETHODCALLTYPE *GetPixelShaderDesc)(
+        ID3D10EffectPass *This,
+        D3D10_PASS_SHADER_DESC *desc);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
+        ID3D10EffectPass *This,
+        UINT index);
+
+    ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
+        ID3D10EffectPass *This,
+        const char *name);
+
+    HRESULT (STDMETHODCALLTYPE *Apply)(
+        ID3D10EffectPass *This,
+        UINT flags);
+
+    HRESULT (STDMETHODCALLTYPE *ComputeStateBlockMask)(
+        ID3D10EffectPass *This,
+        D3D10_STATE_BLOCK_MASK *mask);
+
+    END_INTERFACE
+} ID3D10EffectPassVtbl;
+
+interface ID3D10EffectPass {
+    CONST_VTBL ID3D10EffectPassVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10EffectPass methods ***/
+#define ID3D10EffectPass_IsValid(This) (This)->lpVtbl->IsValid(This)
+#define ID3D10EffectPass_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10EffectPass_GetVertexShaderDesc(This,desc) (This)->lpVtbl->GetVertexShaderDesc(This,desc)
+#define ID3D10EffectPass_GetGeometryShaderDesc(This,desc) (This)->lpVtbl->GetGeometryShaderDesc(This,desc)
+#define ID3D10EffectPass_GetPixelShaderDesc(This,desc) (This)->lpVtbl->GetPixelShaderDesc(This,desc)
+#define ID3D10EffectPass_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
+#define ID3D10EffectPass_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
+#define ID3D10EffectPass_Apply(This,flags) (This)->lpVtbl->Apply(This,flags)
+#define ID3D10EffectPass_ComputeStateBlockMask(This,mask) (This)->lpVtbl->ComputeStateBlockMask(This,mask)
+#else
+/*** ID3D10EffectPass methods ***/
+static __WIDL_INLINE WINBOOL ID3D10EffectPass_IsValid(ID3D10EffectPass* This) {
+    return This->lpVtbl->IsValid(This);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectPass_GetDesc(ID3D10EffectPass* This,D3D10_PASS_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectPass_GetVertexShaderDesc(ID3D10EffectPass* This,D3D10_PASS_SHADER_DESC *desc) {
+    return This->lpVtbl->GetVertexShaderDesc(This,desc);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectPass_GetGeometryShaderDesc(ID3D10EffectPass* This,D3D10_PASS_SHADER_DESC *desc) {
+    return This->lpVtbl->GetGeometryShaderDesc(This,desc);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectPass_GetPixelShaderDesc(ID3D10EffectPass* This,D3D10_PASS_SHADER_DESC *desc) {
+    return This->lpVtbl->GetPixelShaderDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectPass_GetAnnotationByIndex(ID3D10EffectPass* This,UINT index) {
+    return This->lpVtbl->GetAnnotationByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10EffectVariable * ID3D10EffectPass_GetAnnotationByName(ID3D10EffectPass* This,const char *name) {
+    return This->lpVtbl->GetAnnotationByName(This,name);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectPass_Apply(ID3D10EffectPass* This,UINT flags) {
+    return This->lpVtbl->Apply(This,flags);
+}
+static __WIDL_INLINE HRESULT ID3D10EffectPass_ComputeStateBlockMask(ID3D10EffectPass* This,D3D10_STATE_BLOCK_MASK *mask) {
+    return This->lpVtbl->ComputeStateBlockMask(This,mask);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10EffectPass_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10StateBlock interface
+ */
+#ifndef __ID3D10StateBlock_INTERFACE_DEFINED__
+#define __ID3D10StateBlock_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10StateBlock, 0x0803425a, 0x57f5, 0x4dd6, 0x94,0x65, 0xa8,0x75,0x70,0x83,0x4a,0x08);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("0803425a-57f5-4dd6-9465-a87570834a08")
+ID3D10StateBlock : public IUnknown
+{
+    virtual HRESULT STDMETHODCALLTYPE Capture(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE Apply(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE ReleaseAllDeviceObjects(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetDevice(
+        ID3D10Device **device) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10StateBlock, 0x0803425a, 0x57f5, 0x4dd6, 0x94,0x65, 0xa8,0x75,0x70,0x83,0x4a,0x08)
+#endif
+#else
+typedef struct ID3D10StateBlockVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        ID3D10StateBlock *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        ID3D10StateBlock *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        ID3D10StateBlock *This);
+
+    /*** ID3D10StateBlock methods ***/
+    HRESULT (STDMETHODCALLTYPE *Capture)(
+        ID3D10StateBlock *This);
+
+    HRESULT (STDMETHODCALLTYPE *Apply)(
+        ID3D10StateBlock *This);
+
+    HRESULT (STDMETHODCALLTYPE *ReleaseAllDeviceObjects)(
+        ID3D10StateBlock *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetDevice)(
+        ID3D10StateBlock *This,
+        ID3D10Device **device);
+
+    END_INTERFACE
+} ID3D10StateBlockVtbl;
+
+interface ID3D10StateBlock {
+    CONST_VTBL ID3D10StateBlockVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D10StateBlock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10StateBlock_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10StateBlock_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10StateBlock methods ***/
+#define ID3D10StateBlock_Capture(This) (This)->lpVtbl->Capture(This)
+#define ID3D10StateBlock_Apply(This) (This)->lpVtbl->Apply(This)
+#define ID3D10StateBlock_ReleaseAllDeviceObjects(This) (This)->lpVtbl->ReleaseAllDeviceObjects(This)
+#define ID3D10StateBlock_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT ID3D10StateBlock_QueryInterface(ID3D10StateBlock* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG ID3D10StateBlock_AddRef(ID3D10StateBlock* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG ID3D10StateBlock_Release(ID3D10StateBlock* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** ID3D10StateBlock methods ***/
+static __WIDL_INLINE HRESULT ID3D10StateBlock_Capture(ID3D10StateBlock* This) {
+    return This->lpVtbl->Capture(This);
+}
+static __WIDL_INLINE HRESULT ID3D10StateBlock_Apply(ID3D10StateBlock* This) {
+    return This->lpVtbl->Apply(This);
+}
+static __WIDL_INLINE HRESULT ID3D10StateBlock_ReleaseAllDeviceObjects(ID3D10StateBlock* This) {
+    return This->lpVtbl->ReleaseAllDeviceObjects(This);
+}
+static __WIDL_INLINE HRESULT ID3D10StateBlock_GetDevice(ID3D10StateBlock* This,ID3D10Device **device) {
+    return This->lpVtbl->GetDevice(This,device);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10StateBlock_INTERFACE_DEFINED__ */
+
+HRESULT __stdcall  D3D10CompileEffectFromMemory(void *data,SIZE_T data_size,const char *filename,const D3D10_SHADER_MACRO *defines,ID3D10Include *include,UINT hlsl_flags,UINT fx_flags,ID3D10Blob **effect,ID3D10Blob **errors);
+
+HRESULT __stdcall  D3D10CreateEffectFromMemory(void *data,SIZE_T data_size,UINT flags,ID3D10Device *device,ID3D10EffectPool *effect_pool,ID3D10Effect **effect);
+
+HRESULT __stdcall  D3D10CreateEffectPoolFromMemory(void *data,SIZE_T data_size,UINT fx_flags,ID3D10Device *device,ID3D10EffectPool **effect_pool);
+
+HRESULT __stdcall  D3D10CreateStateBlock(ID3D10Device *device,D3D10_STATE_BLOCK_MASK *mask,ID3D10StateBlock **stateblock);
+
+HRESULT __stdcall  D3D10StateBlockMaskDifference(D3D10_STATE_BLOCK_MASK *mask_x,D3D10_STATE_BLOCK_MASK *mask_y,D3D10_STATE_BLOCK_MASK *result);
+
+HRESULT __stdcall  D3D10StateBlockMaskDisableAll(D3D10_STATE_BLOCK_MASK *mask);
+
+HRESULT __stdcall  D3D10StateBlockMaskDisableCapture(D3D10_STATE_BLOCK_MASK *mask,D3D10_DEVICE_STATE_TYPES state_type,UINT start_idx,UINT count);
+
+HRESULT __stdcall  D3D10StateBlockMaskEnableAll(D3D10_STATE_BLOCK_MASK *mask);
+
+HRESULT __stdcall  D3D10StateBlockMaskEnableCapture(D3D10_STATE_BLOCK_MASK *mask,D3D10_DEVICE_STATE_TYPES state_type,UINT start_idx,UINT count);
+
+WINBOOL __stdcall  D3D10StateBlockMaskGetSetting(D3D10_STATE_BLOCK_MASK *mask,D3D10_DEVICE_STATE_TYPES state_type,UINT idx);
+
+HRESULT __stdcall  D3D10StateBlockMaskIntersect(D3D10_STATE_BLOCK_MASK *mask_x,D3D10_STATE_BLOCK_MASK *mask_y,D3D10_STATE_BLOCK_MASK *result);
+
+HRESULT __stdcall  D3D10StateBlockMaskUnion(D3D10_STATE_BLOCK_MASK *mask_x,D3D10_STATE_BLOCK_MASK *mask_y,D3D10_STATE_BLOCK_MASK *result);
+
+/* Begin additional prototypes for all interfaces */
+
+
+/* End additional prototypes */
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* __WINE_D3D10EFFECT_H */
+#endif /* __d3d10effect_h__ */
diff --git a/mingw-w64-headers/include/d3d10effect.idl b/mingw-w64-headers/include/d3d10effect.idl
new file mode 100644
index 0000000..fe526aa
--- /dev/null
+++ b/mingw-w64-headers/include/d3d10effect.idl
@@ -0,0 +1,512 @@
+/*
+ * Copyright 2009 Henri Verbeet for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "d3d10.idl";
+import "d3d10shader.idl";
+
+interface ID3D10EffectConstantBuffer;
+interface ID3D10EffectBlendVariable;
+interface ID3D10EffectDepthStencilVariable;
+interface ID3D10EffectDepthStencilViewVariable;
+interface ID3D10EffectMatrixVariable;
+interface ID3D10EffectPass;
+interface ID3D10EffectRasterizerVariable;
+interface ID3D10EffectRenderTargetViewVariable;
+interface ID3D10EffectSamplerVariable;
+interface ID3D10EffectScalarVariable;
+interface ID3D10EffectShaderVariable;
+interface ID3D10EffectShaderResourceVariable;
+interface ID3D10EffectStringVariable;
+interface ID3D10EffectVectorVariable;
+
+#ifndef D3D10_BYTES_FROM_BITS
+#define D3D10_BYTES_FROM_BITS(x) (((x) + 7) >> 3)
+#endif
+cpp_quote("#ifndef D3D10_BYTES_FROM_BITS")
+cpp_quote("#define D3D10_BYTES_FROM_BITS(x) (((x) + 7) >> 3)")
+cpp_quote("#endif")
+
+const unsigned int D3D10_EFFECT_VARIABLE_POOLED                 = 0x1;
+const unsigned int D3D10_EFFECT_VARIABLE_ANNOTATION             = 0x2;
+const unsigned int D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT    = 0x4;
+
+typedef enum _D3D10_DEVICE_STATE_TYPES
+{
+    D3D10_DST_SO_BUFFERS = 1,
+    D3D10_DST_OM_RENDER_TARGETS,
+    D3D10_DST_OM_DEPTH_STENCIL_STATE,
+    D3D10_DST_OM_BLEND_STATE,
+    D3D10_DST_VS,
+    D3D10_DST_VS_SAMPLERS,
+    D3D10_DST_VS_SHADER_RESOURCES,
+    D3D10_DST_VS_CONSTANT_BUFFERS,
+    D3D10_DST_GS,
+    D3D10_DST_GS_SAMPLERS,
+    D3D10_DST_GS_SHADER_RESOURCES,
+    D3D10_DST_GS_CONSTANT_BUFFERS,
+    D3D10_DST_PS,
+    D3D10_DST_PS_SAMPLERS,
+    D3D10_DST_PS_SHADER_RESOURCES,
+    D3D10_DST_PS_CONSTANT_BUFFERS,
+    D3D10_DST_IA_VERTEX_BUFFERS,
+    D3D10_DST_IA_INDEX_BUFFER,
+    D3D10_DST_IA_INPUT_LAYOUT,
+    D3D10_DST_IA_PRIMITIVE_TOPOLOGY,
+    D3D10_DST_RS_VIEWPORTS,
+    D3D10_DST_RS_SCISSOR_RECTS,
+    D3D10_DST_RS_RASTERIZER_STATE,
+    D3D10_DST_PREDICATION,
+} D3D10_DEVICE_STATE_TYPES;
+
+typedef struct _D3D10_EFFECT_TYPE_DESC
+{
+    const char *TypeName;
+    D3D10_SHADER_VARIABLE_CLASS Class;
+    D3D10_SHADER_VARIABLE_TYPE Type;
+    UINT Elements;
+    UINT Members;
+    UINT Rows;
+    UINT Columns;
+    UINT PackedSize;
+    UINT UnpackedSize;
+    UINT Stride;
+} D3D10_EFFECT_TYPE_DESC;
+
+typedef struct _D3D10_EFFECT_VARIABLE_DESC
+{
+    const char *Name;
+    const char *Semantic;
+    UINT Flags;
+    UINT Annotations;
+    UINT BufferOffset;
+    UINT ExplicitBindPoint;
+} D3D10_EFFECT_VARIABLE_DESC;
+
+typedef struct _D3D10_TECHNIQUE_DESC
+{
+    const char *Name;
+    UINT Passes;
+    UINT Annotations;
+} D3D10_TECHNIQUE_DESC;
+
+typedef struct _D3D10_STATE_BLOCK_MASK
+{
+    BYTE VS;
+    BYTE VSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
+    BYTE VSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
+    BYTE VSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
+    BYTE GS;
+    BYTE GSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
+    BYTE GSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
+    BYTE GSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
+    BYTE PS;
+    BYTE PSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
+    BYTE PSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
+    BYTE PSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
+    BYTE IAVertexBuffers[D3D10_BYTES_FROM_BITS(D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)];
+    BYTE IAIndexBuffer;
+    BYTE IAInputLayout;
+    BYTE IAPrimitiveTopology;
+    BYTE OMRenderTargets;
+    BYTE OMDepthStencilState;
+    BYTE OMBlendState;
+    BYTE RSViewports;
+    BYTE RSScissorRects;
+    BYTE RSRasterizerState;
+    BYTE SOBuffers;
+    BYTE Predication;
+} D3D10_STATE_BLOCK_MASK;
+
+typedef struct _D3D10_EFFECT_DESC
+{
+    BOOL IsChildEffect;
+    UINT ConstantBuffers;
+    UINT SharedConstantBuffers;
+    UINT GlobalVariables;
+    UINT SharedGlobalVariables;
+    UINT Techniques;
+} D3D10_EFFECT_DESC;
+
+typedef struct _D3D10_EFFECT_SHADER_DESC
+{
+    const BYTE *pInputSignature;
+    BOOL IsInline;
+    const BYTE *pBytecode;
+    UINT BytecodeLength;
+    const char *SODecl;
+    UINT NumInputSignatureEntries;
+    UINT NumOutputSignatureEntries;
+} D3D10_EFFECT_SHADER_DESC;
+
+typedef struct _D3D10_PASS_DESC
+{
+    const char *Name;
+    UINT Annotations;
+    BYTE *pIAInputSignature;
+    SIZE_T IAInputSignatureSize;
+    UINT StencilRef;
+    UINT SampleMask;
+    FLOAT BlendFactor[4];
+} D3D10_PASS_DESC;
+
+typedef struct _D3D10_PASS_SHADER_DESC
+{
+    ID3D10EffectShaderVariable *pShaderVariable;
+    UINT ShaderIndex;
+} D3D10_PASS_SHADER_DESC;
+
+const unsigned int D3D10_EFFECT_COMPILE_CHILD_EFFECT    = 0x0001;
+const unsigned int D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS  = 0x0002;
+const unsigned int D3D10_EFFECT_SINGLE_THREADED         = 0x0008;
+
+[
+    local,
+    object,
+    uuid(4e9e1ddc-cd9d-4772-a837-00180b9b88fd),
+]
+interface ID3D10EffectType
+{
+    BOOL IsValid();
+    HRESULT GetDesc(D3D10_EFFECT_TYPE_DESC *desc);
+    ID3D10EffectType *GetMemberTypeByIndex(UINT index);
+    ID3D10EffectType *GetMemberTypeByName(const char *name);
+    ID3D10EffectType *GetMemberTypeBySemantic(const char *semantic);
+    const char *GetMemberName(UINT index);
+    const char *GetMemberSemantic(UINT index);
+}
+
+[
+    local,
+    object,
+    uuid(ae897105-00e6-45bf-bb8e-281dd6db8e1b),
+]
+interface ID3D10EffectVariable
+{
+    BOOL IsValid();
+    ID3D10EffectType *GetType();
+    HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC *desc);
+    ID3D10EffectVariable *GetAnnotationByIndex(UINT index);
+    ID3D10EffectVariable *GetAnnotationByName(const char *name);
+    ID3D10EffectVariable *GetMemberByIndex(UINT index);
+    ID3D10EffectVariable *GetMemberByName(const char *name);
+    ID3D10EffectVariable *GetMemberBySemantic(const char *semantic);
+    ID3D10EffectVariable *GetElement(UINT index);
+    ID3D10EffectConstantBuffer *GetParentConstantBuffer();
+    ID3D10EffectScalarVariable *AsScalar();
+    ID3D10EffectVectorVariable *AsVector();
+    ID3D10EffectMatrixVariable *AsMatrix();
+    ID3D10EffectStringVariable *AsString();
+    ID3D10EffectShaderResourceVariable *AsShaderResource();
+    ID3D10EffectRenderTargetViewVariable *AsRenderTargetView();
+    ID3D10EffectDepthStencilViewVariable *AsDepthStencilView();
+    ID3D10EffectConstantBuffer *AsConstantBuffer();
+    ID3D10EffectShaderVariable *AsShader();
+    ID3D10EffectBlendVariable *AsBlend();
+    ID3D10EffectDepthStencilVariable *AsDepthStencil();
+    ID3D10EffectRasterizerVariable *AsRasterizer();
+    ID3D10EffectSamplerVariable *AsSampler();
+    HRESULT SetRawValue(void *data, UINT offset, UINT count);
+    HRESULT GetRawValue(void *data, UINT offset, UINT count);
+}
+
+[
+    local,
+    object,
+    uuid(56648f4d-cc8b-4444-a5ad-b5a3d76e91b3),
+]
+interface ID3D10EffectConstantBuffer : ID3D10EffectVariable
+{
+    HRESULT SetConstantBuffer(ID3D10Buffer *buffer);
+    HRESULT GetConstantBuffer(ID3D10Buffer **buffer);
+    HRESULT SetTextureBuffer(ID3D10ShaderResourceView *view);
+    HRESULT GetTextureBuffer(ID3D10ShaderResourceView **view);
+}
+
+[
+    local,
+    object,
+    uuid(00e48f7b-d2c8-49e8-a86c-022dee53431f),
+]
+interface ID3D10EffectScalarVariable : ID3D10EffectVariable
+{
+    HRESULT SetFloat(float value);
+    HRESULT GetFloat(float *value);
+    HRESULT SetFloatArray(float *values, UINT offset, UINT count);
+    HRESULT GetFloatArray(float *values, UINT offset, UINT count);
+    HRESULT SetInt(int value);
+    HRESULT GetInt(int *value);
+    HRESULT SetIntArray(int *values, UINT offset, UINT count);
+    HRESULT GetIntArray(int *values, UINT offset, UINT count);
+    HRESULT SetBool(BOOL value);
+    HRESULT GetBool(BOOL *value);
+    HRESULT SetBoolArray(BOOL *values, UINT offset, UINT count);
+    HRESULT GetBoolArray(BOOL *values, UINT offset, UINT count);
+}
+
+[
+    local,
+    object,
+    uuid(62b98c44-1f82-4c67-bcd0-72cf8f217e81),
+]
+interface ID3D10EffectVectorVariable : ID3D10EffectVariable
+{
+    HRESULT SetBoolVector(BOOL *value);
+    HRESULT SetIntVector(int *value);
+    HRESULT SetFloatVector(float *value);
+    HRESULT GetBoolVector(BOOL *value);
+    HRESULT GetIntVector(int *value);
+    HRESULT GetFloatVector(float *value);
+    HRESULT SetBoolVectorArray(BOOL *values, UINT offset, UINT count);
+    HRESULT SetIntVectorArray(int *values, UINT offset, UINT count);
+    HRESULT SetFloatVectorArray(float *values, UINT offset, UINT count);
+    HRESULT GetBoolVectorArray(BOOL *values, UINT offset, UINT count);
+    HRESULT GetIntVectorArray(int *values, UINT offset, UINT count);
+    HRESULT GetFloatVectorArray(float *values, UINT offset, UINT count);
+}
+
+[
+    local,
+    object,
+    uuid(50666c24-b82f-4eed-a172-5b6e7e8522e0),
+]
+interface ID3D10EffectMatrixVariable : ID3D10EffectVariable
+{
+    HRESULT SetMatrix(float *data);
+    HRESULT GetMatrix(float *data);
+    HRESULT SetMatrixArray(float *data, UINT offset, UINT count);
+    HRESULT GetMatrixArray(float *data, UINT offset, UINT count);
+    HRESULT SetMatrixTranspose(float *data);
+    HRESULT GetMatrixTranspose(float *data);
+    HRESULT SetMatrixTransposeArray(float *data, UINT offset, UINT count);
+    HRESULT GetMatrixTransposeArray(float *data, UINT offset, UINT count);
+}
+
+[
+    local,
+    object,
+    uuid(71417501-8df9-4e0a-a78a-255f9756baff),
+]
+interface ID3D10EffectStringVariable : ID3D10EffectVariable
+{
+    HRESULT GetString(const char **str);
+    HRESULT GetStringArray(const char **strs, UINT offset, UINT count);
+}
+
+[
+    local,
+    object,
+    uuid(c0a7157b-d872-4b1d-8073-efc2acd4b1fc),
+]
+interface ID3D10EffectShaderResourceVariable : ID3D10EffectVariable
+{
+    HRESULT SetResource(ID3D10ShaderResourceView *resource);
+    HRESULT GetResource(ID3D10ShaderResourceView **resource);
+    HRESULT SetResourceArray(ID3D10ShaderResourceView **resources, UINT offset, UINT count);
+    HRESULT GetResourceArray(ID3D10ShaderResourceView **resources, UINT offset, UINT count);
+}
+
+[
+    local,
+    object,
+    uuid(28ca0cc3-c2c9-40bb-b57f-67b737122b17),
+]
+interface ID3D10EffectRenderTargetViewVariable : ID3D10EffectVariable
+{
+    HRESULT SetRenderTarget(ID3D10RenderTargetView *view);
+    HRESULT GetRenderTarget(ID3D10RenderTargetView **view);
+    HRESULT SetRenderTargetArray(ID3D10RenderTargetView **views, UINT offset, UINT count);
+    HRESULT GetRenderTargetArray(ID3D10RenderTargetView **views, UINT offset, UINT count);
+}
+
+[
+    local,
+    object,
+    uuid(3e02c918-cc79-4985-b622-2d92ad701623),
+]
+interface ID3D10EffectDepthStencilViewVariable : ID3D10EffectVariable
+{
+    HRESULT SetDepthStencil(ID3D10DepthStencilView *view);
+    HRESULT GetDepthStencil(ID3D10DepthStencilView **view);
+    HRESULT SetDepthStencilArray(ID3D10DepthStencilView **views, UINT offset, UINT count);
+    HRESULT GetDepthStencilArray(ID3D10DepthStencilView **views, UINT offset, UINT count);
+}
+
+[
+    local,
+    object,
+    uuid(80849279-c799-4797-8c33-0407a07d9e06),
+]
+interface ID3D10EffectShaderVariable : ID3D10EffectVariable
+{
+    HRESULT GetShaderDesc(UINT index, D3D10_EFFECT_SHADER_DESC *desc);
+    HRESULT GetVertexShader(UINT index, ID3D10VertexShader **shader);
+    HRESULT GetGeometryShader(UINT index, ID3D10GeometryShader **shader);
+    HRESULT GetPixelShader(UINT index, ID3D10PixelShader **shader);
+    HRESULT GetInputSignatureElementDesc(UINT shader_index, UINT element_index,
+            D3D10_SIGNATURE_PARAMETER_DESC *desc);
+    HRESULT GetOutputSignatureElementDesc(UINT shader_index, UINT element_index,
+            D3D10_SIGNATURE_PARAMETER_DESC *desc);
+}
+
+[
+    local,
+    object,
+    uuid(1fcd2294-df6d-4eae-86b3-0e9160cfb07b),
+]
+interface ID3D10EffectBlendVariable : ID3D10EffectVariable
+{
+    HRESULT GetBlendState(UINT index, ID3D10BlendState **blend_state);
+    HRESULT GetBackingStore(UINT index, D3D10_BLEND_DESC *desc);
+}
+
+[
+    local,
+    object,
+    uuid(af482368-330a-46a5-9a5c-01c71af24c8d),
+]
+interface ID3D10EffectDepthStencilVariable : ID3D10EffectVariable
+{
+    HRESULT GetDepthStencilState(UINT index, ID3D10DepthStencilState **depth_stencil_state);
+    HRESULT GetBackingStore(UINT index, D3D10_DEPTH_STENCIL_DESC *desc);
+}
+
+[
+    local,
+    object,
+    uuid(21af9f0e-4d94-4ea9-9785-2cb76b8c0b34),
+]
+interface ID3D10EffectRasterizerVariable : ID3D10EffectVariable
+{
+    HRESULT GetRasterizerState(UINT index, ID3D10RasterizerState **rasterizer_state);
+    HRESULT GetBackingStore(UINT index, D3D10_RASTERIZER_DESC *desc);
+}
+
+[
+    local,
+    object,
+    uuid(6530d5c7-07e9-4271-a418-e7ce4bd1e480),
+]
+interface ID3D10EffectSamplerVariable : ID3D10EffectVariable
+{
+    HRESULT GetSampler(UINT index, ID3D10SamplerState **sampler);
+    HRESULT GetBackingStore(UINT index, D3D10_SAMPLER_DESC *desc);
+}
+
+[
+    local,
+    object,
+    uuid(db122ce8-d1c9-4292-b237-24ed3de8b175),
+]
+interface ID3D10EffectTechnique
+{
+    BOOL IsValid();
+    HRESULT GetDesc(D3D10_TECHNIQUE_DESC *desc);
+    ID3D10EffectVariable *GetAnnotationByIndex(UINT index);
+    ID3D10EffectVariable *GetAnnotationByName(const char *name);
+    ID3D10EffectPass *GetPassByIndex(UINT index);
+    ID3D10EffectPass *GetPassByName(const char *name);
+    HRESULT ComputeStateBlockMask(D3D10_STATE_BLOCK_MASK *mask);
+}
+
+[
+    local,
+    object,
+    uuid(51b0ca8b-ec0b-4519-870d-8ee1cb5017c7),
+]
+interface ID3D10Effect : IUnknown
+{
+    BOOL IsValid();
+    BOOL IsPool();
+    HRESULT GetDevice(ID3D10Device **device);
+    HRESULT GetDesc(D3D10_EFFECT_DESC *desc);
+    ID3D10EffectConstantBuffer *GetConstantBufferByIndex(UINT index);
+    ID3D10EffectConstantBuffer *GetConstantBufferByName(const char *name);
+    ID3D10EffectVariable *GetVariableByIndex(UINT index);
+    ID3D10EffectVariable *GetVariableByName(const char *name);
+    ID3D10EffectVariable *GetVariableBySemantic(const char *semantic);
+    ID3D10EffectTechnique *GetTechniqueByIndex(UINT index);
+    ID3D10EffectTechnique *GetTechniqueByName(const char *name);
+    HRESULT Optimize();
+    BOOL IsOptimized();
+}
+
+[
+    local,
+    object,
+    uuid(9537ab04-3250-412e-8213-fcd2f8677933),
+]
+interface ID3D10EffectPool : IUnknown
+{
+    ID3D10Effect *AsEffect();
+}
+
+[
+    local,
+    object,
+    uuid(5cfbeb89-1a06-46e0-b282-e3f9bfa36a54),
+]
+interface ID3D10EffectPass
+{
+    BOOL IsValid();
+    HRESULT GetDesc(D3D10_PASS_DESC *desc);
+    HRESULT GetVertexShaderDesc(D3D10_PASS_SHADER_DESC *desc);
+    HRESULT GetGeometryShaderDesc(D3D10_PASS_SHADER_DESC *desc);
+    HRESULT GetPixelShaderDesc(D3D10_PASS_SHADER_DESC *desc);
+    ID3D10EffectVariable *GetAnnotationByIndex(UINT index);
+    ID3D10EffectVariable *GetAnnotationByName(const char *name);
+    HRESULT Apply(UINT flags);
+    HRESULT ComputeStateBlockMask(D3D10_STATE_BLOCK_MASK *mask);
+}
+
+[
+    local,
+    object,
+    uuid(0803425a-57f5-4dd6-9465-a87570834a08),
+]
+interface ID3D10StateBlock : IUnknown
+{
+    HRESULT Capture();
+    HRESULT Apply();
+    HRESULT ReleaseAllDeviceObjects();
+    HRESULT GetDevice(ID3D10Device **device);
+}
+
+HRESULT __stdcall D3D10CompileEffectFromMemory(void *data, SIZE_T data_size, const char *filename,
+        const D3D10_SHADER_MACRO *defines, ID3D10Include *include, UINT hlsl_flags, UINT fx_flags,
+        ID3D10Blob **effect, ID3D10Blob **errors);
+HRESULT __stdcall D3D10CreateEffectFromMemory(void *data, SIZE_T data_size, UINT flags,
+        ID3D10Device *device, ID3D10EffectPool *effect_pool, ID3D10Effect **effect);
+HRESULT __stdcall D3D10CreateEffectPoolFromMemory(void *data, SIZE_T data_size, UINT fx_flags,
+        ID3D10Device *device, ID3D10EffectPool **effect_pool);
+HRESULT __stdcall D3D10CreateStateBlock(ID3D10Device *device,
+        D3D10_STATE_BLOCK_MASK *mask, ID3D10StateBlock **stateblock);
+
+HRESULT __stdcall D3D10StateBlockMaskDifference(D3D10_STATE_BLOCK_MASK *mask_x,
+        D3D10_STATE_BLOCK_MASK *mask_y, D3D10_STATE_BLOCK_MASK *result);
+HRESULT __stdcall D3D10StateBlockMaskDisableAll(D3D10_STATE_BLOCK_MASK *mask);
+HRESULT __stdcall D3D10StateBlockMaskDisableCapture(D3D10_STATE_BLOCK_MASK *mask,
+        D3D10_DEVICE_STATE_TYPES state_type, UINT start_idx, UINT count);
+HRESULT __stdcall D3D10StateBlockMaskEnableAll(D3D10_STATE_BLOCK_MASK *mask);
+HRESULT __stdcall D3D10StateBlockMaskEnableCapture(D3D10_STATE_BLOCK_MASK *mask,
+        D3D10_DEVICE_STATE_TYPES state_type, UINT start_idx, UINT count);
+BOOL __stdcall D3D10StateBlockMaskGetSetting(D3D10_STATE_BLOCK_MASK *mask,
+        D3D10_DEVICE_STATE_TYPES state_type, UINT idx);
+HRESULT __stdcall D3D10StateBlockMaskIntersect(D3D10_STATE_BLOCK_MASK *mask_x,
+        D3D10_STATE_BLOCK_MASK *mask_y, D3D10_STATE_BLOCK_MASK *result);
+HRESULT __stdcall D3D10StateBlockMaskUnion(D3D10_STATE_BLOCK_MASK *mask_x,
+        D3D10_STATE_BLOCK_MASK *mask_y, D3D10_STATE_BLOCK_MASK *result);
diff --git a/mingw-w64-headers/include/d3d10sdklayers.h b/mingw-w64-headers/include/d3d10sdklayers.h
index 9a6b3b9..b8733ac 100644
--- a/mingw-w64-headers/include/d3d10sdklayers.h
+++ b/mingw-w64-headers/include/d3d10sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d10sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/d3d10sdklayers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10shader.h b/mingw-w64-headers/include/d3d10shader.h
index 47efdb1..6e8d386 100644
--- a/mingw-w64-headers/include/d3d10shader.h
+++ b/mingw-w64-headers/include/d3d10shader.h
@@ -1,78 +1,127 @@
-#undef INTERFACE
-/*
- * Copyright 2009 Henri Verbeet for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- *
- */
+/*** Autogenerated by WIDL 8.19 from include/d3d10shader.idl - Do not edit ***/
 
-#ifndef __WINE_D3D10SHADER_H
-#define __WINE_D3D10SHADER_H
+#ifdef _WIN32
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+#include <rpc.h>
+#include <rpcndr.h>
+#endif
 
-#include "d3d10.h"
+#ifndef COM_NO_WINDOWS_H
+#include <windows.h>
+#include <ole2.h>
+#endif
 
-#define D3D10_SHADER_DEBUG                          0x0001
-#define D3D10_SHADER_SKIP_VALIDATION                0x0002
-#define D3D10_SHADER_SKIP_OPTIMIZATION              0x0004
-#define D3D10_SHADER_PACK_MATRIX_ROW_MAJOR          0x0008
-#define D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR       0x0010
-#define D3D10_SHADER_PARTIAL_PRECISION              0x0020
-#define D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT       0x0040
-#define D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT       0x0080
-#define D3D10_SHADER_NO_PRESHADER                   0x0100
-#define D3D10_SHADER_AVOID_FLOW_CONTROL             0x0200
-#define D3D10_SHADER_PREFER_FLOW_CONTROL            0x0400
-#define D3D10_SHADER_ENABLE_STRICTNESS              0x0800
-#define D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 0x1000
-#define D3D10_SHADER_IEEE_STRICTNESS                0x2000
-#define D3D10_SHADER_WARNINGS_ARE_ERRORS           0x40000
+#ifndef __d3d10shader_h__
+#define __d3d10shader_h__
 
-#define D3D10_SHADER_OPTIMIZATION_LEVEL0            0x4000
-#define D3D10_SHADER_OPTIMIZATION_LEVEL1            0x0000
-#define D3D10_SHADER_OPTIMIZATION_LEVEL2            0xC000
-#define D3D10_SHADER_OPTIMIZATION_LEVEL3            0x8000
+#ifndef __WIDL_INLINE
+#if defined(__cplusplus) || defined(_MSC_VER)
+#define __WIDL_INLINE inline
+#elif defined(__GNUC__)
+#define __WIDL_INLINE __inline__
+#endif
+#endif
 
-/* These are defined as version-neutral in d3dcommon.h */
+/* Forward declarations */
+
+#ifndef __ID3D10ShaderReflectionType_FWD_DEFINED__
+#define __ID3D10ShaderReflectionType_FWD_DEFINED__
+typedef interface ID3D10ShaderReflectionType ID3D10ShaderReflectionType;
+#ifdef __cplusplus
+interface ID3D10ShaderReflectionType;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10ShaderReflectionVariable_FWD_DEFINED__
+#define __ID3D10ShaderReflectionVariable_FWD_DEFINED__
+typedef interface ID3D10ShaderReflectionVariable ID3D10ShaderReflectionVariable;
+#ifdef __cplusplus
+interface ID3D10ShaderReflectionVariable;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10ShaderReflectionConstantBuffer_FWD_DEFINED__
+#define __ID3D10ShaderReflectionConstantBuffer_FWD_DEFINED__
+typedef interface ID3D10ShaderReflectionConstantBuffer ID3D10ShaderReflectionConstantBuffer;
+#ifdef __cplusplus
+interface ID3D10ShaderReflectionConstantBuffer;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ID3D10ShaderReflection_FWD_DEFINED__
+#define __ID3D10ShaderReflection_FWD_DEFINED__
+typedef interface ID3D10ShaderReflection ID3D10ShaderReflection;
+#ifdef __cplusplus
+interface ID3D10ShaderReflection;
+#endif /* __cplusplus */
+#endif
+
+/* Headers for imported files */
+
+#include <d3d10.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define D3D10_SHADER_DEBUG (0x1)
+
+#define D3D10_SHADER_SKIP_VALIDATION (0x2)
+
+#define D3D10_SHADER_SKIP_OPTIMIZATION (0x4)
+
+#define D3D10_SHADER_PACK_MATRIX_ROW_MAJOR (0x8)
+
+#define D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR (0x10)
+
+#define D3D10_SHADER_PARTIAL_PRECISION (0x20)
+
+#define D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT (0x40)
+
+#define D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT (0x80)
+
+#define D3D10_SHADER_NO_PRESHADER (0x100)
+
+#define D3D10_SHADER_AVOID_FLOW_CONTROL (0x200)
+
+#define D3D10_SHADER_PREFER_FLOW_CONTROL (0x400)
+
+#define D3D10_SHADER_ENABLE_STRICTNESS (0x800)
+
+#define D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY (0x1000)
+
+#define D3D10_SHADER_IEEE_STRICTNESS (0x2000)
+
+#define D3D10_SHADER_WARNINGS_ARE_ERRORS (0x40000)
+
+#define D3D10_SHADER_OPTIMIZATION_LEVEL0 (0x4000)
+
+#define D3D10_SHADER_OPTIMIZATION_LEVEL1 (0x0)
+
+#define D3D10_SHADER_OPTIMIZATION_LEVEL2 (0xc000)
+
+#define D3D10_SHADER_OPTIMIZATION_LEVEL3 (0x8000)
+
 typedef D3D_SHADER_MACRO D3D10_SHADER_MACRO;
 typedef D3D_SHADER_MACRO *LPD3D10_SHADER_MACRO;
-
 typedef D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS;
 typedef D3D_SHADER_VARIABLE_CLASS *LPD3D10_SHADER_VARIABLE_CLASS;
-
 typedef D3D_CBUFFER_TYPE D3D10_CBUFFER_TYPE;
 typedef D3D_CBUFFER_TYPE *LPD3D10_CBUFFER_TYPE;
-
 typedef D3D_REGISTER_COMPONENT_TYPE D3D10_REGISTER_COMPONENT_TYPE;
-
 typedef D3D_RESOURCE_RETURN_TYPE D3D10_RESOURCE_RETURN_TYPE;
-
 typedef D3D_NAME D3D10_NAME;
-
 typedef D3D_SHADER_INPUT_TYPE D3D10_SHADER_INPUT_TYPE;
 typedef D3D_SHADER_INPUT_TYPE *LPD3D10_SHADER_INPUT_TYPE;
-
 typedef D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE;
 typedef D3D_SHADER_VARIABLE_TYPE *LPD3D10_SHADER_VARIABLE_TYPE;
-
 typedef D3D_INCLUDE_TYPE D3D10_INCLUDE_TYPE;
 typedef ID3DInclude ID3D10Include;
 typedef ID3DInclude *LPD3D10INCLUDE;
 #define IID_ID3D10Include IID_ID3DInclude
-
-typedef struct _D3D10_SHADER_INPUT_BIND_DESC
-{
+typedef struct _D3D10_SHADER_INPUT_BIND_DESC {
     const char *Name;
     D3D10_SHADER_INPUT_TYPE Type;
     UINT BindPoint;
@@ -82,9 +131,7 @@
     D3D10_SRV_DIMENSION Dimension;
     UINT NumSamples;
 } D3D10_SHADER_INPUT_BIND_DESC;
-
-typedef struct _D3D10_SIGNATURE_PARAMETER_DESC
-{
+typedef struct _D3D10_SIGNATURE_PARAMETER_DESC {
     const char *SemanticName;
     UINT SemanticIndex;
     UINT Register;
@@ -93,9 +140,7 @@
     BYTE Mask;
     BYTE ReadWriteMask;
 } D3D10_SIGNATURE_PARAMETER_DESC;
-
-typedef struct _D3D10_SHADER_DESC
-{
+typedef struct _D3D10_SHADER_DESC {
     UINT Version;
     const char *Creator;
     UINT Flags;
@@ -125,27 +170,21 @@
     D3D10_PRIMITIVE_TOPOLOGY GSOutputTopology;
     UINT GSMaxOutputVertexCount;
 } D3D10_SHADER_DESC;
-
-typedef struct _D3D10_SHADER_BUFFER_DESC
-{
+typedef struct _D3D10_SHADER_BUFFER_DESC {
     const char *Name;
     D3D10_CBUFFER_TYPE Type;
     UINT Variables;
     UINT Size;
     UINT uFlags;
 } D3D10_SHADER_BUFFER_DESC;
-
-typedef struct _D3D10_SHADER_VARIABLE_DESC
-{
+typedef struct _D3D10_SHADER_VARIABLE_DESC {
     const char *Name;
     UINT StartOffset;
     UINT Size;
     UINT uFlags;
     void *DefaultValue;
 } D3D10_SHADER_VARIABLE_DESC;
-
-typedef struct _D3D10_SHADER_TYPE_DESC
-{
+typedef struct _D3D10_SHADER_TYPE_DESC {
     D3D10_SHADER_VARIABLE_CLASS Class;
     D3D10_SHADER_VARIABLE_TYPE Type;
     UINT Rows;
@@ -154,81 +193,404 @@
     UINT Members;
     UINT Offset;
 } D3D10_SHADER_TYPE_DESC;
+/*****************************************************************************
+ * ID3D10ShaderReflectionType interface
+ */
+#ifndef __ID3D10ShaderReflectionType_INTERFACE_DEFINED__
+#define __ID3D10ShaderReflectionType_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_ID3D10ShaderReflectionType, 0xc530ad7d, 0x9b16, 0x4395, 0xa9, 0x79, 0xba, 0x2e, 0xcf, 0xf8, 0x3a, 0xdd);
-
-#define INTERFACE ID3D10ShaderReflectionType
-DECLARE_INTERFACE(ID3D10ShaderReflectionType)
+DEFINE_GUID(IID_ID3D10ShaderReflectionType, 0xc530ad7d, 0x9b16, 0x4395, 0xa9,0x79, 0xba,0x2e,0xcf,0xf8,0x3a,0xdd);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("c530ad7d-9b16-4395-a979-ba2ecff83add")
+ID3D10ShaderReflectionType
 {
-    STDMETHOD(GetDesc)(THIS_ D3D10_SHADER_TYPE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10ShaderReflectionType *, GetMemberTypeByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10ShaderReflectionType *, GetMemberTypeByName)(THIS_ const char *name) PURE;
-    STDMETHOD_(const char *, GetMemberTypeName)(THIS_ UINT index) PURE;
+
+    BEGIN_INTERFACE
+
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_SHADER_TYPE_DESC *desc) = 0;
+
+    virtual ID3D10ShaderReflectionType * STDMETHODCALLTYPE GetMemberTypeByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10ShaderReflectionType * STDMETHODCALLTYPE GetMemberTypeByName(
+        const char *name) = 0;
+
+    virtual const char * STDMETHODCALLTYPE GetMemberTypeName(
+        UINT index) = 0;
+
+    END_INTERFACE
+
 };
-#undef INTERFACE
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10ShaderReflectionType, 0xc530ad7d, 0x9b16, 0x4395, 0xa9,0x79, 0xba,0x2e,0xcf,0xf8,0x3a,0xdd)
+#endif
+#else
+typedef struct ID3D10ShaderReflectionTypeVtbl {
+    BEGIN_INTERFACE
 
-DEFINE_GUID(IID_ID3D10ShaderReflectionVariable, 0x1bf63c95, 0x2650, 0x405d, 0x99, 0xc1, 0x36, 0x36, 0xbd, 0x1d, 0xa0, 0xa1);
+    /*** ID3D10ShaderReflectionType methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10ShaderReflectionType *This,
+        D3D10_SHADER_TYPE_DESC *desc);
 
-#define INTERFACE ID3D10ShaderReflectionVariable
-DECLARE_INTERFACE(ID3D10ShaderReflectionVariable)
-{
-    STDMETHOD(GetDesc)(THIS_ D3D10_SHADER_VARIABLE_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10ShaderReflectionType *, GetType)(THIS) PURE;
+    ID3D10ShaderReflectionType * (STDMETHODCALLTYPE *GetMemberTypeByIndex)(
+        ID3D10ShaderReflectionType *This,
+        UINT index);
+
+    ID3D10ShaderReflectionType * (STDMETHODCALLTYPE *GetMemberTypeByName)(
+        ID3D10ShaderReflectionType *This,
+        const char *name);
+
+    const char * (STDMETHODCALLTYPE *GetMemberTypeName)(
+        ID3D10ShaderReflectionType *This,
+        UINT index);
+
+    END_INTERFACE
+} ID3D10ShaderReflectionTypeVtbl;
+
+interface ID3D10ShaderReflectionType {
+    CONST_VTBL ID3D10ShaderReflectionTypeVtbl* lpVtbl;
 };
-#undef INTERFACE
 
-DEFINE_GUID(IID_ID3D10ShaderReflectionConstantBuffer, 0x66c66a94, 0xdddd, 0x4b62, 0xa6, 0x6a, 0xf0, 0xda, 0x33, 0xc2, 0xb4, 0xd0);
-
-#define INTERFACE ID3D10ShaderReflectionConstantBuffer
-DECLARE_INTERFACE(ID3D10ShaderReflectionConstantBuffer)
-{
-    STDMETHOD(GetDesc)(THIS_ D3D10_SHADER_BUFFER_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10ShaderReflectionVariable *, GetVariableByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10ShaderReflectionVariable *, GetVariableByName)(THIS_ const char *name) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10ShaderReflection, 0xd40e20b6, 0xf8f7, 0x42ad, 0xab, 0x20, 0x4b, 0xaf, 0x8f, 0x15, 0xdf, 0xaa);
-
-#define INTERFACE ID3D10ShaderReflection
-DECLARE_INTERFACE_(ID3D10ShaderReflection, IUnknown)
-{
-    /* IUnknown methods */
-    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
-    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG, Release)(THIS) PURE;
-    /* ID3D10ShaderReflection methods */
-    STDMETHOD(GetDesc)(THIS_ D3D10_SHADER_DESC *desc) PURE;
-    STDMETHOD_(struct ID3D10ShaderReflectionConstantBuffer *, GetConstantBufferByIndex)(THIS_ UINT index) PURE;
-    STDMETHOD_(struct ID3D10ShaderReflectionConstantBuffer *, GetConstantBufferByName)(THIS_ const char *name) PURE;
-    STDMETHOD(GetResourceBindingDesc)(THIS_ UINT index, D3D10_SHADER_INPUT_BIND_DESC *desc) PURE;
-    STDMETHOD(GetInputParameterDesc)(THIS_ UINT index, D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
-    STDMETHOD(GetOutputParameterDesc)(THIS_ UINT index, D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-
-#ifdef __cplusplus
-extern "C" {
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10ShaderReflectionType methods ***/
+#define ID3D10ShaderReflectionType_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10ShaderReflectionType_GetMemberTypeByIndex(This,index) (This)->lpVtbl->GetMemberTypeByIndex(This,index)
+#define ID3D10ShaderReflectionType_GetMemberTypeByName(This,name) (This)->lpVtbl->GetMemberTypeByName(This,name)
+#define ID3D10ShaderReflectionType_GetMemberTypeName(This,index) (This)->lpVtbl->GetMemberTypeName(This,index)
+#else
+/*** ID3D10ShaderReflectionType methods ***/
+static __WIDL_INLINE HRESULT ID3D10ShaderReflectionType_GetDesc(ID3D10ShaderReflectionType* This,D3D10_SHADER_TYPE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10ShaderReflectionType * ID3D10ShaderReflectionType_GetMemberTypeByIndex(ID3D10ShaderReflectionType* This,UINT index) {
+    return This->lpVtbl->GetMemberTypeByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10ShaderReflectionType * ID3D10ShaderReflectionType_GetMemberTypeByName(ID3D10ShaderReflectionType* This,const char *name) {
+    return This->lpVtbl->GetMemberTypeByName(This,name);
+}
+static __WIDL_INLINE const char * ID3D10ShaderReflectionType_GetMemberTypeName(ID3D10ShaderReflectionType* This,UINT index) {
+    return This->lpVtbl->GetMemberTypeName(This,index);
+}
+#endif
 #endif
 
-HRESULT WINAPI D3D10CompileShader(const char *data, SIZE_T data_size, const char *filename,
-        const D3D10_SHADER_MACRO *defines, ID3D10Include *include, const char *entrypoint,
-        const char *profile, UINT flags, ID3D10Blob **shader, ID3D10Blob **error_messages);
-HRESULT WINAPI D3D10DisassembleShader(const void *data, SIZE_T data_size,
-        WINBOOL color_code, const char *comments, ID3D10Blob **disassembly);
-const char * WINAPI D3D10GetVertexShaderProfile(ID3D10Device *device);
-const char * WINAPI D3D10GetGeometryShaderProfile(ID3D10Device *device);
-const char * WINAPI D3D10GetPixelShaderProfile(ID3D10Device *device);
+#endif
 
-HRESULT WINAPI D3D10ReflectShader(const void *data, SIZE_T data_size, ID3D10ShaderReflection **reflector);
-HRESULT WINAPI D3D10GetInputSignatureBlob(const void *data, SIZE_T data_size, ID3D10Blob **blob);
-HRESULT WINAPI D3D10GetOutputSignatureBlob(const void *data, SIZE_T data_size, ID3D10Blob **blob);
-HRESULT WINAPI D3D10GetInputAndOutputSignatureBlob(const void *data, SIZE_T data_size, ID3D10Blob **blob);
-HRESULT WINAPI D3D10GetShaderDebugInfo(const void *data, SIZE_T data_size, ID3D10Blob **blob);
+
+#endif  /* __ID3D10ShaderReflectionType_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10ShaderReflectionVariable interface
+ */
+#ifndef __ID3D10ShaderReflectionVariable_INTERFACE_DEFINED__
+#define __ID3D10ShaderReflectionVariable_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10ShaderReflectionVariable, 0x1bf63c95, 0x2650, 0x405d, 0x99,0xc1, 0x36,0x36,0xbd,0x1d,0xa0,0xa1);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("1bf63c95-2650-405d-99c1-3636bd1da0a1")
+ID3D10ShaderReflectionVariable
+{
+
+    BEGIN_INTERFACE
+
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_SHADER_VARIABLE_DESC *desc) = 0;
+
+    virtual ID3D10ShaderReflectionType * STDMETHODCALLTYPE GetType(
+        ) = 0;
+
+    END_INTERFACE
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10ShaderReflectionVariable, 0x1bf63c95, 0x2650, 0x405d, 0x99,0xc1, 0x36,0x36,0xbd,0x1d,0xa0,0xa1)
+#endif
+#else
+typedef struct ID3D10ShaderReflectionVariableVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10ShaderReflectionVariable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10ShaderReflectionVariable *This,
+        D3D10_SHADER_VARIABLE_DESC *desc);
+
+    ID3D10ShaderReflectionType * (STDMETHODCALLTYPE *GetType)(
+        ID3D10ShaderReflectionVariable *This);
+
+    END_INTERFACE
+} ID3D10ShaderReflectionVariableVtbl;
+
+interface ID3D10ShaderReflectionVariable {
+    CONST_VTBL ID3D10ShaderReflectionVariableVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10ShaderReflectionVariable methods ***/
+#define ID3D10ShaderReflectionVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10ShaderReflectionVariable_GetType(This) (This)->lpVtbl->GetType(This)
+#else
+/*** ID3D10ShaderReflectionVariable methods ***/
+static __WIDL_INLINE HRESULT ID3D10ShaderReflectionVariable_GetDesc(ID3D10ShaderReflectionVariable* This,D3D10_SHADER_VARIABLE_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10ShaderReflectionType * ID3D10ShaderReflectionVariable_GetType(ID3D10ShaderReflectionVariable* This) {
+    return This->lpVtbl->GetType(This);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10ShaderReflectionVariable_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10ShaderReflectionConstantBuffer interface
+ */
+#ifndef __ID3D10ShaderReflectionConstantBuffer_INTERFACE_DEFINED__
+#define __ID3D10ShaderReflectionConstantBuffer_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10ShaderReflectionConstantBuffer, 0x66c66a94, 0xdddd, 0x4b62, 0xa6,0x6a, 0xf0,0xda,0x33,0xc2,0xb4,0xd0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("66c66a94-dddd-4b62-a66a-f0da33c2b4d0")
+ID3D10ShaderReflectionConstantBuffer
+{
+
+    BEGIN_INTERFACE
+
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_SHADER_BUFFER_DESC *desc) = 0;
+
+    virtual ID3D10ShaderReflectionVariable * STDMETHODCALLTYPE GetVariableByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10ShaderReflectionVariable * STDMETHODCALLTYPE GetVariableByName(
+        const char *name) = 0;
+
+    END_INTERFACE
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10ShaderReflectionConstantBuffer, 0x66c66a94, 0xdddd, 0x4b62, 0xa6,0x6a, 0xf0,0xda,0x33,0xc2,0xb4,0xd0)
+#endif
+#else
+typedef struct ID3D10ShaderReflectionConstantBufferVtbl {
+    BEGIN_INTERFACE
+
+    /*** ID3D10ShaderReflectionConstantBuffer methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10ShaderReflectionConstantBuffer *This,
+        D3D10_SHADER_BUFFER_DESC *desc);
+
+    ID3D10ShaderReflectionVariable * (STDMETHODCALLTYPE *GetVariableByIndex)(
+        ID3D10ShaderReflectionConstantBuffer *This,
+        UINT index);
+
+    ID3D10ShaderReflectionVariable * (STDMETHODCALLTYPE *GetVariableByName)(
+        ID3D10ShaderReflectionConstantBuffer *This,
+        const char *name);
+
+    END_INTERFACE
+} ID3D10ShaderReflectionConstantBufferVtbl;
+
+interface ID3D10ShaderReflectionConstantBuffer {
+    CONST_VTBL ID3D10ShaderReflectionConstantBufferVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** ID3D10ShaderReflectionConstantBuffer methods ***/
+#define ID3D10ShaderReflectionConstantBuffer_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10ShaderReflectionConstantBuffer_GetVariableByIndex(This,index) (This)->lpVtbl->GetVariableByIndex(This,index)
+#define ID3D10ShaderReflectionConstantBuffer_GetVariableByName(This,name) (This)->lpVtbl->GetVariableByName(This,name)
+#else
+/*** ID3D10ShaderReflectionConstantBuffer methods ***/
+static __WIDL_INLINE HRESULT ID3D10ShaderReflectionConstantBuffer_GetDesc(ID3D10ShaderReflectionConstantBuffer* This,D3D10_SHADER_BUFFER_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10ShaderReflectionVariable * ID3D10ShaderReflectionConstantBuffer_GetVariableByIndex(ID3D10ShaderReflectionConstantBuffer* This,UINT index) {
+    return This->lpVtbl->GetVariableByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10ShaderReflectionVariable * ID3D10ShaderReflectionConstantBuffer_GetVariableByName(ID3D10ShaderReflectionConstantBuffer* This,const char *name) {
+    return This->lpVtbl->GetVariableByName(This,name);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10ShaderReflectionConstantBuffer_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10ShaderReflection interface
+ */
+#ifndef __ID3D10ShaderReflection_INTERFACE_DEFINED__
+#define __ID3D10ShaderReflection_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10ShaderReflection, 0xd40e20b6, 0xf8f7, 0x42ad, 0xab,0x20, 0x4b,0xaf,0x8f,0x15,0xdf,0xaa);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("d40e20b6-f8f7-42ad-ab20-4baf8f15dfaa")
+ID3D10ShaderReflection : public IUnknown
+{
+    virtual HRESULT STDMETHODCALLTYPE GetDesc(
+        D3D10_SHADER_DESC *desc) = 0;
+
+    virtual ID3D10ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByIndex(
+        UINT index) = 0;
+
+    virtual ID3D10ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByName(
+        const char *name) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetResourceBindingDesc(
+        UINT index,
+        D3D10_SHADER_INPUT_BIND_DESC *desc) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetInputParameterDesc(
+        UINT index,
+        D3D10_SIGNATURE_PARAMETER_DESC *desc) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE GetOutputParameterDesc(
+        UINT index,
+        D3D10_SIGNATURE_PARAMETER_DESC *desc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D10ShaderReflection, 0xd40e20b6, 0xf8f7, 0x42ad, 0xab,0x20, 0x4b,0xaf,0x8f,0x15,0xdf,0xaa)
+#endif
+#else
+typedef struct ID3D10ShaderReflectionVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        ID3D10ShaderReflection *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        ID3D10ShaderReflection *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        ID3D10ShaderReflection *This);
+
+    /*** ID3D10ShaderReflection methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetDesc)(
+        ID3D10ShaderReflection *This,
+        D3D10_SHADER_DESC *desc);
+
+    ID3D10ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByIndex)(
+        ID3D10ShaderReflection *This,
+        UINT index);
+
+    ID3D10ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByName)(
+        ID3D10ShaderReflection *This,
+        const char *name);
+
+    HRESULT (STDMETHODCALLTYPE *GetResourceBindingDesc)(
+        ID3D10ShaderReflection *This,
+        UINT index,
+        D3D10_SHADER_INPUT_BIND_DESC *desc);
+
+    HRESULT (STDMETHODCALLTYPE *GetInputParameterDesc)(
+        ID3D10ShaderReflection *This,
+        UINT index,
+        D3D10_SIGNATURE_PARAMETER_DESC *desc);
+
+    HRESULT (STDMETHODCALLTYPE *GetOutputParameterDesc)(
+        ID3D10ShaderReflection *This,
+        UINT index,
+        D3D10_SIGNATURE_PARAMETER_DESC *desc);
+
+    END_INTERFACE
+} ID3D10ShaderReflectionVtbl;
+
+interface ID3D10ShaderReflection {
+    CONST_VTBL ID3D10ShaderReflectionVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D10ShaderReflection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10ShaderReflection_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10ShaderReflection_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10ShaderReflection methods ***/
+#define ID3D10ShaderReflection_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
+#define ID3D10ShaderReflection_GetConstantBufferByIndex(This,index) (This)->lpVtbl->GetConstantBufferByIndex(This,index)
+#define ID3D10ShaderReflection_GetConstantBufferByName(This,name) (This)->lpVtbl->GetConstantBufferByName(This,name)
+#define ID3D10ShaderReflection_GetResourceBindingDesc(This,index,desc) (This)->lpVtbl->GetResourceBindingDesc(This,index,desc)
+#define ID3D10ShaderReflection_GetInputParameterDesc(This,index,desc) (This)->lpVtbl->GetInputParameterDesc(This,index,desc)
+#define ID3D10ShaderReflection_GetOutputParameterDesc(This,index,desc) (This)->lpVtbl->GetOutputParameterDesc(This,index,desc)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT ID3D10ShaderReflection_QueryInterface(ID3D10ShaderReflection* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG ID3D10ShaderReflection_AddRef(ID3D10ShaderReflection* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG ID3D10ShaderReflection_Release(ID3D10ShaderReflection* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** ID3D10ShaderReflection methods ***/
+static __WIDL_INLINE HRESULT ID3D10ShaderReflection_GetDesc(ID3D10ShaderReflection* This,D3D10_SHADER_DESC *desc) {
+    return This->lpVtbl->GetDesc(This,desc);
+}
+static __WIDL_INLINE ID3D10ShaderReflectionConstantBuffer * ID3D10ShaderReflection_GetConstantBufferByIndex(ID3D10ShaderReflection* This,UINT index) {
+    return This->lpVtbl->GetConstantBufferByIndex(This,index);
+}
+static __WIDL_INLINE ID3D10ShaderReflectionConstantBuffer * ID3D10ShaderReflection_GetConstantBufferByName(ID3D10ShaderReflection* This,const char *name) {
+    return This->lpVtbl->GetConstantBufferByName(This,name);
+}
+static __WIDL_INLINE HRESULT ID3D10ShaderReflection_GetResourceBindingDesc(ID3D10ShaderReflection* This,UINT index,D3D10_SHADER_INPUT_BIND_DESC *desc) {
+    return This->lpVtbl->GetResourceBindingDesc(This,index,desc);
+}
+static __WIDL_INLINE HRESULT ID3D10ShaderReflection_GetInputParameterDesc(ID3D10ShaderReflection* This,UINT index,D3D10_SIGNATURE_PARAMETER_DESC *desc) {
+    return This->lpVtbl->GetInputParameterDesc(This,index,desc);
+}
+static __WIDL_INLINE HRESULT ID3D10ShaderReflection_GetOutputParameterDesc(ID3D10ShaderReflection* This,UINT index,D3D10_SIGNATURE_PARAMETER_DESC *desc) {
+    return This->lpVtbl->GetOutputParameterDesc(This,index,desc);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ID3D10ShaderReflection_INTERFACE_DEFINED__ */
+
+HRESULT __stdcall  D3D10CompileShader(const char *data,SIZE_T data_size,const char *filename,const D3D10_SHADER_MACRO *defines,ID3D10Include *include,const char *entrypoint,const char *profile,UINT flags,ID3D10Blob **shader,ID3D10Blob **error_messages);
+
+HRESULT __stdcall  D3D10DisassembleShader(const void *data,SIZE_T data_size,WINBOOL color_code,const char *comments,ID3D10Blob **disassembly);
+
+const char * __stdcall  D3D10GetVertexShaderProfile(ID3D10Device *device);
+
+const char * __stdcall  D3D10GetGeometryShaderProfile(ID3D10Device *device);
+
+const char * __stdcall  D3D10GetPixelShaderProfile(ID3D10Device *device);
+
+HRESULT __stdcall  D3D10ReflectShader(const void *data,SIZE_T data_size,ID3D10ShaderReflection **reflector);
+
+HRESULT __stdcall  D3D10GetInputSignatureBlob(const void *data,SIZE_T data_size,ID3D10Blob **blob);
+
+HRESULT __stdcall  D3D10GetOutputSignatureBlob(const void *data,SIZE_T data_size,ID3D10Blob **blob);
+
+HRESULT __stdcall  D3D10GetInputAndOutputSignatureBlob(const void *data,SIZE_T data_size,ID3D10Blob **blob);
+
+HRESULT __stdcall  D3D10GetShaderDebugInfo(const void *data,SIZE_T data_size,ID3D10Blob **blob);
+
+/* Begin additional prototypes for all interfaces */
+
+
+/* End additional prototypes */
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* __WINE_D3D10SHADER_H */
+#endif /* __d3d10shader_h__ */
diff --git a/mingw-w64-headers/include/d3d10shader.idl b/mingw-w64-headers/include/d3d10shader.idl
new file mode 100644
index 0000000..91f453d
--- /dev/null
+++ b/mingw-w64-headers/include/d3d10shader.idl
@@ -0,0 +1,217 @@
+/*
+ * Copyright 2009 Henri Verbeet for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "d3d10.idl";
+
+const unsigned int D3D10_SHADER_DEBUG                           = 0x00001;
+const unsigned int D3D10_SHADER_SKIP_VALIDATION                 = 0x00002;
+const unsigned int D3D10_SHADER_SKIP_OPTIMIZATION               = 0x00004;
+const unsigned int D3D10_SHADER_PACK_MATRIX_ROW_MAJOR           = 0x00008;
+const unsigned int D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR        = 0x00010;
+const unsigned int D3D10_SHADER_PARTIAL_PRECISION               = 0x00020;
+const unsigned int D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT        = 0x00040;
+const unsigned int D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT        = 0x00080;
+const unsigned int D3D10_SHADER_NO_PRESHADER                    = 0x00100;
+const unsigned int D3D10_SHADER_AVOID_FLOW_CONTROL              = 0x00200;
+const unsigned int D3D10_SHADER_PREFER_FLOW_CONTROL             = 0x00400;
+const unsigned int D3D10_SHADER_ENABLE_STRICTNESS               = 0x00800;
+const unsigned int D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY  = 0x01000;
+const unsigned int D3D10_SHADER_IEEE_STRICTNESS                 = 0x02000;
+const unsigned int D3D10_SHADER_WARNINGS_ARE_ERRORS             = 0x40000;
+
+const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL0             = 0x04000;
+const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL1             = 0x00000;
+const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL2             = 0x0c000;
+const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL3             = 0x08000;
+
+typedef D3D_SHADER_MACRO D3D10_SHADER_MACRO;
+typedef D3D_SHADER_MACRO *LPD3D10_SHADER_MACRO;
+
+typedef D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS;
+typedef D3D_SHADER_VARIABLE_CLASS *LPD3D10_SHADER_VARIABLE_CLASS;
+
+typedef D3D_CBUFFER_TYPE D3D10_CBUFFER_TYPE;
+typedef D3D_CBUFFER_TYPE *LPD3D10_CBUFFER_TYPE;
+
+typedef D3D_REGISTER_COMPONENT_TYPE D3D10_REGISTER_COMPONENT_TYPE;
+
+typedef D3D_RESOURCE_RETURN_TYPE D3D10_RESOURCE_RETURN_TYPE;
+
+typedef D3D_NAME D3D10_NAME;
+
+typedef D3D_SHADER_INPUT_TYPE D3D10_SHADER_INPUT_TYPE;
+typedef D3D_SHADER_INPUT_TYPE *LPD3D10_SHADER_INPUT_TYPE;
+
+typedef D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE;
+typedef D3D_SHADER_VARIABLE_TYPE *LPD3D10_SHADER_VARIABLE_TYPE;
+
+typedef D3D_INCLUDE_TYPE D3D10_INCLUDE_TYPE;
+typedef ID3DInclude ID3D10Include;
+typedef ID3DInclude *LPD3D10INCLUDE;
+cpp_quote("#define IID_ID3D10Include IID_ID3DInclude")
+
+typedef struct _D3D10_SHADER_INPUT_BIND_DESC
+{
+    const char *Name;
+    D3D10_SHADER_INPUT_TYPE Type;
+    UINT BindPoint;
+    UINT BindCount;
+    UINT uFlags;
+    D3D10_RESOURCE_RETURN_TYPE ReturnType;
+    D3D10_SRV_DIMENSION Dimension;
+    UINT NumSamples;
+} D3D10_SHADER_INPUT_BIND_DESC;
+
+typedef struct _D3D10_SIGNATURE_PARAMETER_DESC
+{
+    const char *SemanticName;
+    UINT SemanticIndex;
+    UINT Register;
+    D3D10_NAME SystemValueType;
+    D3D10_REGISTER_COMPONENT_TYPE ComponentType;
+    BYTE Mask;
+    BYTE ReadWriteMask;
+} D3D10_SIGNATURE_PARAMETER_DESC;
+
+typedef struct _D3D10_SHADER_DESC
+{
+    UINT Version;
+    const char *Creator;
+    UINT Flags;
+    UINT ConstantBuffers;
+    UINT BoundResources;
+    UINT InputParameters;
+    UINT OutputParameters;
+    UINT InstructionCount;
+    UINT TempRegisterCount;
+    UINT TempArrayCount;
+    UINT DefCount;
+    UINT DclCount;
+    UINT TextureNormalInstructions;
+    UINT TextureLoadInstructions;
+    UINT TextureCompInstructions;
+    UINT TextureBiasInstructions;
+    UINT TextureGradientInstructions;
+    UINT FloatInstructionCount;
+    UINT IntInstructionCount;
+    UINT UintInstructionCount;
+    UINT StaticFlowControlCount;
+    UINT DynamicFlowControlCount;
+    UINT MacroInstructionCount;
+    UINT ArrayInstructionCount;
+    UINT CutInstructionCount;
+    UINT EmitInstructionCount;
+    D3D10_PRIMITIVE_TOPOLOGY GSOutputTopology;
+    UINT GSMaxOutputVertexCount;
+} D3D10_SHADER_DESC;
+
+typedef struct _D3D10_SHADER_BUFFER_DESC
+{
+    const char *Name;
+    D3D10_CBUFFER_TYPE Type;
+    UINT Variables;
+    UINT Size;
+    UINT uFlags;
+} D3D10_SHADER_BUFFER_DESC;
+
+typedef struct _D3D10_SHADER_VARIABLE_DESC
+{
+    const char *Name;
+    UINT StartOffset;
+    UINT Size;
+    UINT uFlags;
+    void *DefaultValue;
+} D3D10_SHADER_VARIABLE_DESC;
+
+typedef struct _D3D10_SHADER_TYPE_DESC
+{
+    D3D10_SHADER_VARIABLE_CLASS Class;
+    D3D10_SHADER_VARIABLE_TYPE Type;
+    UINT Rows;
+    UINT Columns;
+    UINT Elements;
+    UINT Members;
+    UINT Offset;
+} D3D10_SHADER_TYPE_DESC;
+
+[
+    local,
+    object,
+    uuid(c530ad7d-9b16-4395-a979-ba2ecff83add),
+]
+interface ID3D10ShaderReflectionType
+{
+    HRESULT GetDesc(D3D10_SHADER_TYPE_DESC *desc);
+    ID3D10ShaderReflectionType *GetMemberTypeByIndex(UINT index);
+    ID3D10ShaderReflectionType *GetMemberTypeByName(const char *name);
+    const char *GetMemberTypeName(UINT index);
+};
+
+[
+    local,
+    object,
+    uuid(1bf63c95-2650-405d-99c1-3636bd1da0a1),
+]
+interface ID3D10ShaderReflectionVariable
+{
+    HRESULT GetDesc(D3D10_SHADER_VARIABLE_DESC *desc);
+    ID3D10ShaderReflectionType *GetType();
+};
+
+[
+    local,
+    object,
+    uuid(66c66a94-dddd-4b62-a66a-f0da33c2b4d0),
+]
+interface ID3D10ShaderReflectionConstantBuffer
+{
+    HRESULT GetDesc(D3D10_SHADER_BUFFER_DESC *desc);
+    ID3D10ShaderReflectionVariable *GetVariableByIndex(UINT index);
+    ID3D10ShaderReflectionVariable *GetVariableByName(const char *name);
+};
+
+[
+    local,
+    object,
+    uuid(d40e20b6-f8f7-42ad-ab20-4baf8f15dfaa),
+]
+interface ID3D10ShaderReflection : IUnknown
+{
+    HRESULT GetDesc(D3D10_SHADER_DESC *desc);
+    ID3D10ShaderReflectionConstantBuffer *GetConstantBufferByIndex(UINT index);
+    ID3D10ShaderReflectionConstantBuffer *GetConstantBufferByName(const char *name);
+    HRESULT GetResourceBindingDesc(UINT index, D3D10_SHADER_INPUT_BIND_DESC *desc);
+    HRESULT GetInputParameterDesc(UINT index, D3D10_SIGNATURE_PARAMETER_DESC *desc);
+    HRESULT GetOutputParameterDesc(UINT index, D3D10_SIGNATURE_PARAMETER_DESC *desc);
+};
+
+
+HRESULT __stdcall D3D10CompileShader(const char *data, SIZE_T data_size, const char *filename,
+        const D3D10_SHADER_MACRO *defines, ID3D10Include *include, const char *entrypoint,
+        const char *profile, UINT flags, ID3D10Blob **shader, ID3D10Blob **error_messages);
+HRESULT __stdcall D3D10DisassembleShader(const void *data, SIZE_T data_size,
+        BOOL color_code, const char *comments, ID3D10Blob **disassembly);
+const char * __stdcall D3D10GetVertexShaderProfile(ID3D10Device *device);
+const char * __stdcall D3D10GetGeometryShaderProfile(ID3D10Device *device);
+const char * __stdcall D3D10GetPixelShaderProfile(ID3D10Device *device);
+
+HRESULT __stdcall D3D10ReflectShader(const void *data, SIZE_T data_size, ID3D10ShaderReflection **reflector);
+HRESULT __stdcall D3D10GetInputSignatureBlob(const void *data, SIZE_T data_size, ID3D10Blob **blob);
+HRESULT __stdcall D3D10GetOutputSignatureBlob(const void *data, SIZE_T data_size, ID3D10Blob **blob);
+HRESULT __stdcall D3D10GetInputAndOutputSignatureBlob(const void *data, SIZE_T data_size, ID3D10Blob **blob);
+HRESULT __stdcall D3D10GetShaderDebugInfo(const void *data, SIZE_T data_size, ID3D10Blob **blob);
diff --git a/mingw-w64-headers/include/d3d11.h b/mingw-w64-headers/include/d3d11.h
index d0b40a2..7d97c7c 100644
--- a/mingw-w64-headers/include/d3d11.h
+++ b/mingw-w64-headers/include/d3d11.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d11.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 5663bd2..737785e 100644
--- a/mingw-w64-headers/include/d3d11_1.h
+++ b/mingw-w64-headers/include/d3d11_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d11_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ee1c545..60ad481 100644
--- a/mingw-w64-headers/include/d3d11_2.h
+++ b/mingw-w64-headers/include/d3d11_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d11_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 660da96..5fcb423 100644
--- a/mingw-w64-headers/include/d3d11_3.h
+++ b/mingw-w64-headers/include/d3d11_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d11_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 c693537..8e7a2aa 100644
--- a/mingw-w64-headers/include/d3d11_4.h
+++ b/mingw-w64-headers/include/d3d11_4.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d11_4.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ed70662..1e47636 100644
--- a/mingw-w64-headers/include/d3d11on12.h
+++ b/mingw-w64-headers/include/d3d11on12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d11on12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 5e2d29f..c2c8718 100644
--- a/mingw-w64-headers/include/d3d11sdklayers.h
+++ b/mingw-w64-headers/include/d3d11sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d11sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 991aa6b..2b1b115 100644
--- a/mingw-w64-headers/include/d3d12.h
+++ b/mingw-w64-headers/include/d3d12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8c23a4b..33978fa 100644
--- a/mingw-w64-headers/include/d3d12sdklayers.h
+++ b/mingw-w64-headers/include/d3d12sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d12sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 6a61cf5..ab330dc 100644
--- a/mingw-w64-headers/include/d3d12shader.h
+++ b/mingw-w64-headers/include/d3d12shader.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d12shader.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/d3d12shader.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d12video.h b/mingw-w64-headers/include/d3d12video.h
index be69840..6bf5342 100644
--- a/mingw-w64-headers/include/d3d12video.h
+++ b/mingw-w64-headers/include/d3d12video.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3d12video.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/d3d12video.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 2c5c51b..bd7b9e4 100644
--- a/mingw-w64-headers/include/d3dcommon.h
+++ b/mingw-w64-headers/include/d3dcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/d3dcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 061628f..0554b61 100644
--- a/mingw-w64-headers/include/dbgprop.h
+++ b/mingw-w64-headers/include/dbgprop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dbgprop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 cab322e..78db345 100644
--- a/mingw-w64-headers/include/dcommon.h
+++ b/mingw-w64-headers/include/dcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 bb8ab30..ff9cc8d 100644
--- a/mingw-w64-headers/include/dcompanimation.h
+++ b/mingw-w64-headers/include/dcompanimation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dcompanimation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8d16a37..51d6f0c 100644
--- a/mingw-w64-headers/include/ddstream.h
+++ b/mingw-w64-headers/include/ddstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/ddstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 fc9ad35..a7de470 100644
--- a/mingw-w64-headers/include/devicetopology.h
+++ b/mingw-w64-headers/include/devicetopology.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/devicetopology.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 5fed2f2..6a753be 100644
--- a/mingw-w64-headers/include/dimm.h
+++ b/mingw-w64-headers/include/dimm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dimm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 4b9dabf..7d81de9 100644
--- a/mingw-w64-headers/include/dinputd.h
+++ b/mingw-w64-headers/include/dinputd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dinputd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 b981e82..5900b81 100644
--- a/mingw-w64-headers/include/directmanipulation.h
+++ b/mingw-w64-headers/include/directmanipulation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/directmanipulation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 e66c1c1..8fd849d 100644
--- a/mingw-w64-headers/include/dispex.h
+++ b/mingw-w64-headers/include/dispex.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dispex.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ee04368..c711346 100644
--- a/mingw-w64-headers/include/dmodshow.h
+++ b/mingw-w64-headers/include/dmodshow.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dmodshow.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 e5fdf7e..a96e82b 100644
--- a/mingw-w64-headers/include/docobj.h
+++ b/mingw-w64-headers/include/docobj.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/docobj.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 a2b49d8..70c824a 100644
--- a/mingw-w64-headers/include/docobjectservice.h
+++ b/mingw-w64-headers/include/docobjectservice.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/docobjectservice.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8301d70..e850f61 100644
--- a/mingw-w64-headers/include/documenttarget.h
+++ b/mingw-w64-headers/include/documenttarget.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/documenttarget.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 dcd0146..1ec4314 100644
--- a/mingw-w64-headers/include/downloadmgr.h
+++ b/mingw-w64-headers/include/downloadmgr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/downloadmgr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 aad8ccf..00f3c13 100644
--- a/mingw-w64-headers/include/drmexternals.h
+++ b/mingw-w64-headers/include/drmexternals.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/drmexternals.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 61bb921..7292519 100644
--- a/mingw-w64-headers/include/dvdif.h
+++ b/mingw-w64-headers/include/dvdif.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dvdif.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 73b3cce..e60b80d 100644
--- a/mingw-w64-headers/include/dwrite.h
+++ b/mingw-w64-headers/include/dwrite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dwrite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 b7ac62c..ca5798d 100644
--- a/mingw-w64-headers/include/dwrite_1.h
+++ b/mingw-w64-headers/include/dwrite_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dwrite_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d968373..a13fe6e 100644
--- a/mingw-w64-headers/include/dwrite_2.h
+++ b/mingw-w64-headers/include/dwrite_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dwrite_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 bc9bba6..9184bd3 100644
--- a/mingw-w64-headers/include/dwrite_3.h
+++ b/mingw-w64-headers/include/dwrite_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dwrite_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 822a14d..1c1401e 100644
--- a/mingw-w64-headers/include/dxgi.h
+++ b/mingw-w64-headers/include/dxgi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ac630ad..af4edf9 100644
--- a/mingw-w64-headers/include/dxgi1_2.h
+++ b/mingw-w64-headers/include/dxgi1_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgi1_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 e849c14..079457f 100644
--- a/mingw-w64-headers/include/dxgi1_3.h
+++ b/mingw-w64-headers/include/dxgi1_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgi1_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 837612f..374be31 100644
--- a/mingw-w64-headers/include/dxgi1_4.h
+++ b/mingw-w64-headers/include/dxgi1_4.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgi1_4.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 839dce6..4b21de7 100644
--- a/mingw-w64-headers/include/dxgi1_5.h
+++ b/mingw-w64-headers/include/dxgi1_5.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgi1_5.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 960d8c0..ec568a7 100644
--- a/mingw-w64-headers/include/dxgi1_6.h
+++ b/mingw-w64-headers/include/dxgi1_6.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgi1_6.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 b77f11e..58c90fd 100644
--- a/mingw-w64-headers/include/dxgicommon.h
+++ b/mingw-w64-headers/include/dxgicommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgicommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 9940ba3..3cad550 100644
--- a/mingw-w64-headers/include/dxgidebug.h
+++ b/mingw-w64-headers/include/dxgidebug.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgidebug.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 549ab56..a6e9bb7 100644
--- a/mingw-w64-headers/include/dxgiformat.h
+++ b/mingw-w64-headers/include/dxgiformat.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgiformat.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 67b01ee..6c9791f 100644
--- a/mingw-w64-headers/include/dxgitype.h
+++ b/mingw-w64-headers/include/dxgitype.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxgitype.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 34f42c0..1205f50 100644
--- a/mingw-w64-headers/include/dxva2api.h
+++ b/mingw-w64-headers/include/dxva2api.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxva2api.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 a3f3a73..6456f5b 100644
--- a/mingw-w64-headers/include/dxvahd.h
+++ b/mingw-w64-headers/include/dxvahd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/dxvahd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 67a8c04..3c6b574 100644
--- a/mingw-w64-headers/include/endpointvolume.h
+++ b/mingw-w64-headers/include/endpointvolume.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/endpointvolume.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/endpointvolume.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/eventtoken.h b/mingw-w64-headers/include/eventtoken.h
index c1ef7a6..02fe8a9 100644
--- a/mingw-w64-headers/include/eventtoken.h
+++ b/mingw-w64-headers/include/eventtoken.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/eventtoken.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/eventtoken.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/evr.h b/mingw-w64-headers/include/evr.h
index ca427d1..5205a83 100644
--- a/mingw-w64-headers/include/evr.h
+++ b/mingw-w64-headers/include/evr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/evr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/evr.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/evr9.h b/mingw-w64-headers/include/evr9.h
index 42ae6e7..dec9745 100644
--- a/mingw-w64-headers/include/evr9.h
+++ b/mingw-w64-headers/include/evr9.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/evr9.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/evr9.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/exdisp.h b/mingw-w64-headers/include/exdisp.h
index d03b462..b93f407 100644
--- a/mingw-w64-headers/include/exdisp.h
+++ b/mingw-w64-headers/include/exdisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/exdisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ce78ecd..a148482 100644
--- a/mingw-w64-headers/include/filter.h
+++ b/mingw-w64-headers/include/filter.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/filter.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 a6d4c6c..730fcb2 100644
--- a/mingw-w64-headers/include/fsrm.h
+++ b/mingw-w64-headers/include/fsrm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/fsrm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 414efb0..a9423d5 100644
--- a/mingw-w64-headers/include/fsrmenums.h
+++ b/mingw-w64-headers/include/fsrmenums.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/fsrmenums.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8aee417..6f682d6 100644
--- a/mingw-w64-headers/include/fsrmquota.h
+++ b/mingw-w64-headers/include/fsrmquota.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/fsrmquota.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 95557ff..7c35bea 100644
--- a/mingw-w64-headers/include/fsrmreports.h
+++ b/mingw-w64-headers/include/fsrmreports.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/fsrmreports.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 202bc18..71bcf57 100644
--- a/mingw-w64-headers/include/fsrmscreen.h
+++ b/mingw-w64-headers/include/fsrmscreen.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/fsrmscreen.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 a8a75c7..726f7d3 100644
--- a/mingw-w64-headers/include/fusion.h
+++ b/mingw-w64-headers/include/fusion.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/fusion.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 9d4fa05..1978684 100644
--- a/mingw-w64-headers/include/fwptypes.h
+++ b/mingw-w64-headers/include/fwptypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/fwptypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 0e2a673..7b866ca 100644
--- a/mingw-w64-headers/include/hstring.h
+++ b/mingw-w64-headers/include/hstring.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/hstring.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 a6bcba2..4c5bf3c 100644
--- a/mingw-w64-headers/include/icftypes.h
+++ b/mingw-w64-headers/include/icftypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/icftypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 222aec3..2253fa5 100644
--- a/mingw-w64-headers/include/icodecapi.h
+++ b/mingw-w64-headers/include/icodecapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/icodecapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ab9bb86..edc42bf 100644
--- a/mingw-w64-headers/include/iketypes.h
+++ b/mingw-w64-headers/include/iketypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/iketypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/iketypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/inputpaneinterop.h b/mingw-w64-headers/include/inputpaneinterop.h
index 5bcd87b..d66de03 100644
--- a/mingw-w64-headers/include/inputpaneinterop.h
+++ b/mingw-w64-headers/include/inputpaneinterop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/inputpaneinterop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/inputpaneinterop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/inputscope.h b/mingw-w64-headers/include/inputscope.h
index 9a74521..6ece839 100644
--- a/mingw-w64-headers/include/inputscope.h
+++ b/mingw-w64-headers/include/inputscope.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/inputscope.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 da66c38..c69b417 100644
--- a/mingw-w64-headers/include/inspectable.h
+++ b/mingw-w64-headers/include/inspectable.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/inspectable.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/inspectable.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ivectorchangedeventargs.h b/mingw-w64-headers/include/ivectorchangedeventargs.h
index 5f0dc11..7b657b5 100644
--- a/mingw-w64-headers/include/ivectorchangedeventargs.h
+++ b/mingw-w64-headers/include/ivectorchangedeventargs.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/ivectorchangedeventargs.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/ivectorchangedeventargs.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 d65d945..e609df5 100644
--- a/mingw-w64-headers/include/locationapi.h
+++ b/mingw-w64-headers/include/locationapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/locationapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d5b678a..658969c 100644
--- a/mingw-w64-headers/include/mediaobj.h
+++ b/mingw-w64-headers/include/mediaobj.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mediaobj.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 90ec103..f904865 100644
--- a/mingw-w64-headers/include/medparam.h
+++ b/mingw-w64-headers/include/medparam.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/medparam.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/medparam.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfcaptureengine.h b/mingw-w64-headers/include/mfcaptureengine.h
index 7dd098d..7b20102 100644
--- a/mingw-w64-headers/include/mfcaptureengine.h
+++ b/mingw-w64-headers/include/mfcaptureengine.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mfcaptureengine.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/mfcaptureengine.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfd3d12.h b/mingw-w64-headers/include/mfd3d12.h
index 92734e0..c559d68 100644
--- a/mingw-w64-headers/include/mfd3d12.h
+++ b/mingw-w64-headers/include/mfd3d12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mfd3d12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/mfd3d12.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfidl.h b/mingw-w64-headers/include/mfidl.h
index 32d5df0..e4d1bb4 100644
--- a/mingw-w64-headers/include/mfidl.h
+++ b/mingw-w64-headers/include/mfidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mfidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/mfidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfmediacapture.h b/mingw-w64-headers/include/mfmediacapture.h
index 65914d3..081fa37 100644
--- a/mingw-w64-headers/include/mfmediacapture.h
+++ b/mingw-w64-headers/include/mfmediacapture.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mfmediacapture.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/mfmediacapture.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 032a4a8..6622af3 100644
--- a/mingw-w64-headers/include/mfobjects.h
+++ b/mingw-w64-headers/include/mfobjects.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mfobjects.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 935c2b9..e861a88 100644
--- a/mingw-w64-headers/include/mfplay.h
+++ b/mingw-w64-headers/include/mfplay.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mfplay.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 5dd7bef..a295acf 100644
--- a/mingw-w64-headers/include/mfreadwrite.h
+++ b/mingw-w64-headers/include/mfreadwrite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mfreadwrite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d590889..4b9b9ae 100644
--- a/mingw-w64-headers/include/mftransform.h
+++ b/mingw-w64-headers/include/mftransform.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mftransform.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 4bde38c..fd86c75 100644
--- a/mingw-w64-headers/include/mmdeviceapi.h
+++ b/mingw-w64-headers/include/mmdeviceapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mmdeviceapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 f633d63..7a1c8f1 100644
--- a/mingw-w64-headers/include/mmstream.h
+++ b/mingw-w64-headers/include/mmstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mmstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 539b0ad..48d7af7 100644
--- a/mingw-w64-headers/include/mscoree.h
+++ b/mingw-w64-headers/include/mscoree.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mscoree.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 949446b..d3b6999 100644
--- a/mingw-w64-headers/include/msctf.h
+++ b/mingw-w64-headers/include/msctf.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/msctf.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 f3ed537..4009a8e 100644
--- a/mingw-w64-headers/include/mshtmhst.h
+++ b/mingw-w64-headers/include/mshtmhst.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mshtmhst.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 c260eb9..e8f72de 100644
--- a/mingw-w64-headers/include/mshtml.h
+++ b/mingw-w64-headers/include/mshtml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/mshtml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ae12d24..9760ff4 100644
--- a/mingw-w64-headers/include/msinkaut.h
+++ b/mingw-w64-headers/include/msinkaut.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/msinkaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d6dec91..498f012 100644
--- a/mingw-w64-headers/include/msinkaut_i.c
+++ b/mingw-w64-headers/include/msinkaut_i.c
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from msinkaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from msinkaut.idl - Do not edit ***/
 
 #include <rpc.h>
 #include <rpcndr.h>
diff --git a/mingw-w64-headers/include/msopc.h b/mingw-w64-headers/include/msopc.h
index 3cb1826..d40fa7c 100644
--- a/mingw-w64-headers/include/msopc.h
+++ b/mingw-w64-headers/include/msopc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/msopc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 f33b149..6d2879a 100644
--- a/mingw-w64-headers/include/msxml.h
+++ b/mingw-w64-headers/include/msxml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/msxml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/msxml.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msxml2.h b/mingw-w64-headers/include/msxml2.h
index ff8f674..75dfb0c 100644
--- a/mingw-w64-headers/include/msxml2.h
+++ b/mingw-w64-headers/include/msxml2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/msxml2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/msxml2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msxml6.h b/mingw-w64-headers/include/msxml6.h
index d801e35..cc8b356 100644
--- a/mingw-w64-headers/include/msxml6.h
+++ b/mingw-w64-headers/include/msxml6.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/msxml6.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/msxml6.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napcertrelyingparty.h b/mingw-w64-headers/include/napcertrelyingparty.h
index b2873c4..5215c48 100644
--- a/mingw-w64-headers/include/napcertrelyingparty.h
+++ b/mingw-w64-headers/include/napcertrelyingparty.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/napcertrelyingparty.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7593bff..b26f6b3 100644
--- a/mingw-w64-headers/include/napcommon.h
+++ b/mingw-w64-headers/include/napcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/napcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 97869e9..20af307 100644
--- a/mingw-w64-headers/include/napenforcementclient.h
+++ b/mingw-w64-headers/include/napenforcementclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/napenforcementclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 6ad1f2c..5ba0159 100644
--- a/mingw-w64-headers/include/napmanagement.h
+++ b/mingw-w64-headers/include/napmanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/napmanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 627d232..b48ff28 100644
--- a/mingw-w64-headers/include/napprotocol.h
+++ b/mingw-w64-headers/include/napprotocol.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/napprotocol.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 f0bd5ba..74c3016 100644
--- a/mingw-w64-headers/include/napservermanagement.h
+++ b/mingw-w64-headers/include/napservermanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/napservermanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 6c18743..7b91c4e 100644
--- a/mingw-w64-headers/include/napsystemhealthagent.h
+++ b/mingw-w64-headers/include/napsystemhealthagent.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/napsystemhealthagent.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7530a23..b665466 100644
--- a/mingw-w64-headers/include/napsystemhealthvalidator.h
+++ b/mingw-w64-headers/include/napsystemhealthvalidator.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/napsystemhealthvalidator.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 cffba66..8524263 100644
--- a/mingw-w64-headers/include/naptypes.h
+++ b/mingw-w64-headers/include/naptypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/naptypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 26c8091..ea89447 100644
--- a/mingw-w64-headers/include/netcfgn.h
+++ b/mingw-w64-headers/include/netcfgn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/netcfgn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 bee7b95..f7659d7 100644
--- a/mingw-w64-headers/include/netcfgx.h
+++ b/mingw-w64-headers/include/netcfgx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/netcfgx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ffe5105..58c3a01 100644
--- a/mingw-w64-headers/include/netfw.h
+++ b/mingw-w64-headers/include/netfw.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/netfw.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 bcf5f2f..11db0d7 100644
--- a/mingw-w64-headers/include/netlistmgr.h
+++ b/mingw-w64-headers/include/netlistmgr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/netlistmgr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 405fb2e..2fa4115 100644
--- a/mingw-w64-headers/include/oaidl.h
+++ b/mingw-w64-headers/include/oaidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/oaidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 2073880..bda821d 100644
--- a/mingw-w64-headers/include/objectarray.h
+++ b/mingw-w64-headers/include/objectarray.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/objectarray.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 1247696..6e9c248 100644
--- a/mingw-w64-headers/include/objidl.h
+++ b/mingw-w64-headers/include/objidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/objidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d115030..84111bb 100644
--- a/mingw-w64-headers/include/objidlbase.h
+++ b/mingw-w64-headers/include/objidlbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/objidlbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 c1f967e..c5f726e 100644
--- a/mingw-w64-headers/include/ocidl.h
+++ b/mingw-w64-headers/include/ocidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/ocidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 aab4ef7..132fd6b 100644
--- a/mingw-w64-headers/include/oleacc.h
+++ b/mingw-w64-headers/include/oleacc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/oleacc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 61d4eee..efa003b 100644
--- a/mingw-w64-headers/include/oleidl.h
+++ b/mingw-w64-headers/include/oleidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/oleidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7b1b257..0ce5e4e 100644
--- a/mingw-w64-headers/include/optary.h
+++ b/mingw-w64-headers/include/optary.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/optary.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/optary.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/portabledeviceapi.h b/mingw-w64-headers/include/portabledeviceapi.h
index ac7d14b..6ddc055 100644
--- a/mingw-w64-headers/include/portabledeviceapi.h
+++ b/mingw-w64-headers/include/portabledeviceapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/portabledeviceapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/portabledeviceapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/portabledevicetypes.h b/mingw-w64-headers/include/portabledevicetypes.h
index e1ddb9e..4028c74 100644
--- a/mingw-w64-headers/include/portabledevicetypes.h
+++ b/mingw-w64-headers/include/portabledevicetypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/portabledevicetypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/portabledevicetypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/proofofpossessioncookieinfo.h b/mingw-w64-headers/include/proofofpossessioncookieinfo.h
index 62c2baf..75458bc 100644
--- a/mingw-w64-headers/include/proofofpossessioncookieinfo.h
+++ b/mingw-w64-headers/include/proofofpossessioncookieinfo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/proofofpossessioncookieinfo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/proofofpossessioncookieinfo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/propidl.h b/mingw-w64-headers/include/propidl.h
index 6eef3f7..923b026 100644
--- a/mingw-w64-headers/include/propidl.h
+++ b/mingw-w64-headers/include/propidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/propidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 3cb0b77..b616122 100644
--- a/mingw-w64-headers/include/propsys.h
+++ b/mingw-w64-headers/include/propsys.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/propsys.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/propsys.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/propvarutil.h b/mingw-w64-headers/include/propvarutil.h
index 968f640..7c9f3bf 100644
--- a/mingw-w64-headers/include/propvarutil.h
+++ b/mingw-w64-headers/include/propvarutil.h
@@ -27,6 +27,16 @@
 typedef LONG NTSTATUS;
 #endif
 
+#ifndef PSSTDAPI
+#ifdef _PROPSYS_
+#define PSSTDAPI          STDAPI
+#define PSSTDAPI_(type)   STDAPI_(type)
+#else
+#define PSSTDAPI          DECLSPEC_IMPORT STDAPI
+#define PSSTDAPI_(type)   DECLSPEC_IMPORT STDAPI_(type)
+#endif
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -68,36 +78,37 @@
 
 typedef int PROPVAR_COMPARE_FLAGS;
 
-HRESULT WINAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT propvarSrc,
+PSSTDAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT propvarSrc,
                                      PROPVAR_CHANGE_FLAGS flags, VARTYPE vt);
-HRESULT WINAPI InitPropVariantFromGUIDAsString(REFGUID guid, PROPVARIANT *ppropvar);
-HRESULT WINAPI InitVariantFromFileTime(const FILETIME *ft, VARIANT *var);
-HRESULT WINAPI InitVariantFromGUIDAsString(REFGUID guid, VARIANT *pvar);
-HRESULT WINAPI InitPropVariantFromBuffer(const VOID *pv, UINT cb, PROPVARIANT *ppropvar);
-HRESULT WINAPI InitPropVariantFromCLSID(REFCLSID clsid, PROPVARIANT *ppropvar);
-HRESULT WINAPI InitVariantFromBuffer(const VOID *pv, UINT cb, VARIANT *pvar);
-HRESULT WINAPI PropVariantToGUID(const PROPVARIANT *ppropvar, GUID *guid);
-HRESULT WINAPI VariantToGUID(const VARIANT *pvar, GUID *guid);
-INT WINAPI PropVariantCompareEx(REFPROPVARIANT propvar1, REFPROPVARIANT propvar2,
+PSSTDAPI InitPropVariantFromGUIDAsString(REFGUID guid, PROPVARIANT *ppropvar);
+PSSTDAPI InitVariantFromFileTime(const FILETIME *ft, VARIANT *var);
+PSSTDAPI InitVariantFromGUIDAsString(REFGUID guid, VARIANT *pvar);
+PSSTDAPI InitPropVariantFromBuffer(const VOID *pv, UINT cb, PROPVARIANT *ppropvar);
+PSSTDAPI InitPropVariantFromCLSID(REFCLSID clsid, PROPVARIANT *ppropvar);
+PSSTDAPI InitVariantFromBuffer(const VOID *pv, UINT cb, VARIANT *pvar);
+PSSTDAPI PropVariantToGUID(const PROPVARIANT *ppropvar, GUID *guid);
+PSSTDAPI VariantToGUID(const VARIANT *pvar, GUID *guid);
+PSSTDAPI_(INT) PropVariantCompareEx(REFPROPVARIANT propvar1, REFPROPVARIANT propvar2,
                                 PROPVAR_COMPARE_UNIT uint, PROPVAR_COMPARE_FLAGS flags);
-HRESULT WINAPI InitPropVariantFromFileTime(const FILETIME *pftIn, PROPVARIANT *ppropvar);
-HRESULT WINAPI InitPropVariantFromStringVector(PCWSTR *strs, ULONG count, PROPVARIANT *ppropvar);
+PSSTDAPI InitPropVariantFromFileTime(const FILETIME *pftIn, PROPVARIANT *ppropvar);
+PSSTDAPI InitPropVariantFromStringVector(PCWSTR *strs, ULONG count, PROPVARIANT *ppropvar);
 
-HRESULT WINAPI PropVariantToDouble(REFPROPVARIANT propvarIn, double *ret);
-HRESULT WINAPI PropVariantToInt16(REFPROPVARIANT propvarIn, SHORT *ret);
-HRESULT WINAPI PropVariantToInt32(REFPROPVARIANT propvarIn, LONG *ret);
-HRESULT WINAPI PropVariantToInt64(REFPROPVARIANT propvarIn, LONGLONG *ret);
-HRESULT WINAPI PropVariantToUInt16(REFPROPVARIANT propvarIn, USHORT *ret);
-HRESULT WINAPI PropVariantToUInt32(REFPROPVARIANT propvarIn, ULONG *ret);
-HRESULT WINAPI PropVariantToUInt64(REFPROPVARIANT propvarIn, ULONGLONG *ret);
-HRESULT WINAPI PropVariantToBoolean(REFPROPVARIANT propvarIn, WINBOOL *ret);
-HRESULT WINAPI PropVariantToBuffer(REFPROPVARIANT propvarIn, void *ret, UINT cb);
-HRESULT WINAPI PropVariantToString(REFPROPVARIANT propvarIn, PWSTR ret, UINT cch);
-PCWSTR WINAPI PropVariantToStringWithDefault(REFPROPVARIANT propvarIn, LPCWSTR pszDefault);
-PCWSTR WINAPI VariantToStringWithDefault(const VARIANT *pvar, LPCWSTR pszDefault);
-HRESULT WINAPI VariantToString(REFVARIANT var, PWSTR ret, UINT cch);
+PSSTDAPI PropVariantToDouble(REFPROPVARIANT propvarIn, double *ret);
+PSSTDAPI PropVariantToInt16(REFPROPVARIANT propvarIn, SHORT *ret);
+PSSTDAPI PropVariantToInt32(REFPROPVARIANT propvarIn, LONG *ret);
+PSSTDAPI PropVariantToInt64(REFPROPVARIANT propvarIn, LONGLONG *ret);
+PSSTDAPI PropVariantToUInt16(REFPROPVARIANT propvarIn, USHORT *ret);
+PSSTDAPI PropVariantToUInt32(REFPROPVARIANT propvarIn, ULONG *ret);
+PSSTDAPI_(ULONG) PropVariantToUInt32WithDefault(REFPROPVARIANT propvarIn, ULONG uLDefault);
+PSSTDAPI PropVariantToUInt64(REFPROPVARIANT propvarIn, ULONGLONG *ret);
+PSSTDAPI PropVariantToBoolean(REFPROPVARIANT propvarIn, WINBOOL *ret);
+PSSTDAPI PropVariantToBuffer(REFPROPVARIANT propvarIn, void *ret, UINT cb);
+PSSTDAPI PropVariantToString(REFPROPVARIANT propvarIn, PWSTR ret, UINT cch);
+PSSTDAPI_(PCWSTR) PropVariantToStringWithDefault(REFPROPVARIANT propvarIn, LPCWSTR pszDefault);
+PSSTDAPI_(PCWSTR) VariantToStringWithDefault(const VARIANT *pvar, LPCWSTR pszDefault);
+PSSTDAPI VariantToString(REFVARIANT var, PWSTR ret, UINT cch);
 
-HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret);
+PSSTDAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret);
 
 #ifdef __cplusplus
 
@@ -207,8 +218,8 @@
 #endif /* NO_PROPVAR_INLINES */
 #endif /* __cplusplus */
 
-HRESULT WINAPI StgSerializePropVariant(const PROPVARIANT *ppropvar, SERIALIZEDPROPERTYVALUE **ppprop, ULONG *pcb);
-HRESULT WINAPI StgDeserializePropVariant(const SERIALIZEDPROPERTYVALUE *pprop, ULONG cbmax, PROPVARIANT *ppropvar);
+PSSTDAPI StgSerializePropVariant(const PROPVARIANT *ppropvar, SERIALIZEDPROPERTYVALUE **ppprop, ULONG *pcb);
+PSSTDAPI StgDeserializePropVariant(const SERIALIZEDPROPERTYVALUE *pprop, ULONG cbmax, PROPVARIANT *ppropvar);
 
 #ifdef __cplusplus
 }
diff --git a/mingw-w64-headers/include/qedit.h b/mingw-w64-headers/include/qedit.h
index b2f63f3..e8a15cb 100644
--- a/mingw-w64-headers/include/qedit.h
+++ b/mingw-w64-headers/include/qedit.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/qedit.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8d23406..7f15f75 100644
--- a/mingw-w64-headers/include/qnetwork.h
+++ b/mingw-w64-headers/include/qnetwork.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/qnetwork.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/qnetwork.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/rdpencomapi.h b/mingw-w64-headers/include/rdpencomapi.h
index b942910..4765153 100644
--- a/mingw-w64-headers/include/rdpencomapi.h
+++ b/mingw-w64-headers/include/rdpencomapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/rdpencomapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/rdpencomapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/regbag.h b/mingw-w64-headers/include/regbag.h
index d10ebce..bb46c4c 100644
--- a/mingw-w64-headers/include/regbag.h
+++ b/mingw-w64-headers/include/regbag.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/regbag.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 6e96037..95bb4a0 100644
--- a/mingw-w64-headers/include/relogger.h
+++ b/mingw-w64-headers/include/relogger.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/relogger.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/relogger.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/robuffer.h b/mingw-w64-headers/include/robuffer.h
index 3ebb64c..e589359 100644
--- a/mingw-w64-headers/include/robuffer.h
+++ b/mingw-w64-headers/include/robuffer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/robuffer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/robuffer.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/rtworkq.h b/mingw-w64-headers/include/rtworkq.h
index 17ff8aa..02c4a30 100644
--- a/mingw-w64-headers/include/rtworkq.h
+++ b/mingw-w64-headers/include/rtworkq.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/rtworkq.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/rtworkq.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sapi51.h b/mingw-w64-headers/include/sapi51.h
index 0746a26..02e405d 100644
--- a/mingw-w64-headers/include/sapi51.h
+++ b/mingw-w64-headers/include/sapi51.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/sapi51.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7f1f9d7..12b24a5 100644
--- a/mingw-w64-headers/include/sapi53.h
+++ b/mingw-w64-headers/include/sapi53.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/sapi53.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 0743359..0e500ea 100644
--- a/mingw-w64-headers/include/sapi54.h
+++ b/mingw-w64-headers/include/sapi54.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/sapi54.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 bd2e9aa..94a3463 100644
--- a/mingw-w64-headers/include/sensorsapi.h
+++ b/mingw-w64-headers/include/sensorsapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/sensorsapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 c2edf50..eaa5135 100644
--- a/mingw-w64-headers/include/servprov.h
+++ b/mingw-w64-headers/include/servprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/servprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 435f89c..2711749 100644
--- a/mingw-w64-headers/include/shldisp.h
+++ b/mingw-w64-headers/include/shldisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/shldisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 3fcbc8b..681f7cb 100644
--- a/mingw-w64-headers/include/shobjidl.h
+++ b/mingw-w64-headers/include/shobjidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/shobjidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8c7a27b..b46f8b2 100644
--- a/mingw-w64-headers/include/shtypes.h
+++ b/mingw-w64-headers/include/shtypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/shtypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 fd58448..09d7d7f 100644
--- a/mingw-w64-headers/include/spatialaudioclient.h
+++ b/mingw-w64-headers/include/spatialaudioclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/spatialaudioclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/spatialaudioclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/spellcheck.h b/mingw-w64-headers/include/spellcheck.h
index 088ba98..60e8b73 100644
--- a/mingw-w64-headers/include/spellcheck.h
+++ b/mingw-w64-headers/include/spellcheck.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/spellcheck.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/spellcheck.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/strmif.h b/mingw-w64-headers/include/strmif.h
index 63ed1d4..af69282 100644
--- a/mingw-w64-headers/include/strmif.h
+++ b/mingw-w64-headers/include/strmif.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/strmif.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 2ce1301..70dc4f3 100644
--- a/mingw-w64-headers/include/structuredquerycondition.h
+++ b/mingw-w64-headers/include/structuredquerycondition.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/structuredquerycondition.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/structuredquerycondition.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/systemmediatransportcontrolsinterop.h b/mingw-w64-headers/include/systemmediatransportcontrolsinterop.h
index a22ed86..a290e1f 100644
--- a/mingw-w64-headers/include/systemmediatransportcontrolsinterop.h
+++ b/mingw-w64-headers/include/systemmediatransportcontrolsinterop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/systemmediatransportcontrolsinterop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/systemmediatransportcontrolsinterop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/taskschd.h b/mingw-w64-headers/include/taskschd.h
index b731e71..1d32e4b 100644
--- a/mingw-w64-headers/include/taskschd.h
+++ b/mingw-w64-headers/include/taskschd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/taskschd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 e2df5b2..82a1a73 100644
--- a/mingw-w64-headers/include/textstor.h
+++ b/mingw-w64-headers/include/textstor.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/textstor.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 339b9d3..9dbcdf0 100644
--- a/mingw-w64-headers/include/thumbcache.h
+++ b/mingw-w64-headers/include/thumbcache.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/thumbcache.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d979a74..0ec2071 100644
--- a/mingw-w64-headers/include/tlbref.h
+++ b/mingw-w64-headers/include/tlbref.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/tlbref.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 fd6e54d..13bb33b 100644
--- a/mingw-w64-headers/include/tlogstg.h
+++ b/mingw-w64-headers/include/tlogstg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/tlogstg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 961d414..3e0ffed 100644
--- a/mingw-w64-headers/include/tpcshrd.h
+++ b/mingw-w64-headers/include/tpcshrd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/tpcshrd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/tpcshrd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tsvirtualchannels.h b/mingw-w64-headers/include/tsvirtualchannels.h
index efc17b7..b4b5ba2 100644
--- a/mingw-w64-headers/include/tsvirtualchannels.h
+++ b/mingw-w64-headers/include/tsvirtualchannels.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/tsvirtualchannels.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/tsvirtualchannels.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tuner.h b/mingw-w64-headers/include/tuner.h
index 937d473..e541db1 100644
--- a/mingw-w64-headers/include/tuner.h
+++ b/mingw-w64-headers/include/tuner.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/tuner.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 935786b..51bdf6a 100644
--- a/mingw-w64-headers/include/uianimation.h
+++ b/mingw-w64-headers/include/uianimation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/uianimation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 502281a..f11aed6 100644
--- a/mingw-w64-headers/include/uiautomationclient.h
+++ b/mingw-w64-headers/include/uiautomationclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/uiautomationclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 0d6e322..85c21a5 100644
--- a/mingw-w64-headers/include/uiautomationcore.h
+++ b/mingw-w64-headers/include/uiautomationcore.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/uiautomationcore.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/uiautomationcore.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uiautomationcoreapi.h b/mingw-w64-headers/include/uiautomationcoreapi.h
index 6521a7c..9135458 100644
--- a/mingw-w64-headers/include/uiautomationcoreapi.h
+++ b/mingw-w64-headers/include/uiautomationcoreapi.h
@@ -559,6 +559,7 @@
 HRESULT WINAPI UiaEventAddWindow(HUIAEVENT huiaevent, HWND hwnd);
 HRESULT WINAPI UiaEventRemoveWindow(HUIAEVENT huiaevent, HWND hwnd);
 WINBOOL WINAPI UiaHasServerSideProvider(HWND hwnd);
+WINBOOL WINAPI UiaClientsAreListening(void);
 
 #ifdef __cplusplus
 }
diff --git a/mingw-w64-headers/include/uiviewsettingsinterop.h b/mingw-w64-headers/include/uiviewsettingsinterop.h
index ee65ab4..5260fc9 100644
--- a/mingw-w64-headers/include/uiviewsettingsinterop.h
+++ b/mingw-w64-headers/include/uiviewsettingsinterop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/uiviewsettingsinterop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 4ef31bd..baac4b2 100644
--- a/mingw-w64-headers/include/unknwn.h
+++ b/mingw-w64-headers/include/unknwn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/unknwn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 15365e8..2f29588 100644
--- a/mingw-w64-headers/include/unknwnbase.h
+++ b/mingw-w64-headers/include/unknwnbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/unknwnbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7bba544..66f8283 100644
--- a/mingw-w64-headers/include/urlhist.h
+++ b/mingw-w64-headers/include/urlhist.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/urlhist.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 f7ba350..2f156f8 100644
--- a/mingw-w64-headers/include/urlmon.h
+++ b/mingw-w64-headers/include/urlmon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/urlmon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/urlmon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vdslun.h b/mingw-w64-headers/include/vdslun.h
index 3c3f296..7ca70ef 100644
--- a/mingw-w64-headers/include/vdslun.h
+++ b/mingw-w64-headers/include/vdslun.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vdslun.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vdslun.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vidcap.h b/mingw-w64-headers/include/vidcap.h
index 7c96adb..c99eb74 100644
--- a/mingw-w64-headers/include/vidcap.h
+++ b/mingw-w64-headers/include/vidcap.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vidcap.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vidcap.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vmr9.h b/mingw-w64-headers/include/vmr9.h
index df2044e..81227a9 100644
--- a/mingw-w64-headers/include/vmr9.h
+++ b/mingw-w64-headers/include/vmr9.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vmr9.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vmr9.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vsadmin.h b/mingw-w64-headers/include/vsadmin.h
index 17a9769..24460d2 100644
--- a/mingw-w64-headers/include/vsadmin.h
+++ b/mingw-w64-headers/include/vsadmin.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vsadmin.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vsadmin.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vsbackup.h b/mingw-w64-headers/include/vsbackup.h
index 0115580..7db3722 100644
--- a/mingw-w64-headers/include/vsbackup.h
+++ b/mingw-w64-headers/include/vsbackup.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vsbackup.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vsbackup.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vsmgmt.h b/mingw-w64-headers/include/vsmgmt.h
index 9be5fc4..24d8b1d 100644
--- a/mingw-w64-headers/include/vsmgmt.h
+++ b/mingw-w64-headers/include/vsmgmt.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vsmgmt.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vsmgmt.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vsprov.h b/mingw-w64-headers/include/vsprov.h
index dc83d31..35ea27f 100644
--- a/mingw-w64-headers/include/vsprov.h
+++ b/mingw-w64-headers/include/vsprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vsprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vsprov.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vss.h b/mingw-w64-headers/include/vss.h
index eb5edcf..fdaf2a0 100644
--- a/mingw-w64-headers/include/vss.h
+++ b/mingw-w64-headers/include/vss.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vss.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vss.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vswriter.h b/mingw-w64-headers/include/vswriter.h
index 4c1e14e..0f328a0 100644
--- a/mingw-w64-headers/include/vswriter.h
+++ b/mingw-w64-headers/include/vswriter.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/vswriter.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/vswriter.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemads.h b/mingw-w64-headers/include/wbemads.h
index 247b029..5adfda1 100644
--- a/mingw-w64-headers/include/wbemads.h
+++ b/mingw-w64-headers/include/wbemads.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wbemads.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 e8ff540..879fecb 100644
--- a/mingw-w64-headers/include/wbemcli.h
+++ b/mingw-w64-headers/include/wbemcli.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wbemcli.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 9362a3d..64243ed 100644
--- a/mingw-w64-headers/include/wbemdisp.h
+++ b/mingw-w64-headers/include/wbemdisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wbemdisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 76e17cd..bd997bc 100644
--- a/mingw-w64-headers/include/wbemprov.h
+++ b/mingw-w64-headers/include/wbemprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wbemprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 c4c328f..9c3006d 100644
--- a/mingw-w64-headers/include/wbemtran.h
+++ b/mingw-w64-headers/include/wbemtran.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wbemtran.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8e3db0c..515d20b 100644
--- a/mingw-w64-headers/include/wdstptmgmt.h
+++ b/mingw-w64-headers/include/wdstptmgmt.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wdstptmgmt.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d4b75c3..45a1a2b 100644
--- a/mingw-w64-headers/include/wincodec.h
+++ b/mingw-w64-headers/include/wincodec.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wincodec.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7e78d24..fbf7af4 100644
--- a/mingw-w64-headers/include/wincodecsdk.h
+++ b/mingw-w64-headers/include/wincodecsdk.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wincodecsdk.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/wincodecsdk.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.core.h b/mingw-w64-headers/include/windows.applicationmodel.core.h
index 372461e..c2ee212 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.core.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.core.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.applicationmodel.core.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.applicationmodel.core.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.applicationmodel.h b/mingw-w64-headers/include/windows.applicationmodel.h
index 51cf6ea..daddd56 100644
--- a/mingw-w64-headers/include/windows.applicationmodel.h
+++ b/mingw-w64-headers/include/windows.applicationmodel.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.applicationmodel.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.applicationmodel.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.bluetooth.h b/mingw-w64-headers/include/windows.devices.bluetooth.h
index 789236e..9d872ed 100644
--- a/mingw-w64-headers/include/windows.devices.bluetooth.h
+++ b/mingw-w64-headers/include/windows.devices.bluetooth.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.devices.bluetooth.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.devices.bluetooth.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.enumeration.h b/mingw-w64-headers/include/windows.devices.enumeration.h
index fa8a96c..d15dc4b 100644
--- a/mingw-w64-headers/include/windows.devices.enumeration.h
+++ b/mingw-w64-headers/include/windows.devices.enumeration.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.devices.enumeration.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.devices.enumeration.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.geolocation.h b/mingw-w64-headers/include/windows.devices.geolocation.h
index c5a0d64..bdd20f9 100644
--- a/mingw-w64-headers/include/windows.devices.geolocation.h
+++ b/mingw-w64-headers/include/windows.devices.geolocation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.devices.geolocation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.devices.geolocation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.haptics.h b/mingw-w64-headers/include/windows.devices.haptics.h
index 7acf2cc..ffc26e4 100644
--- a/mingw-w64-headers/include/windows.devices.haptics.h
+++ b/mingw-w64-headers/include/windows.devices.haptics.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.devices.haptics.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.devices.haptics.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.power.h b/mingw-w64-headers/include/windows.devices.power.h
index 0709986..9a4dc54 100644
--- a/mingw-w64-headers/include/windows.devices.power.h
+++ b/mingw-w64-headers/include/windows.devices.power.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.devices.power.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.devices.power.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.radios.h b/mingw-w64-headers/include/windows.devices.radios.h
index bfc750e..008893c 100644
--- a/mingw-w64-headers/include/windows.devices.radios.h
+++ b/mingw-w64-headers/include/windows.devices.radios.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.devices.radios.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.devices.radios.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.devices.usb.h b/mingw-w64-headers/include/windows.devices.usb.h
index c3e9f21..029023c 100644
--- a/mingw-w64-headers/include/windows.devices.usb.h
+++ b/mingw-w64-headers/include/windows.devices.usb.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.devices.usb.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.devices.usb.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.collections.h b/mingw-w64-headers/include/windows.foundation.collections.h
index a5a83f1..a4dd47c 100644
--- a/mingw-w64-headers/include/windows.foundation.collections.h
+++ b/mingw-w64-headers/include/windows.foundation.collections.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.foundation.collections.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.foundation.collections.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h
index 6647e5e..c0c70f3 100644
--- a/mingw-w64-headers/include/windows.foundation.h
+++ b/mingw-w64-headers/include/windows.foundation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.foundation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.foundation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.metadata.h b/mingw-w64-headers/include/windows.foundation.metadata.h
index f07f9c7..7c1af60 100644
--- a/mingw-w64-headers/include/windows.foundation.metadata.h
+++ b/mingw-w64-headers/include/windows.foundation.metadata.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.foundation.metadata.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.foundation.metadata.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.numerics.h b/mingw-w64-headers/include/windows.foundation.numerics.h
index 614d40b..bc25f33 100644
--- a/mingw-w64-headers/include/windows.foundation.numerics.h
+++ b/mingw-w64-headers/include/windows.foundation.numerics.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.foundation.numerics.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.foundation.numerics.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.gaming.input.custom.h b/mingw-w64-headers/include/windows.gaming.input.custom.h
index 56c9f89..f6ccfa0 100644
--- a/mingw-w64-headers/include/windows.gaming.input.custom.h
+++ b/mingw-w64-headers/include/windows.gaming.input.custom.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.gaming.input.custom.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.gaming.input.custom.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.gaming.input.forcefeedback.h b/mingw-w64-headers/include/windows.gaming.input.forcefeedback.h
index f96f2a8..d711227 100644
--- a/mingw-w64-headers/include/windows.gaming.input.forcefeedback.h
+++ b/mingw-w64-headers/include/windows.gaming.input.forcefeedback.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.gaming.input.forcefeedback.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.gaming.input.forcefeedback.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.gaming.input.h b/mingw-w64-headers/include/windows.gaming.input.h
index 5bd8c60..adf8825 100644
--- a/mingw-w64-headers/include/windows.gaming.input.h
+++ b/mingw-w64-headers/include/windows.gaming.input.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.gaming.input.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.gaming.input.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.gaming.ui.h b/mingw-w64-headers/include/windows.gaming.ui.h
index 539dddd..d612af9 100644
--- a/mingw-w64-headers/include/windows.gaming.ui.h
+++ b/mingw-w64-headers/include/windows.gaming.ui.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.gaming.ui.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.gaming.ui.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.globalization.h b/mingw-w64-headers/include/windows.globalization.h
index 11d1fd2..0bdf236 100644
--- a/mingw-w64-headers/include/windows.globalization.h
+++ b/mingw-w64-headers/include/windows.globalization.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.globalization.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.globalization.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.capture.h b/mingw-w64-headers/include/windows.graphics.capture.h
index b279639..d8d5409 100644
--- a/mingw-w64-headers/include/windows.graphics.capture.h
+++ b/mingw-w64-headers/include/windows.graphics.capture.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.graphics.capture.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.graphics.capture.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.capture.interop.h b/mingw-w64-headers/include/windows.graphics.capture.interop.h
index 6e32dab..f4f632f 100644
--- a/mingw-w64-headers/include/windows.graphics.capture.interop.h
+++ b/mingw-w64-headers/include/windows.graphics.capture.interop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.graphics.capture.interop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.graphics.capture.interop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.directx.direct3d11.h b/mingw-w64-headers/include/windows.graphics.directx.direct3d11.h
index 9053de7..354258f 100644
--- a/mingw-w64-headers/include/windows.graphics.directx.direct3d11.h
+++ b/mingw-w64-headers/include/windows.graphics.directx.direct3d11.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.graphics.directx.direct3d11.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.graphics.directx.direct3d11.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.directx.h b/mingw-w64-headers/include/windows.graphics.directx.h
index 8b1d875..8e6d089 100644
--- a/mingw-w64-headers/include/windows.graphics.directx.h
+++ b/mingw-w64-headers/include/windows.graphics.directx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.graphics.directx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.graphics.directx.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.effects.h b/mingw-w64-headers/include/windows.graphics.effects.h
index 73d0af8..c193190 100644
--- a/mingw-w64-headers/include/windows.graphics.effects.h
+++ b/mingw-w64-headers/include/windows.graphics.effects.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.graphics.effects.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.graphics.effects.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.graphics.holographic.h b/mingw-w64-headers/include/windows.graphics.holographic.h
index 99ae61c..8979bda 100644
--- a/mingw-w64-headers/include/windows.graphics.holographic.h
+++ b/mingw-w64-headers/include/windows.graphics.holographic.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.graphics.holographic.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.graphics.holographic.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.management.deployment.h b/mingw-w64-headers/include/windows.management.deployment.h
index 3b23a0f..289dd79 100644
--- a/mingw-w64-headers/include/windows.management.deployment.h
+++ b/mingw-w64-headers/include/windows.management.deployment.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.management.deployment.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.management.deployment.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.capture.h b/mingw-w64-headers/include/windows.media.capture.h
index b1ffd6d..15fc1f9 100644
--- a/mingw-w64-headers/include/windows.media.capture.h
+++ b/mingw-w64-headers/include/windows.media.capture.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.media.capture.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.media.capture.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.closedcaptioning.h b/mingw-w64-headers/include/windows.media.closedcaptioning.h
index dff5ee3..9e662a7 100644
--- a/mingw-w64-headers/include/windows.media.closedcaptioning.h
+++ b/mingw-w64-headers/include/windows.media.closedcaptioning.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.media.closedcaptioning.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.media.closedcaptioning.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.devices.h b/mingw-w64-headers/include/windows.media.devices.h
index 12f0624..618a1ca 100644
--- a/mingw-w64-headers/include/windows.media.devices.h
+++ b/mingw-w64-headers/include/windows.media.devices.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.media.devices.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.media.devices.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.effects.h b/mingw-w64-headers/include/windows.media.effects.h
index 40350ac..7eec024 100644
--- a/mingw-w64-headers/include/windows.media.effects.h
+++ b/mingw-w64-headers/include/windows.media.effects.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.media.effects.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.media.effects.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.h b/mingw-w64-headers/include/windows.media.h
index b1a7f67..cca38ad 100644
--- a/mingw-w64-headers/include/windows.media.h
+++ b/mingw-w64-headers/include/windows.media.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.media.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.media.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -41,6 +41,36 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties __x_ABI_CWindows_CMedia_CIMusicDisplayProperties;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties ABI::Windows::Media::IMusicDisplayProperties
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface IMusicDisplayProperties;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 ABI::Windows::Media::IMusicDisplayProperties2
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface IMusicDisplayProperties2;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CMedia_CISystemMediaTransportControls_FWD_DEFINED__
 #define ____x_ABI_CWindows_CMedia_CISystemMediaTransportControls_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CMedia_CISystemMediaTransportControls __x_ABI_CWindows_CMedia_CISystemMediaTransportControls;
@@ -56,6 +86,21 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater ABI::Windows::Media::ISystemMediaTransportControlsDisplayUpdater
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface ISystemMediaTransportControlsDisplayUpdater;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CMedia_CISystemMediaTransportControlsButtonPressedEventArgs_FWD_DEFINED__
 #define ____x_ABI_CWindows_CMedia_CISystemMediaTransportControlsButtonPressedEventArgs_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsButtonPressedEventArgs __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsButtonPressedEventArgs;
@@ -86,6 +131,36 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CMedia_CImageDisplayProperties_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CImageDisplayProperties_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            class ImageDisplayProperties;
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CMedia_CImageDisplayProperties __x_ABI_CWindows_CMedia_CImageDisplayProperties;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CMedia_CImageDisplayProperties_FWD_DEFINED__ */
+
+#ifndef ____x_ABI_CWindows_CMedia_CMusicDisplayProperties_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CMusicDisplayProperties_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            class MusicDisplayProperties;
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CMedia_CMusicDisplayProperties __x_ABI_CWindows_CMedia_CMusicDisplayProperties;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CMedia_CMusicDisplayProperties_FWD_DEFINED__ */
+
 #ifndef ____x_ABI_CWindows_CMedia_CSystemMediaTransportControls_FWD_DEFINED__
 #define ____x_ABI_CWindows_CMedia_CSystemMediaTransportControls_FWD_DEFINED__
 #ifdef __cplusplus
@@ -146,6 +221,21 @@
 #endif /* defined __cplusplus */
 #endif /* defined ____x_ABI_CWindows_CMedia_CSystemMediaTransportControlsPropertyChangedEventArgs_FWD_DEFINED__ */
 
+#ifndef ____x_ABI_CWindows_CMedia_CVideoDisplayProperties_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CVideoDisplayProperties_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            class VideoDisplayProperties;
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CMedia_CVideoDisplayProperties __x_ABI_CWindows_CMedia_CVideoDisplayProperties;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CMedia_CVideoDisplayProperties_FWD_DEFINED__ */
+
 #ifndef ____FIIterable_1_Windows__CMedia__CIMediaMarker_FWD_DEFINED__
 #define ____FIIterable_1_Windows__CMedia__CIMediaMarker_FWD_DEFINED__
 typedef interface __FIIterable_1_Windows__CMedia__CIMediaMarker __FIIterable_1_Windows__CMedia__CIMediaMarker;
@@ -198,6 +288,8 @@
 
 #include <inspectable.h>
 #include <windows.foundation.h>
+#include <windows.storage.h>
+#include <windows.storage.streams.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -212,6 +304,10 @@
 #endif /* __cplusplus */
 
 #ifndef __cplusplus
+typedef enum __x_ABI_CWindows_CMedia_CMediaPlaybackType __x_ABI_CWindows_CMedia_CMediaPlaybackType;
+#endif /* __cplusplus */
+
+#ifndef __cplusplus
 typedef enum __x_ABI_CWindows_CMedia_CSoundLevel __x_ABI_CWindows_CMedia_CSoundLevel;
 #endif /* __cplusplus */
 
@@ -223,6 +319,21 @@
 typedef enum __x_ABI_CWindows_CMedia_CSystemMediaTransportControlsProperty __x_ABI_CWindows_CMedia_CSystemMediaTransportControlsProperty;
 #endif /* __cplusplus */
 
+#ifndef ____x_ABI_CWindows_CMedia_CIImageDisplayProperties_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIImageDisplayProperties_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CIImageDisplayProperties __x_ABI_CWindows_CMedia_CIImageDisplayProperties;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CIImageDisplayProperties ABI::Windows::Media::IImageDisplayProperties
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface IImageDisplayProperties;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CMedia_CIMediaControl_FWD_DEFINED__
 #define ____x_ABI_CWindows_CMedia_CIMediaControl_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CMedia_CIMediaControl __x_ABI_CWindows_CMedia_CIMediaControl;
@@ -253,6 +364,51 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties __x_ABI_CWindows_CMedia_CIMusicDisplayProperties;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties ABI::Windows::Media::IMusicDisplayProperties
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface IMusicDisplayProperties;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 ABI::Windows::Media::IMusicDisplayProperties2
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface IMusicDisplayProperties2;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties3_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties3_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties3 __x_ABI_CWindows_CMedia_CIMusicDisplayProperties3;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties3 ABI::Windows::Media::IMusicDisplayProperties3
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface IMusicDisplayProperties3;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CMedia_CISystemMediaTransportControls_FWD_DEFINED__
 #define ____x_ABI_CWindows_CMedia_CISystemMediaTransportControls_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CMedia_CISystemMediaTransportControls __x_ABI_CWindows_CMedia_CISystemMediaTransportControls;
@@ -343,6 +499,36 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CMedia_CIVideoDisplayProperties_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIVideoDisplayProperties_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CIVideoDisplayProperties __x_ABI_CWindows_CMedia_CIVideoDisplayProperties;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CIVideoDisplayProperties ABI::Windows::Media::IVideoDisplayProperties
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface IVideoDisplayProperties;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CMedia_CIVideoDisplayProperties2_FWD_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIVideoDisplayProperties2_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CMedia_CIVideoDisplayProperties2 __x_ABI_CWindows_CMedia_CIVideoDisplayProperties2;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CMedia_CIVideoDisplayProperties2 ABI::Windows::Media::IVideoDisplayProperties2
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            interface IVideoDisplayProperties2;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____FIIterable_1_Windows__CMedia__CIMediaMarker_FWD_DEFINED__
 #define ____FIIterable_1_Windows__CMedia__CIMediaMarker_FWD_DEFINED__
 typedef interface __FIIterable_1_Windows__CMedia__CIMediaMarker __FIIterable_1_Windows__CMedia__CIMediaMarker;
@@ -437,6 +623,35 @@
 namespace ABI {
     namespace Windows {
         namespace Media {
+            enum MediaPlaybackType {
+                MediaPlaybackType_Unknown = 0,
+                MediaPlaybackType_Music = 1,
+                MediaPlaybackType_Video = 2,
+                MediaPlaybackType_Image = 3
+            };
+        }
+    }
+}
+extern "C" {
+#else
+enum __x_ABI_CWindows_CMedia_CMediaPlaybackType {
+    MediaPlaybackType_Unknown = 0,
+    MediaPlaybackType_Music = 1,
+    MediaPlaybackType_Video = 2,
+    MediaPlaybackType_Image = 3
+};
+#ifdef WIDL_using_Windows_Media
+#define MediaPlaybackType __x_ABI_CWindows_CMedia_CMediaPlaybackType
+#endif /* WIDL_using_Windows_Media */
+#endif
+
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifdef __cplusplus
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Media {
             enum SoundLevel {
                 SoundLevel_Muted = 0,
                 SoundLevel_Low = 1,
@@ -673,6 +888,366 @@
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
 
 /*****************************************************************************
+ * IMusicDisplayProperties interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CIMusicDisplayProperties, 0x6bbf0c59, 0xd0a0, 0x4d26, 0x92,0xa0, 0xf9,0x78,0xe1,0xd1,0x8e,0x7b);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            MIDL_INTERFACE("6bbf0c59-d0a0-4d26-92a0-f978e1d18e7b")
+            IMusicDisplayProperties : public IInspectable
+            {
+                virtual HRESULT STDMETHODCALLTYPE get_Title(
+                    HSTRING *value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE put_Title(
+                    HSTRING value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_AlbumArtist(
+                    HSTRING *value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE put_AlbumArtist(
+                    HSTRING value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_Artist(
+                    HSTRING *value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE put_Artist(
+                    HSTRING value) = 0;
+
+            };
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties, 0x6bbf0c59, 0xd0a0, 0x4d26, 0x92,0xa0, 0xf9,0x78,0xe1,0xd1,0x8e,0x7b)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CMedia_CIMusicDisplayPropertiesVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        TrustLevel *trustLevel);
+
+    /*** IMusicDisplayProperties methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_Title)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_Title)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        HSTRING value);
+
+    HRESULT (STDMETHODCALLTYPE *get_AlbumArtist)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_AlbumArtist)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        HSTRING value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Artist)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_Artist)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties *This,
+        HSTRING value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CMedia_CIMusicDisplayPropertiesVtbl;
+
+interface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties {
+    CONST_VTBL __x_ABI_CWindows_CMedia_CIMusicDisplayPropertiesVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IMusicDisplayProperties methods ***/
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_Title(This,value) (This)->lpVtbl->get_Title(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_Title(This,value) (This)->lpVtbl->put_Title(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_AlbumArtist(This,value) (This)->lpVtbl->get_AlbumArtist(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_AlbumArtist(This,value) (This)->lpVtbl->put_AlbumArtist(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_Artist(This,value) (This)->lpVtbl->get_Artist(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_Artist(This,value) (This)->lpVtbl->put_Artist(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_QueryInterface(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_AddRef(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_Release(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetIids(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetTrustLevel(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IMusicDisplayProperties methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_Title(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,HSTRING *value) {
+    return This->lpVtbl->get_Title(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_Title(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,HSTRING value) {
+    return This->lpVtbl->put_Title(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_AlbumArtist(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,HSTRING *value) {
+    return This->lpVtbl->get_AlbumArtist(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_AlbumArtist(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,HSTRING value) {
+    return This->lpVtbl->put_AlbumArtist(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_Artist(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,HSTRING *value) {
+    return This->lpVtbl->get_Artist(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_Artist(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties* This,HSTRING value) {
+    return This->lpVtbl->put_Artist(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Media
+#define IID_IMusicDisplayProperties IID___x_ABI_CWindows_CMedia_CIMusicDisplayProperties
+#define IMusicDisplayPropertiesVtbl __x_ABI_CWindows_CMedia_CIMusicDisplayPropertiesVtbl
+#define IMusicDisplayProperties __x_ABI_CWindows_CMedia_CIMusicDisplayProperties
+#define IMusicDisplayProperties_QueryInterface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_QueryInterface
+#define IMusicDisplayProperties_AddRef __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_AddRef
+#define IMusicDisplayProperties_Release __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_Release
+#define IMusicDisplayProperties_GetIids __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetIids
+#define IMusicDisplayProperties_GetRuntimeClassName __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetRuntimeClassName
+#define IMusicDisplayProperties_GetTrustLevel __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_GetTrustLevel
+#define IMusicDisplayProperties_get_Title __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_Title
+#define IMusicDisplayProperties_put_Title __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_Title
+#define IMusicDisplayProperties_get_AlbumArtist __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_AlbumArtist
+#define IMusicDisplayProperties_put_AlbumArtist __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_AlbumArtist
+#define IMusicDisplayProperties_get_Artist __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_get_Artist
+#define IMusicDisplayProperties_put_Artist __x_ABI_CWindows_CMedia_CIMusicDisplayProperties_put_Artist
+#endif /* WIDL_using_Windows_Media */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IMusicDisplayProperties2 interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CIMusicDisplayProperties2, 0x00368462, 0x97d3, 0x44b9, 0xb0,0x0f, 0x00,0x8a,0xfc,0xef,0xaf,0x18);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            MIDL_INTERFACE("00368462-97d3-44b9-b00f-008afcefaf18")
+            IMusicDisplayProperties2 : public IInspectable
+            {
+                virtual HRESULT STDMETHODCALLTYPE get_AlbumTitle(
+                    HSTRING *value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE put_AlbumTitle(
+                    HSTRING value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_TrackNumber(
+                    UINT32 *value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE put_TrackNumber(
+                    UINT32 value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_Genres(
+                    ABI::Windows::Foundation::Collections::IVector<HSTRING > **value) = 0;
+
+            };
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2, 0x00368462, 0x97d3, 0x44b9, 0xb0,0x0f, 0x00,0x8a,0xfc,0xef,0xaf,0x18)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2Vtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        TrustLevel *trustLevel);
+
+    /*** IMusicDisplayProperties2 methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_AlbumTitle)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_AlbumTitle)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        HSTRING value);
+
+    HRESULT (STDMETHODCALLTYPE *get_TrackNumber)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        UINT32 *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_TrackNumber)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        UINT32 value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Genres)(
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 *This,
+        __FIVector_1_HSTRING **value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2Vtbl;
+
+interface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2 {
+    CONST_VTBL __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2Vtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IMusicDisplayProperties2 methods ***/
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_AlbumTitle(This,value) (This)->lpVtbl->get_AlbumTitle(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_put_AlbumTitle(This,value) (This)->lpVtbl->put_AlbumTitle(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_TrackNumber(This,value) (This)->lpVtbl->get_TrackNumber(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_put_TrackNumber(This,value) (This)->lpVtbl->put_TrackNumber(This,value)
+#define __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_Genres(This,value) (This)->lpVtbl->get_Genres(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_QueryInterface(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_AddRef(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_Release(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetIids(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetTrustLevel(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IMusicDisplayProperties2 methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_AlbumTitle(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,HSTRING *value) {
+    return This->lpVtbl->get_AlbumTitle(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_put_AlbumTitle(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,HSTRING value) {
+    return This->lpVtbl->put_AlbumTitle(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_TrackNumber(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,UINT32 *value) {
+    return This->lpVtbl->get_TrackNumber(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_put_TrackNumber(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,UINT32 value) {
+    return This->lpVtbl->put_TrackNumber(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_Genres(__x_ABI_CWindows_CMedia_CIMusicDisplayProperties2* This,__FIVector_1_HSTRING **value) {
+    return This->lpVtbl->get_Genres(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Media
+#define IID_IMusicDisplayProperties2 IID___x_ABI_CWindows_CMedia_CIMusicDisplayProperties2
+#define IMusicDisplayProperties2Vtbl __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2Vtbl
+#define IMusicDisplayProperties2 __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2
+#define IMusicDisplayProperties2_QueryInterface __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_QueryInterface
+#define IMusicDisplayProperties2_AddRef __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_AddRef
+#define IMusicDisplayProperties2_Release __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_Release
+#define IMusicDisplayProperties2_GetIids __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetIids
+#define IMusicDisplayProperties2_GetRuntimeClassName __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetRuntimeClassName
+#define IMusicDisplayProperties2_GetTrustLevel __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_GetTrustLevel
+#define IMusicDisplayProperties2_get_AlbumTitle __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_AlbumTitle
+#define IMusicDisplayProperties2_put_AlbumTitle __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_put_AlbumTitle
+#define IMusicDisplayProperties2_get_TrackNumber __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_TrackNumber
+#define IMusicDisplayProperties2_put_TrackNumber __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_put_TrackNumber
+#define IMusicDisplayProperties2_get_Genres __x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_get_Genres
+#endif /* WIDL_using_Windows_Media */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CMedia_CIMusicDisplayProperties2_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
  * ISystemMediaTransportControls interface
  */
 #if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
@@ -1151,6 +1726,266 @@
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
 
 /*****************************************************************************
+ * ISystemMediaTransportControlsDisplayUpdater interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater, 0x8abbc53e, 0xfa55, 0x4ecf, 0xad,0x8e, 0xc9,0x84,0xe5,0xdd,0x15,0x50);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Media {
+            MIDL_INTERFACE("8abbc53e-fa55-4ecf-ad8e-c984e5dd1550")
+            ISystemMediaTransportControlsDisplayUpdater : public IInspectable
+            {
+                virtual HRESULT STDMETHODCALLTYPE get_Type(
+                    enum MediaPlaybackType *value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE put_Type(
+                    enum MediaPlaybackType value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_AppMediaId(
+                    HSTRING *value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE put_AppMediaId(
+                    HSTRING value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_Thumbnail(
+                    ABI::Windows::Storage::Streams::IRandomAccessStreamReference **value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE put_Thumbnail(
+                    ABI::Windows::Storage::Streams::IRandomAccessStreamReference *value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_MusicProperties(
+                    ABI::Windows::Media::IMusicDisplayProperties **value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_VideoProperties(
+                    ABI::Windows::Media::IVideoDisplayProperties **value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_ImageProperties(
+                    ABI::Windows::Media::IImageDisplayProperties **value) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE CopyFromFileAsync(
+                    enum MediaPlaybackType type,
+                    ABI::Windows::Storage::IStorageFile *source,
+                    ABI::Windows::Foundation::IAsyncOperation<boolean > **operation) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE ClearAll(
+                    ) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE Update(
+                    ) = 0;
+
+            };
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater, 0x8abbc53e, 0xfa55, 0x4ecf, 0xad,0x8e, 0xc9,0x84,0xe5,0xdd,0x15,0x50)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdaterVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        TrustLevel *trustLevel);
+
+    /*** ISystemMediaTransportControlsDisplayUpdater methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_Type)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        enum __x_ABI_CWindows_CMedia_CMediaPlaybackType *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_Type)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        enum __x_ABI_CWindows_CMedia_CMediaPlaybackType value);
+
+    HRESULT (STDMETHODCALLTYPE *get_AppMediaId)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_AppMediaId)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        HSTRING value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Thumbnail)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference **value);
+
+    HRESULT (STDMETHODCALLTYPE *put_Thumbnail)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference *value);
+
+    HRESULT (STDMETHODCALLTYPE *get_MusicProperties)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        __x_ABI_CWindows_CMedia_CIMusicDisplayProperties **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_VideoProperties)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        __x_ABI_CWindows_CMedia_CIVideoDisplayProperties **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_ImageProperties)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        __x_ABI_CWindows_CMedia_CIImageDisplayProperties **value);
+
+    HRESULT (STDMETHODCALLTYPE *CopyFromFileAsync)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This,
+        enum __x_ABI_CWindows_CMedia_CMediaPlaybackType type,
+        __x_ABI_CWindows_CStorage_CIStorageFile *source,
+        __FIAsyncOperation_1_boolean **operation);
+
+    HRESULT (STDMETHODCALLTYPE *ClearAll)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This);
+
+    HRESULT (STDMETHODCALLTYPE *Update)(
+        __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater *This);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdaterVtbl;
+
+interface __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater {
+    CONST_VTBL __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdaterVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** ISystemMediaTransportControlsDisplayUpdater methods ***/
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_Type(This,value) (This)->lpVtbl->get_Type(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_Type(This,value) (This)->lpVtbl->put_Type(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_AppMediaId(This,value) (This)->lpVtbl->get_AppMediaId(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_AppMediaId(This,value) (This)->lpVtbl->put_AppMediaId(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_Thumbnail(This,value) (This)->lpVtbl->get_Thumbnail(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_Thumbnail(This,value) (This)->lpVtbl->put_Thumbnail(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_MusicProperties(This,value) (This)->lpVtbl->get_MusicProperties(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_VideoProperties(This,value) (This)->lpVtbl->get_VideoProperties(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_ImageProperties(This,value) (This)->lpVtbl->get_ImageProperties(This,value)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_CopyFromFileAsync(This,type,source,operation) (This)->lpVtbl->CopyFromFileAsync(This,type,source,operation)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_ClearAll(This) (This)->lpVtbl->ClearAll(This)
+#define __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_Update(This) (This)->lpVtbl->Update(This)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_QueryInterface(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_AddRef(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_Release(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetIids(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetTrustLevel(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** ISystemMediaTransportControlsDisplayUpdater methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_Type(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,enum __x_ABI_CWindows_CMedia_CMediaPlaybackType *value) {
+    return This->lpVtbl->get_Type(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_Type(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,enum __x_ABI_CWindows_CMedia_CMediaPlaybackType value) {
+    return This->lpVtbl->put_Type(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_AppMediaId(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,HSTRING *value) {
+    return This->lpVtbl->get_AppMediaId(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_AppMediaId(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,HSTRING value) {
+    return This->lpVtbl->put_AppMediaId(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_Thumbnail(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference **value) {
+    return This->lpVtbl->get_Thumbnail(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_Thumbnail(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference *value) {
+    return This->lpVtbl->put_Thumbnail(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_MusicProperties(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,__x_ABI_CWindows_CMedia_CIMusicDisplayProperties **value) {
+    return This->lpVtbl->get_MusicProperties(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_VideoProperties(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,__x_ABI_CWindows_CMedia_CIVideoDisplayProperties **value) {
+    return This->lpVtbl->get_VideoProperties(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_ImageProperties(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,__x_ABI_CWindows_CMedia_CIImageDisplayProperties **value) {
+    return This->lpVtbl->get_ImageProperties(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_CopyFromFileAsync(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This,enum __x_ABI_CWindows_CMedia_CMediaPlaybackType type,__x_ABI_CWindows_CStorage_CIStorageFile *source,__FIAsyncOperation_1_boolean **operation) {
+    return This->lpVtbl->CopyFromFileAsync(This,type,source,operation);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_ClearAll(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This) {
+    return This->lpVtbl->ClearAll(This);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_Update(__x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater* This) {
+    return This->lpVtbl->Update(This);
+}
+#endif
+#ifdef WIDL_using_Windows_Media
+#define IID_ISystemMediaTransportControlsDisplayUpdater IID___x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater
+#define ISystemMediaTransportControlsDisplayUpdaterVtbl __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdaterVtbl
+#define ISystemMediaTransportControlsDisplayUpdater __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater
+#define ISystemMediaTransportControlsDisplayUpdater_QueryInterface __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_QueryInterface
+#define ISystemMediaTransportControlsDisplayUpdater_AddRef __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_AddRef
+#define ISystemMediaTransportControlsDisplayUpdater_Release __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_Release
+#define ISystemMediaTransportControlsDisplayUpdater_GetIids __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetIids
+#define ISystemMediaTransportControlsDisplayUpdater_GetRuntimeClassName __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetRuntimeClassName
+#define ISystemMediaTransportControlsDisplayUpdater_GetTrustLevel __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_GetTrustLevel
+#define ISystemMediaTransportControlsDisplayUpdater_get_Type __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_Type
+#define ISystemMediaTransportControlsDisplayUpdater_put_Type __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_Type
+#define ISystemMediaTransportControlsDisplayUpdater_get_AppMediaId __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_AppMediaId
+#define ISystemMediaTransportControlsDisplayUpdater_put_AppMediaId __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_AppMediaId
+#define ISystemMediaTransportControlsDisplayUpdater_get_Thumbnail __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_Thumbnail
+#define ISystemMediaTransportControlsDisplayUpdater_put_Thumbnail __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_put_Thumbnail
+#define ISystemMediaTransportControlsDisplayUpdater_get_MusicProperties __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_MusicProperties
+#define ISystemMediaTransportControlsDisplayUpdater_get_VideoProperties __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_VideoProperties
+#define ISystemMediaTransportControlsDisplayUpdater_get_ImageProperties __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_get_ImageProperties
+#define ISystemMediaTransportControlsDisplayUpdater_CopyFromFileAsync __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_CopyFromFileAsync
+#define ISystemMediaTransportControlsDisplayUpdater_ClearAll __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_ClearAll
+#define ISystemMediaTransportControlsDisplayUpdater_Update __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_Update
+#endif /* WIDL_using_Windows_Media */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
  * ISystemMediaTransportControlsButtonPressedEventArgs interface
  */
 #if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
@@ -1403,6 +2238,38 @@
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
 
 /*
+ * Class Windows.Media.ImageDisplayProperties
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_Media_ImageDisplayProperties_DEFINED
+#define RUNTIMECLASS_Windows_Media_ImageDisplayProperties_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Media_ImageDisplayProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','I','m','a','g','e','D','i','s','p','l','a','y','P','r','o','p','e','r','t','i','e','s',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_ImageDisplayProperties[] = L"Windows.Media.ImageDisplayProperties";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_ImageDisplayProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','I','m','a','g','e','D','i','s','p','l','a','y','P','r','o','p','e','r','t','i','e','s',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Media_ImageDisplayProperties_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*
+ * Class Windows.Media.MusicDisplayProperties
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_Media_MusicDisplayProperties_DEFINED
+#define RUNTIMECLASS_Windows_Media_MusicDisplayProperties_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Media_MusicDisplayProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','u','s','i','c','D','i','s','p','l','a','y','P','r','o','p','e','r','t','i','e','s',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MusicDisplayProperties[] = L"Windows.Media.MusicDisplayProperties";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MusicDisplayProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','u','s','i','c','D','i','s','p','l','a','y','P','r','o','p','e','r','t','i','e','s',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Media_MusicDisplayProperties_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*
  * Class Windows.Media.SystemMediaTransportControls
  */
 #if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
@@ -1466,6 +2333,22 @@
 #endif /* RUNTIMECLASS_Windows_Media_SystemMediaTransportControlsPropertyChangedEventArgs_DEFINED */
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
 
+/*
+ * Class Windows.Media.VideoDisplayProperties
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_Media_VideoDisplayProperties_DEFINED
+#define RUNTIMECLASS_Windows_Media_VideoDisplayProperties_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Media_VideoDisplayProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','V','i','d','e','o','D','i','s','p','l','a','y','P','r','o','p','e','r','t','i','e','s',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_VideoDisplayProperties[] = L"Windows.Media.VideoDisplayProperties";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_VideoDisplayProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','V','i','d','e','o','D','i','s','p','l','a','y','P','r','o','p','e','r','t','i','e','s',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Media_VideoDisplayProperties_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
 /*****************************************************************************
  * IIterable<ABI::Windows::Media::IMediaMarker* > interface
  */
diff --git a/mingw-w64-headers/include/windows.media.idl b/mingw-w64-headers/include/windows.media.idl
index 4896f66..35aa64a 100644
--- a/mingw-w64-headers/include/windows.media.idl
+++ b/mingw-w64-headers/include/windows.media.idl
@@ -22,28 +22,40 @@
 
 import "inspectable.idl";
 import "windows.foundation.idl";
+import "windows.storage.idl";
+import "windows.storage.streams.idl";
 
 namespace Windows.Media
 {
     typedef enum AudioProcessing AudioProcessing;
     typedef enum MediaPlaybackStatus MediaPlaybackStatus;
+    typedef enum MediaPlaybackType MediaPlaybackType;
     typedef enum SoundLevel SoundLevel;
     typedef enum SystemMediaTransportControlsButton SystemMediaTransportControlsButton;
     typedef enum SystemMediaTransportControlsProperty SystemMediaTransportControlsProperty;
 
+    interface IImageDisplayProperties;
     interface IMediaControl;
     interface IMediaMarker;
+    interface IMusicDisplayProperties;
+    interface IMusicDisplayProperties2;
+    interface IMusicDisplayProperties3;
     interface ISystemMediaTransportControls;
     interface ISystemMediaTransportControls2;
     interface ISystemMediaTransportControlsButtonPressedEventArgs;
     interface ISystemMediaTransportControlsDisplayUpdater;
     interface ISystemMediaTransportControlsPropertyChangedEventArgs;
     interface ISystemMediaTransportControlsStatics;
+    interface IVideoDisplayProperties;
+    interface IVideoDisplayProperties2;
 
+    runtimeclass ImageDisplayProperties;
+    runtimeclass MusicDisplayProperties;
     runtimeclass SystemMediaTransportControls;
     runtimeclass SystemMediaTransportControlsButtonPressedEventArgs;
     runtimeclass SystemMediaTransportControlsDisplayUpdater;
     runtimeclass SystemMediaTransportControlsPropertyChangedEventArgs;
+    runtimeclass VideoDisplayProperties;
 
     declare
     {
@@ -79,6 +91,17 @@
     [
         contract(Windows.Foundation.UniversalApiContract, 1.0)
     ]
+    enum MediaPlaybackType
+    {
+        Unknown = 0,
+        Music   = 1,
+        Video   = 2,
+        Image   = 3,
+    };
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0)
+    ]
     enum SoundLevel
     {
         Muted = 0,
@@ -124,6 +147,35 @@
 
     [
         contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.Media.MusicDisplayProperties),
+        uuid(6bbf0c59-d0a0-4d26-92a0-f978e1d18e7b)
+    ]
+    interface IMusicDisplayProperties : IInspectable
+    {
+        [propget] HRESULT Title([out, retval] HSTRING *value);
+        [propput] HRESULT Title([in] HSTRING value);
+        [propget] HRESULT AlbumArtist([out, retval] HSTRING *value);
+        [propput] HRESULT AlbumArtist([in] HSTRING value);
+        [propget] HRESULT Artist([out, retval] HSTRING *value);
+        [propput] HRESULT Artist([in] HSTRING value);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.Media.MusicDisplayProperties),
+        uuid(00368462-97d3-44b9-b00f-008afcefaf18)
+    ]
+    interface IMusicDisplayProperties2 : IInspectable
+    {
+        [propget] HRESULT AlbumTitle([out, retval] HSTRING *value);
+        [propput] HRESULT AlbumTitle([in] HSTRING value);
+        [propget] HRESULT TrackNumber([out, retval] UINT32 *value);
+        [propput] HRESULT TrackNumber([in] UINT32 value);
+        [propget] HRESULT Genres([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
         exclusiveto(Windows.Media.SystemMediaTransportControls),
         uuid(99fa3ff4-1742-42a6-902e-087d41f965ec)
     ]
@@ -169,6 +221,30 @@
 
     [
         contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.Media.SystemMediaTransportControlsDisplayUpdater),
+        uuid(8abbc53e-fa55-4ecf-ad8e-c984e5dd1550)
+    ]
+    interface ISystemMediaTransportControlsDisplayUpdater : IInspectable
+    {
+        [propget] HRESULT Type([out, retval] Windows.Media.MediaPlaybackType *value);
+        [propput] HRESULT Type([in] Windows.Media.MediaPlaybackType value);
+        [propget] HRESULT AppMediaId([out, retval] HSTRING *value);
+        [propput] HRESULT AppMediaId([in] HSTRING value);
+        [propget] HRESULT Thumbnail([out, retval] Windows.Storage.Streams.RandomAccessStreamReference **value);
+        [propput] HRESULT Thumbnail([in] Windows.Storage.Streams.RandomAccessStreamReference *value);
+        [propget] HRESULT MusicProperties([out, retval] Windows.Media.MusicDisplayProperties **value);
+        [propget] HRESULT VideoProperties([out, retval] Windows.Media.VideoDisplayProperties **value);
+        [propget] HRESULT ImageProperties([out, retval] Windows.Media.ImageDisplayProperties **value);
+        HRESULT CopyFromFileAsync(
+            [in] Windows.Media.MediaPlaybackType type, [in] Windows.Storage.StorageFile *source,
+            [out, retval] Windows.Foundation.IAsyncOperation<boolean> **operation
+        );
+        HRESULT ClearAll();
+        HRESULT Update();
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
         exclusiveto(Windows.Media.SystemMediaTransportControlsButtonPressedEventArgs),
         uuid(b7f47116-a56f-4dc8-9e11-92031f4a87c2)
     ]
@@ -190,6 +266,28 @@
     [
         contract(Windows.Foundation.UniversalApiContract, 1.0),
         marshaling_behavior(agile),
+        threading(both)
+    ]
+    runtimeclass ImageDisplayProperties
+    {
+        [default] interface Windows.Media.IImageDisplayProperties;
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(agile),
+        threading(both)
+    ]
+    runtimeclass MusicDisplayProperties
+    {
+        [default] interface Windows.Media.IMusicDisplayProperties;
+        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.IMusicDisplayProperties2;
+        [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.IMusicDisplayProperties3;
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(agile),
         static(Windows.Media.ISystemMediaTransportControlsStatics, Windows.Foundation.UniversalApiContract, 1.0),
         threading(mta)
     ]
@@ -226,4 +324,15 @@
     {
         [default] interface Windows.Media.ISystemMediaTransportControlsPropertyChangedEventArgs;
     }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(agile),
+        threading(both)
+    ]
+    runtimeclass VideoDisplayProperties
+    {
+        [default] interface Windows.Media.IVideoDisplayProperties;
+        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.IVideoDisplayProperties2;
+    }
 }
diff --git a/mingw-w64-headers/include/windows.media.render.h b/mingw-w64-headers/include/windows.media.render.h
index 457bb09..99114fb 100644
--- a/mingw-w64-headers/include/windows.media.render.h
+++ b/mingw-w64-headers/include/windows.media.render.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.media.render.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.media.render.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.speechrecognition.h b/mingw-w64-headers/include/windows.media.speechrecognition.h
index ac6e28f..9abd39b 100644
--- a/mingw-w64-headers/include/windows.media.speechrecognition.h
+++ b/mingw-w64-headers/include/windows.media.speechrecognition.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.media.speechrecognition.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.media.speechrecognition.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.speechsynthesis.h b/mingw-w64-headers/include/windows.media.speechsynthesis.h
index 090fb8d..882ea88 100644
--- a/mingw-w64-headers/include/windows.media.speechsynthesis.h
+++ b/mingw-w64-headers/include/windows.media.speechsynthesis.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.media.speechsynthesis.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.media.speechsynthesis.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.networking.connectivity.h b/mingw-w64-headers/include/windows.networking.connectivity.h
index 00a710b..5d7b8e7 100644
--- a/mingw-w64-headers/include/windows.networking.connectivity.h
+++ b/mingw-w64-headers/include/windows.networking.connectivity.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.networking.connectivity.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.networking.connectivity.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.networking.h b/mingw-w64-headers/include/windows.networking.h
index b80da65..d47282b 100644
--- a/mingw-w64-headers/include/windows.networking.h
+++ b/mingw-w64-headers/include/windows.networking.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.networking.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.networking.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.perception.spatial.h b/mingw-w64-headers/include/windows.perception.spatial.h
index ca7bdf3..400b5fa 100644
--- a/mingw-w64-headers/include/windows.perception.spatial.h
+++ b/mingw-w64-headers/include/windows.perception.spatial.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.perception.spatial.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.perception.spatial.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.perception.spatial.surfaces.h b/mingw-w64-headers/include/windows.perception.spatial.surfaces.h
index 1f901b5..17deaef 100644
--- a/mingw-w64-headers/include/windows.perception.spatial.surfaces.h
+++ b/mingw-w64-headers/include/windows.perception.spatial.surfaces.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.perception.spatial.surfaces.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.perception.spatial.surfaces.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.credentials.h b/mingw-w64-headers/include/windows.security.credentials.h
index d6c978b..f8bff3f 100644
--- a/mingw-w64-headers/include/windows.security.credentials.h
+++ b/mingw-w64-headers/include/windows.security.credentials.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.security.credentials.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.security.credentials.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.credentials.ui.h b/mingw-w64-headers/include/windows.security.credentials.ui.h
index c1d4709..3cf4fb2 100644
--- a/mingw-w64-headers/include/windows.security.credentials.ui.h
+++ b/mingw-w64-headers/include/windows.security.credentials.ui.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.security.credentials.ui.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.security.credentials.ui.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.cryptography.h b/mingw-w64-headers/include/windows.security.cryptography.h
index 6cfc9c1..7b2de6a 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 8.17 from include/windows.security.cryptography.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.security.cryptography.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.isolation.h b/mingw-w64-headers/include/windows.security.isolation.h
index bd3da0b..33c72a9 100644
--- a/mingw-w64-headers/include/windows.security.isolation.h
+++ b/mingw-w64-headers/include/windows.security.isolation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.security.isolation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.security.isolation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.fileproperties.h b/mingw-w64-headers/include/windows.storage.fileproperties.h
index 43866ce..0372193 100644
--- a/mingw-w64-headers/include/windows.storage.fileproperties.h
+++ b/mingw-w64-headers/include/windows.storage.fileproperties.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.storage.fileproperties.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.storage.fileproperties.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.h b/mingw-w64-headers/include/windows.storage.h
index 9493b29..97a6acc 100644
--- a/mingw-w64-headers/include/windows.storage.h
+++ b/mingw-w64-headers/include/windows.storage.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.storage.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.storage.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.search.h b/mingw-w64-headers/include/windows.storage.search.h
index d774a77..1d8974f 100644
--- a/mingw-w64-headers/include/windows.storage.search.h
+++ b/mingw-w64-headers/include/windows.storage.search.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.storage.search.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.storage.search.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.streams.h b/mingw-w64-headers/include/windows.storage.streams.h
index 4f33131..05a7872 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 8.17 from include/windows.storage.streams.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.storage.streams.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.h b/mingw-w64-headers/include/windows.system.h
index 6b98ace..c79a973 100644
--- a/mingw-w64-headers/include/windows.system.h
+++ b/mingw-w64-headers/include/windows.system.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.system.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.system.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.power.h b/mingw-w64-headers/include/windows.system.power.h
index 1d2ab93..f62dc03 100644
--- a/mingw-w64-headers/include/windows.system.power.h
+++ b/mingw-w64-headers/include/windows.system.power.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.system.power.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.system.power.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.profile.systemmanufacturers.h b/mingw-w64-headers/include/windows.system.profile.systemmanufacturers.h
index a0b6b3d..293b63e 100644
--- a/mingw-w64-headers/include/windows.system.profile.systemmanufacturers.h
+++ b/mingw-w64-headers/include/windows.system.profile.systemmanufacturers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.system.profile.systemmanufacturers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.system.profile.systemmanufacturers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.threading.h b/mingw-w64-headers/include/windows.system.threading.h
index 304e4b9..dd6db29 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 8.17 from include/windows.system.threading.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.system.threading.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.userprofile.h b/mingw-w64-headers/include/windows.system.userprofile.h
index b123614..1501ce4 100644
--- a/mingw-w64-headers/include/windows.system.userprofile.h
+++ b/mingw-w64-headers/include/windows.system.userprofile.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.system.userprofile.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.system.userprofile.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.composition.h b/mingw-w64-headers/include/windows.ui.composition.h
index 9b8d8b2..bc1f590 100644
--- a/mingw-w64-headers/include/windows.ui.composition.h
+++ b/mingw-w64-headers/include/windows.ui.composition.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.ui.composition.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.ui.composition.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.h b/mingw-w64-headers/include/windows.ui.composition.interop.h
index 314a1d1..8a98330 100644
--- a/mingw-w64-headers/include/windows.ui.composition.interop.h
+++ b/mingw-w64-headers/include/windows.ui.composition.interop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.ui.composition.interop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.ui.composition.interop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.core.h b/mingw-w64-headers/include/windows.ui.core.h
index 45c40eb..f404263 100644
--- a/mingw-w64-headers/include/windows.ui.core.h
+++ b/mingw-w64-headers/include/windows.ui.core.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.ui.core.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.ui.core.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.h b/mingw-w64-headers/include/windows.ui.h
index 226c0c3..51254fa 100644
--- a/mingw-w64-headers/include/windows.ui.h
+++ b/mingw-w64-headers/include/windows.ui.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.ui.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.ui.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.viewmanagement.h b/mingw-w64-headers/include/windows.ui.viewmanagement.h
index addca66..4e07e9e 100644
--- a/mingw-w64-headers/include/windows.ui.viewmanagement.h
+++ b/mingw-w64-headers/include/windows.ui.viewmanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.ui.viewmanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.ui.viewmanagement.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.xaml.hosting.desktopwindowxamlsource.h b/mingw-w64-headers/include/windows.ui.xaml.hosting.desktopwindowxamlsource.h
index 0725b5d..e82e415 100644
--- a/mingw-w64-headers/include/windows.ui.xaml.hosting.desktopwindowxamlsource.h
+++ b/mingw-w64-headers/include/windows.ui.xaml.hosting.desktopwindowxamlsource.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windows.ui.xaml.hosting.desktopwindowxamlsource.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/windows.ui.xaml.hosting.desktopwindowxamlsource.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windowscontracts.h b/mingw-w64-headers/include/windowscontracts.h
index 9884b2c..8a5c528 100644
--- a/mingw-w64-headers/include/windowscontracts.h
+++ b/mingw-w64-headers/include/windowscontracts.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/windowscontracts.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8906203..2b50d80 100644
--- a/mingw-w64-headers/include/wmcodecdsp.h
+++ b/mingw-w64-headers/include/wmcodecdsp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmcodecdsp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 893afd0..aeb81ff 100644
--- a/mingw-w64-headers/include/wmcontainer.h
+++ b/mingw-w64-headers/include/wmcontainer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmcontainer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d06e8b5..4cf1fcd 100644
--- a/mingw-w64-headers/include/wmdrmsdk.h
+++ b/mingw-w64-headers/include/wmdrmsdk.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmdrmsdk.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 aa49147..55cdac9 100644
--- a/mingw-w64-headers/include/wmp.h
+++ b/mingw-w64-headers/include/wmp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/wmp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmprealestate.h b/mingw-w64-headers/include/wmprealestate.h
index 3449634..23cc77f 100644
--- a/mingw-w64-headers/include/wmprealestate.h
+++ b/mingw-w64-headers/include/wmprealestate.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmprealestate.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/wmprealestate.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmpservices.h b/mingw-w64-headers/include/wmpservices.h
index 4ca634d..6670476 100644
--- a/mingw-w64-headers/include/wmpservices.h
+++ b/mingw-w64-headers/include/wmpservices.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmpservices.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/wmpservices.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmsbuffer.h b/mingw-w64-headers/include/wmsbuffer.h
index d178858..fd6b34c 100644
--- a/mingw-w64-headers/include/wmsbuffer.h
+++ b/mingw-w64-headers/include/wmsbuffer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmsbuffer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 02dbc99..7d4cf31 100644
--- a/mingw-w64-headers/include/wmsdkidl.h
+++ b/mingw-w64-headers/include/wmsdkidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmsdkidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/wmsdkidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmsecure.h b/mingw-w64-headers/include/wmsecure.h
index 7967bb5..5d45c79 100644
--- a/mingw-w64-headers/include/wmsecure.h
+++ b/mingw-w64-headers/include/wmsecure.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wmsecure.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/wmsecure.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wpcapi.h b/mingw-w64-headers/include/wpcapi.h
index 93e7601..444d3b8 100644
--- a/mingw-w64-headers/include/wpcapi.h
+++ b/mingw-w64-headers/include/wpcapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wpcapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 8f9ad2d..f43bd66 100644
--- a/mingw-w64-headers/include/wsdattachment.h
+++ b/mingw-w64-headers/include/wsdattachment.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wsdattachment.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 d17928a..ce50a2b 100644
--- a/mingw-w64-headers/include/wsdbase.h
+++ b/mingw-w64-headers/include/wsdbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wsdbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 51785a9..bd5c806 100644
--- a/mingw-w64-headers/include/wsdclient.h
+++ b/mingw-w64-headers/include/wsdclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wsdclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 1fc8cc0..aa2080c 100644
--- a/mingw-w64-headers/include/wsddisco.h
+++ b/mingw-w64-headers/include/wsddisco.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wsddisco.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 e6619b3..b89ce92 100644
--- a/mingw-w64-headers/include/wsdhost.h
+++ b/mingw-w64-headers/include/wsdhost.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wsdhost.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 20f5acf..740ba77 100644
--- a/mingw-w64-headers/include/wsdxml.h
+++ b/mingw-w64-headers/include/wsdxml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wsdxml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 2a907a8..29a355e 100644
--- a/mingw-w64-headers/include/wsmandisp.h
+++ b/mingw-w64-headers/include/wsmandisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wsmandisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 e7bce35..7e28ac5 100644
--- a/mingw-w64-headers/include/wtypes.h
+++ b/mingw-w64-headers/include/wtypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wtypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 fd5dcd2..70bfd20 100644
--- a/mingw-w64-headers/include/wtypesbase.h
+++ b/mingw-w64-headers/include/wtypesbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wtypesbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/wtypesbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wuapi.h b/mingw-w64-headers/include/wuapi.h
index 3a8ee51..0160e19 100644
--- a/mingw-w64-headers/include/wuapi.h
+++ b/mingw-w64-headers/include/wuapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/wuapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/wuapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xamlom.h b/mingw-w64-headers/include/xamlom.h
index 63161e7..5c02c58 100644
--- a/mingw-w64-headers/include/xamlom.h
+++ b/mingw-w64-headers/include/xamlom.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xamlom.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/xamlom.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xapo.h b/mingw-w64-headers/include/xapo.h
index 72bd59c..d9d1d91 100644
--- a/mingw-w64-headers/include/xapo.h
+++ b/mingw-w64-headers/include/xapo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xapo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 10629ae..c460779 100644
--- a/mingw-w64-headers/include/xaudio2.h
+++ b/mingw-w64-headers/include/xaudio2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xaudio2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 ff13ada..40708d9 100644
--- a/mingw-w64-headers/include/xaudio2fx.h
+++ b/mingw-w64-headers/include/xaudio2fx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xaudio2fx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 28df1bc..c47adaa 100644
--- a/mingw-w64-headers/include/xmllite.h
+++ b/mingw-w64-headers/include/xmllite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xmllite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 79f12dc..2c2d217 100644
--- a/mingw-w64-headers/include/xpsdigitalsignature.h
+++ b/mingw-w64-headers/include/xpsdigitalsignature.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xpsdigitalsignature.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 42acde8..3c62e88 100644
--- a/mingw-w64-headers/include/xpsobjectmodel.h
+++ b/mingw-w64-headers/include/xpsobjectmodel.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xpsobjectmodel.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 dda2502..2d28c78 100644
--- a/mingw-w64-headers/include/xpsobjectmodel_1.h
+++ b/mingw-w64-headers/include/xpsobjectmodel_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xpsobjectmodel_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7ea5e89..87777fa 100644
--- a/mingw-w64-headers/include/xpsprint.h
+++ b/mingw-w64-headers/include/xpsprint.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xpsprint.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 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 7e637e8..97bbec3 100644
--- a/mingw-w64-headers/include/xpsrassvc.h
+++ b/mingw-w64-headers/include/xpsrassvc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.17 from include/xpsrassvc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.19 from include/xpsrassvc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/wine-import.sh b/mingw-w64-headers/wine-import.sh
index 47ab427..71fef43 100755
--- a/mingw-w64-headers/wine-import.sh
+++ b/mingw-w64-headers/wine-import.sh
@@ -51,9 +51,7 @@
 	corerror.h \
 	d2dbasetypes.h \
 	d3d10_1shader.h \
-	d3d10effect.h \
 	d3d10misc.h \
-	d3d10shader.h \
 	d3d11shader.h \
 	d3d8caps.h \
 	d3d8.h \
@@ -146,7 +144,9 @@
 	ctxtcall \
 	d3d10 \
 	d3d10_1 \
+	d3d10effect \
 	d3d10sdklayers \
+	d3d10shader \
 	d3d11 \
 	d3d11on12 \
 	d3d11_1 \