zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

d3d10effect.h (240534B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/d3d10effect.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __d3d10effect_h__
     17 #define __d3d10effect_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __ID3D10EffectType_FWD_DEFINED__
     22 #define __ID3D10EffectType_FWD_DEFINED__
     23 typedef interface ID3D10EffectType ID3D10EffectType;
     24 #ifdef __cplusplus
     25 interface ID3D10EffectType;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __ID3D10EffectVariable_FWD_DEFINED__
     30 #define __ID3D10EffectVariable_FWD_DEFINED__
     31 typedef interface ID3D10EffectVariable ID3D10EffectVariable;
     32 #ifdef __cplusplus
     33 interface ID3D10EffectVariable;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __ID3D10EffectConstantBuffer_FWD_DEFINED__
     38 #define __ID3D10EffectConstantBuffer_FWD_DEFINED__
     39 typedef interface ID3D10EffectConstantBuffer ID3D10EffectConstantBuffer;
     40 #ifdef __cplusplus
     41 interface ID3D10EffectConstantBuffer;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __ID3D10EffectScalarVariable_FWD_DEFINED__
     46 #define __ID3D10EffectScalarVariable_FWD_DEFINED__
     47 typedef interface ID3D10EffectScalarVariable ID3D10EffectScalarVariable;
     48 #ifdef __cplusplus
     49 interface ID3D10EffectScalarVariable;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __ID3D10EffectVectorVariable_FWD_DEFINED__
     54 #define __ID3D10EffectVectorVariable_FWD_DEFINED__
     55 typedef interface ID3D10EffectVectorVariable ID3D10EffectVectorVariable;
     56 #ifdef __cplusplus
     57 interface ID3D10EffectVectorVariable;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __ID3D10EffectMatrixVariable_FWD_DEFINED__
     62 #define __ID3D10EffectMatrixVariable_FWD_DEFINED__
     63 typedef interface ID3D10EffectMatrixVariable ID3D10EffectMatrixVariable;
     64 #ifdef __cplusplus
     65 interface ID3D10EffectMatrixVariable;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __ID3D10EffectStringVariable_FWD_DEFINED__
     70 #define __ID3D10EffectStringVariable_FWD_DEFINED__
     71 typedef interface ID3D10EffectStringVariable ID3D10EffectStringVariable;
     72 #ifdef __cplusplus
     73 interface ID3D10EffectStringVariable;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #ifndef __ID3D10EffectShaderResourceVariable_FWD_DEFINED__
     78 #define __ID3D10EffectShaderResourceVariable_FWD_DEFINED__
     79 typedef interface ID3D10EffectShaderResourceVariable ID3D10EffectShaderResourceVariable;
     80 #ifdef __cplusplus
     81 interface ID3D10EffectShaderResourceVariable;
     82 #endif /* __cplusplus */
     83 #endif
     84 
     85 #ifndef __ID3D10EffectRenderTargetViewVariable_FWD_DEFINED__
     86 #define __ID3D10EffectRenderTargetViewVariable_FWD_DEFINED__
     87 typedef interface ID3D10EffectRenderTargetViewVariable ID3D10EffectRenderTargetViewVariable;
     88 #ifdef __cplusplus
     89 interface ID3D10EffectRenderTargetViewVariable;
     90 #endif /* __cplusplus */
     91 #endif
     92 
     93 #ifndef __ID3D10EffectDepthStencilViewVariable_FWD_DEFINED__
     94 #define __ID3D10EffectDepthStencilViewVariable_FWD_DEFINED__
     95 typedef interface ID3D10EffectDepthStencilViewVariable ID3D10EffectDepthStencilViewVariable;
     96 #ifdef __cplusplus
     97 interface ID3D10EffectDepthStencilViewVariable;
     98 #endif /* __cplusplus */
     99 #endif
    100 
    101 #ifndef __ID3D10EffectShaderVariable_FWD_DEFINED__
    102 #define __ID3D10EffectShaderVariable_FWD_DEFINED__
    103 typedef interface ID3D10EffectShaderVariable ID3D10EffectShaderVariable;
    104 #ifdef __cplusplus
    105 interface ID3D10EffectShaderVariable;
    106 #endif /* __cplusplus */
    107 #endif
    108 
    109 #ifndef __ID3D10EffectBlendVariable_FWD_DEFINED__
    110 #define __ID3D10EffectBlendVariable_FWD_DEFINED__
    111 typedef interface ID3D10EffectBlendVariable ID3D10EffectBlendVariable;
    112 #ifdef __cplusplus
    113 interface ID3D10EffectBlendVariable;
    114 #endif /* __cplusplus */
    115 #endif
    116 
    117 #ifndef __ID3D10EffectDepthStencilVariable_FWD_DEFINED__
    118 #define __ID3D10EffectDepthStencilVariable_FWD_DEFINED__
    119 typedef interface ID3D10EffectDepthStencilVariable ID3D10EffectDepthStencilVariable;
    120 #ifdef __cplusplus
    121 interface ID3D10EffectDepthStencilVariable;
    122 #endif /* __cplusplus */
    123 #endif
    124 
    125 #ifndef __ID3D10EffectRasterizerVariable_FWD_DEFINED__
    126 #define __ID3D10EffectRasterizerVariable_FWD_DEFINED__
    127 typedef interface ID3D10EffectRasterizerVariable ID3D10EffectRasterizerVariable;
    128 #ifdef __cplusplus
    129 interface ID3D10EffectRasterizerVariable;
    130 #endif /* __cplusplus */
    131 #endif
    132 
    133 #ifndef __ID3D10EffectSamplerVariable_FWD_DEFINED__
    134 #define __ID3D10EffectSamplerVariable_FWD_DEFINED__
    135 typedef interface ID3D10EffectSamplerVariable ID3D10EffectSamplerVariable;
    136 #ifdef __cplusplus
    137 interface ID3D10EffectSamplerVariable;
    138 #endif /* __cplusplus */
    139 #endif
    140 
    141 #ifndef __ID3D10EffectTechnique_FWD_DEFINED__
    142 #define __ID3D10EffectTechnique_FWD_DEFINED__
    143 typedef interface ID3D10EffectTechnique ID3D10EffectTechnique;
    144 #ifdef __cplusplus
    145 interface ID3D10EffectTechnique;
    146 #endif /* __cplusplus */
    147 #endif
    148 
    149 #ifndef __ID3D10Effect_FWD_DEFINED__
    150 #define __ID3D10Effect_FWD_DEFINED__
    151 typedef interface ID3D10Effect ID3D10Effect;
    152 #ifdef __cplusplus
    153 interface ID3D10Effect;
    154 #endif /* __cplusplus */
    155 #endif
    156 
    157 #ifndef __ID3D10EffectPool_FWD_DEFINED__
    158 #define __ID3D10EffectPool_FWD_DEFINED__
    159 typedef interface ID3D10EffectPool ID3D10EffectPool;
    160 #ifdef __cplusplus
    161 interface ID3D10EffectPool;
    162 #endif /* __cplusplus */
    163 #endif
    164 
    165 #ifndef __ID3D10EffectPass_FWD_DEFINED__
    166 #define __ID3D10EffectPass_FWD_DEFINED__
    167 typedef interface ID3D10EffectPass ID3D10EffectPass;
    168 #ifdef __cplusplus
    169 interface ID3D10EffectPass;
    170 #endif /* __cplusplus */
    171 #endif
    172 
    173 #ifndef __ID3D10StateBlock_FWD_DEFINED__
    174 #define __ID3D10StateBlock_FWD_DEFINED__
    175 typedef interface ID3D10StateBlock ID3D10StateBlock;
    176 #ifdef __cplusplus
    177 interface ID3D10StateBlock;
    178 #endif /* __cplusplus */
    179 #endif
    180 
    181 /* Headers for imported files */
    182 
    183 #include <d3d10.h>
    184 #include <d3d10shader.h>
    185 
    186 #ifdef __cplusplus
    187 extern "C" {
    188 #endif
    189 
    190 #ifndef __ID3D10EffectConstantBuffer_FWD_DEFINED__
    191 #define __ID3D10EffectConstantBuffer_FWD_DEFINED__
    192 typedef interface ID3D10EffectConstantBuffer ID3D10EffectConstantBuffer;
    193 #ifdef __cplusplus
    194 interface ID3D10EffectConstantBuffer;
    195 #endif /* __cplusplus */
    196 #endif
    197 
    198 #ifndef __ID3D10EffectBlendVariable_FWD_DEFINED__
    199 #define __ID3D10EffectBlendVariable_FWD_DEFINED__
    200 typedef interface ID3D10EffectBlendVariable ID3D10EffectBlendVariable;
    201 #ifdef __cplusplus
    202 interface ID3D10EffectBlendVariable;
    203 #endif /* __cplusplus */
    204 #endif
    205 
    206 #ifndef __ID3D10EffectDepthStencilVariable_FWD_DEFINED__
    207 #define __ID3D10EffectDepthStencilVariable_FWD_DEFINED__
    208 typedef interface ID3D10EffectDepthStencilVariable ID3D10EffectDepthStencilVariable;
    209 #ifdef __cplusplus
    210 interface ID3D10EffectDepthStencilVariable;
    211 #endif /* __cplusplus */
    212 #endif
    213 
    214 #ifndef __ID3D10EffectDepthStencilViewVariable_FWD_DEFINED__
    215 #define __ID3D10EffectDepthStencilViewVariable_FWD_DEFINED__
    216 typedef interface ID3D10EffectDepthStencilViewVariable ID3D10EffectDepthStencilViewVariable;
    217 #ifdef __cplusplus
    218 interface ID3D10EffectDepthStencilViewVariable;
    219 #endif /* __cplusplus */
    220 #endif
    221 
    222 #ifndef __ID3D10EffectMatrixVariable_FWD_DEFINED__
    223 #define __ID3D10EffectMatrixVariable_FWD_DEFINED__
    224 typedef interface ID3D10EffectMatrixVariable ID3D10EffectMatrixVariable;
    225 #ifdef __cplusplus
    226 interface ID3D10EffectMatrixVariable;
    227 #endif /* __cplusplus */
    228 #endif
    229 
    230 #ifndef __ID3D10EffectPass_FWD_DEFINED__
    231 #define __ID3D10EffectPass_FWD_DEFINED__
    232 typedef interface ID3D10EffectPass ID3D10EffectPass;
    233 #ifdef __cplusplus
    234 interface ID3D10EffectPass;
    235 #endif /* __cplusplus */
    236 #endif
    237 
    238 #ifndef __ID3D10EffectRasterizerVariable_FWD_DEFINED__
    239 #define __ID3D10EffectRasterizerVariable_FWD_DEFINED__
    240 typedef interface ID3D10EffectRasterizerVariable ID3D10EffectRasterizerVariable;
    241 #ifdef __cplusplus
    242 interface ID3D10EffectRasterizerVariable;
    243 #endif /* __cplusplus */
    244 #endif
    245 
    246 #ifndef __ID3D10EffectRenderTargetViewVariable_FWD_DEFINED__
    247 #define __ID3D10EffectRenderTargetViewVariable_FWD_DEFINED__
    248 typedef interface ID3D10EffectRenderTargetViewVariable ID3D10EffectRenderTargetViewVariable;
    249 #ifdef __cplusplus
    250 interface ID3D10EffectRenderTargetViewVariable;
    251 #endif /* __cplusplus */
    252 #endif
    253 
    254 #ifndef __ID3D10EffectSamplerVariable_FWD_DEFINED__
    255 #define __ID3D10EffectSamplerVariable_FWD_DEFINED__
    256 typedef interface ID3D10EffectSamplerVariable ID3D10EffectSamplerVariable;
    257 #ifdef __cplusplus
    258 interface ID3D10EffectSamplerVariable;
    259 #endif /* __cplusplus */
    260 #endif
    261 
    262 #ifndef __ID3D10EffectScalarVariable_FWD_DEFINED__
    263 #define __ID3D10EffectScalarVariable_FWD_DEFINED__
    264 typedef interface ID3D10EffectScalarVariable ID3D10EffectScalarVariable;
    265 #ifdef __cplusplus
    266 interface ID3D10EffectScalarVariable;
    267 #endif /* __cplusplus */
    268 #endif
    269 
    270 #ifndef __ID3D10EffectShaderVariable_FWD_DEFINED__
    271 #define __ID3D10EffectShaderVariable_FWD_DEFINED__
    272 typedef interface ID3D10EffectShaderVariable ID3D10EffectShaderVariable;
    273 #ifdef __cplusplus
    274 interface ID3D10EffectShaderVariable;
    275 #endif /* __cplusplus */
    276 #endif
    277 
    278 #ifndef __ID3D10EffectShaderResourceVariable_FWD_DEFINED__
    279 #define __ID3D10EffectShaderResourceVariable_FWD_DEFINED__
    280 typedef interface ID3D10EffectShaderResourceVariable ID3D10EffectShaderResourceVariable;
    281 #ifdef __cplusplus
    282 interface ID3D10EffectShaderResourceVariable;
    283 #endif /* __cplusplus */
    284 #endif
    285 
    286 #ifndef __ID3D10EffectStringVariable_FWD_DEFINED__
    287 #define __ID3D10EffectStringVariable_FWD_DEFINED__
    288 typedef interface ID3D10EffectStringVariable ID3D10EffectStringVariable;
    289 #ifdef __cplusplus
    290 interface ID3D10EffectStringVariable;
    291 #endif /* __cplusplus */
    292 #endif
    293 
    294 #ifndef __ID3D10EffectVectorVariable_FWD_DEFINED__
    295 #define __ID3D10EffectVectorVariable_FWD_DEFINED__
    296 typedef interface ID3D10EffectVectorVariable ID3D10EffectVectorVariable;
    297 #ifdef __cplusplus
    298 interface ID3D10EffectVectorVariable;
    299 #endif /* __cplusplus */
    300 #endif
    301 
    302 #ifndef D3D10_BYTES_FROM_BITS
    303 #define D3D10_BYTES_FROM_BITS(x) (((x) + 7) >> 3)
    304 #endif
    305 #define D3D10_EFFECT_VARIABLE_POOLED (0x1)
    306 
    307 #define D3D10_EFFECT_VARIABLE_ANNOTATION (0x2)
    308 
    309 #define D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT (0x4)
    310 
    311 typedef enum _D3D10_DEVICE_STATE_TYPES {
    312     D3D10_DST_SO_BUFFERS = 1,
    313     D3D10_DST_OM_RENDER_TARGETS = 2,
    314     D3D10_DST_OM_DEPTH_STENCIL_STATE = 3,
    315     D3D10_DST_OM_BLEND_STATE = 4,
    316     D3D10_DST_VS = 5,
    317     D3D10_DST_VS_SAMPLERS = 6,
    318     D3D10_DST_VS_SHADER_RESOURCES = 7,
    319     D3D10_DST_VS_CONSTANT_BUFFERS = 8,
    320     D3D10_DST_GS = 9,
    321     D3D10_DST_GS_SAMPLERS = 10,
    322     D3D10_DST_GS_SHADER_RESOURCES = 11,
    323     D3D10_DST_GS_CONSTANT_BUFFERS = 12,
    324     D3D10_DST_PS = 13,
    325     D3D10_DST_PS_SAMPLERS = 14,
    326     D3D10_DST_PS_SHADER_RESOURCES = 15,
    327     D3D10_DST_PS_CONSTANT_BUFFERS = 16,
    328     D3D10_DST_IA_VERTEX_BUFFERS = 17,
    329     D3D10_DST_IA_INDEX_BUFFER = 18,
    330     D3D10_DST_IA_INPUT_LAYOUT = 19,
    331     D3D10_DST_IA_PRIMITIVE_TOPOLOGY = 20,
    332     D3D10_DST_RS_VIEWPORTS = 21,
    333     D3D10_DST_RS_SCISSOR_RECTS = 22,
    334     D3D10_DST_RS_RASTERIZER_STATE = 23,
    335     D3D10_DST_PREDICATION = 24
    336 } D3D10_DEVICE_STATE_TYPES;
    337 typedef struct _D3D10_EFFECT_TYPE_DESC {
    338     const char *TypeName;
    339     D3D10_SHADER_VARIABLE_CLASS Class;
    340     D3D10_SHADER_VARIABLE_TYPE Type;
    341     UINT Elements;
    342     UINT Members;
    343     UINT Rows;
    344     UINT Columns;
    345     UINT PackedSize;
    346     UINT UnpackedSize;
    347     UINT Stride;
    348 } D3D10_EFFECT_TYPE_DESC;
    349 typedef struct _D3D10_EFFECT_VARIABLE_DESC {
    350     const char *Name;
    351     const char *Semantic;
    352     UINT Flags;
    353     UINT Annotations;
    354     UINT BufferOffset;
    355     UINT ExplicitBindPoint;
    356 } D3D10_EFFECT_VARIABLE_DESC;
    357 typedef struct _D3D10_TECHNIQUE_DESC {
    358     const char *Name;
    359     UINT Passes;
    360     UINT Annotations;
    361 } D3D10_TECHNIQUE_DESC;
    362 typedef struct _D3D10_STATE_BLOCK_MASK {
    363     BYTE VS;
    364     BYTE VSSamplers[2];
    365     BYTE VSShaderResources[16];
    366     BYTE VSConstantBuffers[2];
    367     BYTE GS;
    368     BYTE GSSamplers[2];
    369     BYTE GSShaderResources[16];
    370     BYTE GSConstantBuffers[2];
    371     BYTE PS;
    372     BYTE PSSamplers[2];
    373     BYTE PSShaderResources[16];
    374     BYTE PSConstantBuffers[2];
    375     BYTE IAVertexBuffers[2];
    376     BYTE IAIndexBuffer;
    377     BYTE IAInputLayout;
    378     BYTE IAPrimitiveTopology;
    379     BYTE OMRenderTargets;
    380     BYTE OMDepthStencilState;
    381     BYTE OMBlendState;
    382     BYTE RSViewports;
    383     BYTE RSScissorRects;
    384     BYTE RSRasterizerState;
    385     BYTE SOBuffers;
    386     BYTE Predication;
    387 } D3D10_STATE_BLOCK_MASK;
    388 typedef struct _D3D10_EFFECT_DESC {
    389     WINBOOL IsChildEffect;
    390     UINT ConstantBuffers;
    391     UINT SharedConstantBuffers;
    392     UINT GlobalVariables;
    393     UINT SharedGlobalVariables;
    394     UINT Techniques;
    395 } D3D10_EFFECT_DESC;
    396 typedef struct _D3D10_EFFECT_SHADER_DESC {
    397     const BYTE *pInputSignature;
    398     WINBOOL IsInline;
    399     const BYTE *pBytecode;
    400     UINT BytecodeLength;
    401     const char *SODecl;
    402     UINT NumInputSignatureEntries;
    403     UINT NumOutputSignatureEntries;
    404 } D3D10_EFFECT_SHADER_DESC;
    405 typedef struct _D3D10_PASS_DESC {
    406     const char *Name;
    407     UINT Annotations;
    408     BYTE *pIAInputSignature;
    409     SIZE_T IAInputSignatureSize;
    410     UINT StencilRef;
    411     UINT SampleMask;
    412     FLOAT BlendFactor[4];
    413 } D3D10_PASS_DESC;
    414 typedef struct _D3D10_PASS_SHADER_DESC {
    415     ID3D10EffectShaderVariable *pShaderVariable;
    416     UINT ShaderIndex;
    417 } D3D10_PASS_SHADER_DESC;
    418 #define D3D10_EFFECT_COMPILE_CHILD_EFFECT (0x1)
    419 
    420 #define D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS (0x2)
    421 
    422 #define D3D10_EFFECT_SINGLE_THREADED (0x8)
    423 
    424 /*****************************************************************************
    425  * ID3D10EffectType interface
    426  */
    427 #ifndef __ID3D10EffectType_INTERFACE_DEFINED__
    428 #define __ID3D10EffectType_INTERFACE_DEFINED__
    429 
    430 DEFINE_GUID(IID_ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8,0x37, 0x00,0x18,0x0b,0x9b,0x88,0xfd);
    431 #if defined(__cplusplus) && !defined(CINTERFACE)
    432 MIDL_INTERFACE("4e9e1ddc-cd9d-4772-a837-00180b9b88fd")
    433 ID3D10EffectType
    434 {
    435 
    436     BEGIN_INTERFACE
    437 
    438     virtual WINBOOL STDMETHODCALLTYPE IsValid(
    439         ) = 0;
    440 
    441     virtual HRESULT STDMETHODCALLTYPE GetDesc(
    442         D3D10_EFFECT_TYPE_DESC *desc) = 0;
    443 
    444     virtual ID3D10EffectType * STDMETHODCALLTYPE GetMemberTypeByIndex(
    445         UINT index) = 0;
    446 
    447     virtual ID3D10EffectType * STDMETHODCALLTYPE GetMemberTypeByName(
    448         const char *name) = 0;
    449 
    450     virtual ID3D10EffectType * STDMETHODCALLTYPE GetMemberTypeBySemantic(
    451         const char *semantic) = 0;
    452 
    453     virtual const char * STDMETHODCALLTYPE GetMemberName(
    454         UINT index) = 0;
    455 
    456     virtual const char * STDMETHODCALLTYPE GetMemberSemantic(
    457         UINT index) = 0;
    458 
    459     END_INTERFACE
    460 
    461 };
    462 #ifdef __CRT_UUID_DECL
    463 __CRT_UUID_DECL(ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8,0x37, 0x00,0x18,0x0b,0x9b,0x88,0xfd)
    464 #endif
    465 #else
    466 typedef struct ID3D10EffectTypeVtbl {
    467     BEGIN_INTERFACE
    468 
    469     /*** ID3D10EffectType methods ***/
    470     WINBOOL (STDMETHODCALLTYPE *IsValid)(
    471         ID3D10EffectType *This);
    472 
    473     HRESULT (STDMETHODCALLTYPE *GetDesc)(
    474         ID3D10EffectType *This,
    475         D3D10_EFFECT_TYPE_DESC *desc);
    476 
    477     ID3D10EffectType * (STDMETHODCALLTYPE *GetMemberTypeByIndex)(
    478         ID3D10EffectType *This,
    479         UINT index);
    480 
    481     ID3D10EffectType * (STDMETHODCALLTYPE *GetMemberTypeByName)(
    482         ID3D10EffectType *This,
    483         const char *name);
    484 
    485     ID3D10EffectType * (STDMETHODCALLTYPE *GetMemberTypeBySemantic)(
    486         ID3D10EffectType *This,
    487         const char *semantic);
    488 
    489     const char * (STDMETHODCALLTYPE *GetMemberName)(
    490         ID3D10EffectType *This,
    491         UINT index);
    492 
    493     const char * (STDMETHODCALLTYPE *GetMemberSemantic)(
    494         ID3D10EffectType *This,
    495         UINT index);
    496 
    497     END_INTERFACE
    498 } ID3D10EffectTypeVtbl;
    499 
    500 interface ID3D10EffectType {
    501     CONST_VTBL ID3D10EffectTypeVtbl* lpVtbl;
    502 };
    503 
    504 #ifdef COBJMACROS
    505 #ifndef WIDL_C_INLINE_WRAPPERS
    506 /*** ID3D10EffectType methods ***/
    507 #define ID3D10EffectType_IsValid(This) (This)->lpVtbl->IsValid(This)
    508 #define ID3D10EffectType_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
    509 #define ID3D10EffectType_GetMemberTypeByIndex(This,index) (This)->lpVtbl->GetMemberTypeByIndex(This,index)
    510 #define ID3D10EffectType_GetMemberTypeByName(This,name) (This)->lpVtbl->GetMemberTypeByName(This,name)
    511 #define ID3D10EffectType_GetMemberTypeBySemantic(This,semantic) (This)->lpVtbl->GetMemberTypeBySemantic(This,semantic)
    512 #define ID3D10EffectType_GetMemberName(This,index) (This)->lpVtbl->GetMemberName(This,index)
    513 #define ID3D10EffectType_GetMemberSemantic(This,index) (This)->lpVtbl->GetMemberSemantic(This,index)
    514 #else
    515 /*** ID3D10EffectType methods ***/
    516 static inline WINBOOL ID3D10EffectType_IsValid(ID3D10EffectType* This) {
    517     return This->lpVtbl->IsValid(This);
    518 }
    519 static inline HRESULT ID3D10EffectType_GetDesc(ID3D10EffectType* This,D3D10_EFFECT_TYPE_DESC *desc) {
    520     return This->lpVtbl->GetDesc(This,desc);
    521 }
    522 static inline ID3D10EffectType * ID3D10EffectType_GetMemberTypeByIndex(ID3D10EffectType* This,UINT index) {
    523     return This->lpVtbl->GetMemberTypeByIndex(This,index);
    524 }
    525 static inline ID3D10EffectType * ID3D10EffectType_GetMemberTypeByName(ID3D10EffectType* This,const char *name) {
    526     return This->lpVtbl->GetMemberTypeByName(This,name);
    527 }
    528 static inline ID3D10EffectType * ID3D10EffectType_GetMemberTypeBySemantic(ID3D10EffectType* This,const char *semantic) {
    529     return This->lpVtbl->GetMemberTypeBySemantic(This,semantic);
    530 }
    531 static inline const char * ID3D10EffectType_GetMemberName(ID3D10EffectType* This,UINT index) {
    532     return This->lpVtbl->GetMemberName(This,index);
    533 }
    534 static inline const char * ID3D10EffectType_GetMemberSemantic(ID3D10EffectType* This,UINT index) {
    535     return This->lpVtbl->GetMemberSemantic(This,index);
    536 }
    537 #endif
    538 #endif
    539 
    540 #endif
    541 
    542 
    543 #endif  /* __ID3D10EffectType_INTERFACE_DEFINED__ */
    544 
    545 /*****************************************************************************
    546  * ID3D10EffectVariable interface
    547  */
    548 #ifndef __ID3D10EffectVariable_INTERFACE_DEFINED__
    549 #define __ID3D10EffectVariable_INTERFACE_DEFINED__
    550 
    551 DEFINE_GUID(IID_ID3D10EffectVariable, 0xae897105, 0x00e6, 0x45bf, 0xbb,0x8e, 0x28,0x1d,0xd6,0xdb,0x8e,0x1b);
    552 #if defined(__cplusplus) && !defined(CINTERFACE)
    553 MIDL_INTERFACE("ae897105-00e6-45bf-bb8e-281dd6db8e1b")
    554 ID3D10EffectVariable
    555 {
    556 
    557     BEGIN_INTERFACE
    558 
    559     virtual WINBOOL STDMETHODCALLTYPE IsValid(
    560         ) = 0;
    561 
    562     virtual ID3D10EffectType * STDMETHODCALLTYPE GetType(
    563         ) = 0;
    564 
    565     virtual HRESULT STDMETHODCALLTYPE GetDesc(
    566         D3D10_EFFECT_VARIABLE_DESC *desc) = 0;
    567 
    568     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByIndex(
    569         UINT index) = 0;
    570 
    571     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByName(
    572         const char *name) = 0;
    573 
    574     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetMemberByIndex(
    575         UINT index) = 0;
    576 
    577     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetMemberByName(
    578         const char *name) = 0;
    579 
    580     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetMemberBySemantic(
    581         const char *semantic) = 0;
    582 
    583     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetElement(
    584         UINT index) = 0;
    585 
    586     virtual ID3D10EffectConstantBuffer * STDMETHODCALLTYPE GetParentConstantBuffer(
    587         ) = 0;
    588 
    589     virtual ID3D10EffectScalarVariable * STDMETHODCALLTYPE AsScalar(
    590         ) = 0;
    591 
    592     virtual ID3D10EffectVectorVariable * STDMETHODCALLTYPE AsVector(
    593         ) = 0;
    594 
    595     virtual ID3D10EffectMatrixVariable * STDMETHODCALLTYPE AsMatrix(
    596         ) = 0;
    597 
    598     virtual ID3D10EffectStringVariable * STDMETHODCALLTYPE AsString(
    599         ) = 0;
    600 
    601     virtual ID3D10EffectShaderResourceVariable * STDMETHODCALLTYPE AsShaderResource(
    602         ) = 0;
    603 
    604     virtual ID3D10EffectRenderTargetViewVariable * STDMETHODCALLTYPE AsRenderTargetView(
    605         ) = 0;
    606 
    607     virtual ID3D10EffectDepthStencilViewVariable * STDMETHODCALLTYPE AsDepthStencilView(
    608         ) = 0;
    609 
    610     virtual ID3D10EffectConstantBuffer * STDMETHODCALLTYPE AsConstantBuffer(
    611         ) = 0;
    612 
    613     virtual ID3D10EffectShaderVariable * STDMETHODCALLTYPE AsShader(
    614         ) = 0;
    615 
    616     virtual ID3D10EffectBlendVariable * STDMETHODCALLTYPE AsBlend(
    617         ) = 0;
    618 
    619     virtual ID3D10EffectDepthStencilVariable * STDMETHODCALLTYPE AsDepthStencil(
    620         ) = 0;
    621 
    622     virtual ID3D10EffectRasterizerVariable * STDMETHODCALLTYPE AsRasterizer(
    623         ) = 0;
    624 
    625     virtual ID3D10EffectSamplerVariable * STDMETHODCALLTYPE AsSampler(
    626         ) = 0;
    627 
    628     virtual HRESULT STDMETHODCALLTYPE SetRawValue(
    629         void *data,
    630         UINT offset,
    631         UINT count) = 0;
    632 
    633     virtual HRESULT STDMETHODCALLTYPE GetRawValue(
    634         void *data,
    635         UINT offset,
    636         UINT count) = 0;
    637 
    638     END_INTERFACE
    639 
    640 };
    641 #ifdef __CRT_UUID_DECL
    642 __CRT_UUID_DECL(ID3D10EffectVariable, 0xae897105, 0x00e6, 0x45bf, 0xbb,0x8e, 0x28,0x1d,0xd6,0xdb,0x8e,0x1b)
    643 #endif
    644 #else
    645 typedef struct ID3D10EffectVariableVtbl {
    646     BEGIN_INTERFACE
    647 
    648     /*** ID3D10EffectVariable methods ***/
    649     WINBOOL (STDMETHODCALLTYPE *IsValid)(
    650         ID3D10EffectVariable *This);
    651 
    652     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
    653         ID3D10EffectVariable *This);
    654 
    655     HRESULT (STDMETHODCALLTYPE *GetDesc)(
    656         ID3D10EffectVariable *This,
    657         D3D10_EFFECT_VARIABLE_DESC *desc);
    658 
    659     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
    660         ID3D10EffectVariable *This,
    661         UINT index);
    662 
    663     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
    664         ID3D10EffectVariable *This,
    665         const char *name);
    666 
    667     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
    668         ID3D10EffectVariable *This,
    669         UINT index);
    670 
    671     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
    672         ID3D10EffectVariable *This,
    673         const char *name);
    674 
    675     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
    676         ID3D10EffectVariable *This,
    677         const char *semantic);
    678 
    679     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
    680         ID3D10EffectVariable *This,
    681         UINT index);
    682 
    683     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
    684         ID3D10EffectVariable *This);
    685 
    686     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
    687         ID3D10EffectVariable *This);
    688 
    689     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
    690         ID3D10EffectVariable *This);
    691 
    692     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
    693         ID3D10EffectVariable *This);
    694 
    695     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
    696         ID3D10EffectVariable *This);
    697 
    698     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
    699         ID3D10EffectVariable *This);
    700 
    701     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
    702         ID3D10EffectVariable *This);
    703 
    704     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
    705         ID3D10EffectVariable *This);
    706 
    707     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
    708         ID3D10EffectVariable *This);
    709 
    710     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
    711         ID3D10EffectVariable *This);
    712 
    713     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
    714         ID3D10EffectVariable *This);
    715 
    716     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
    717         ID3D10EffectVariable *This);
    718 
    719     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
    720         ID3D10EffectVariable *This);
    721 
    722     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
    723         ID3D10EffectVariable *This);
    724 
    725     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
    726         ID3D10EffectVariable *This,
    727         void *data,
    728         UINT offset,
    729         UINT count);
    730 
    731     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
    732         ID3D10EffectVariable *This,
    733         void *data,
    734         UINT offset,
    735         UINT count);
    736 
    737     END_INTERFACE
    738 } ID3D10EffectVariableVtbl;
    739 
    740 interface ID3D10EffectVariable {
    741     CONST_VTBL ID3D10EffectVariableVtbl* lpVtbl;
    742 };
    743 
    744 #ifdef COBJMACROS
    745 #ifndef WIDL_C_INLINE_WRAPPERS
    746 /*** ID3D10EffectVariable methods ***/
    747 #define ID3D10EffectVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
    748 #define ID3D10EffectVariable_GetType(This) (This)->lpVtbl->GetType(This)
    749 #define ID3D10EffectVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
    750 #define ID3D10EffectVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
    751 #define ID3D10EffectVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
    752 #define ID3D10EffectVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
    753 #define ID3D10EffectVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
    754 #define ID3D10EffectVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
    755 #define ID3D10EffectVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
    756 #define ID3D10EffectVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
    757 #define ID3D10EffectVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
    758 #define ID3D10EffectVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
    759 #define ID3D10EffectVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
    760 #define ID3D10EffectVariable_AsString(This) (This)->lpVtbl->AsString(This)
    761 #define ID3D10EffectVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
    762 #define ID3D10EffectVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
    763 #define ID3D10EffectVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
    764 #define ID3D10EffectVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
    765 #define ID3D10EffectVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
    766 #define ID3D10EffectVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
    767 #define ID3D10EffectVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
    768 #define ID3D10EffectVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
    769 #define ID3D10EffectVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
    770 #define ID3D10EffectVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
    771 #define ID3D10EffectVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
    772 #else
    773 /*** ID3D10EffectVariable methods ***/
    774 static inline WINBOOL ID3D10EffectVariable_IsValid(ID3D10EffectVariable* This) {
    775     return This->lpVtbl->IsValid(This);
    776 }
    777 static inline ID3D10EffectType * ID3D10EffectVariable_GetType(ID3D10EffectVariable* This) {
    778     return This->lpVtbl->GetType(This);
    779 }
    780 static inline HRESULT ID3D10EffectVariable_GetDesc(ID3D10EffectVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
    781     return This->lpVtbl->GetDesc(This,desc);
    782 }
    783 static inline ID3D10EffectVariable * ID3D10EffectVariable_GetAnnotationByIndex(ID3D10EffectVariable* This,UINT index) {
    784     return This->lpVtbl->GetAnnotationByIndex(This,index);
    785 }
    786 static inline ID3D10EffectVariable * ID3D10EffectVariable_GetAnnotationByName(ID3D10EffectVariable* This,const char *name) {
    787     return This->lpVtbl->GetAnnotationByName(This,name);
    788 }
    789 static inline ID3D10EffectVariable * ID3D10EffectVariable_GetMemberByIndex(ID3D10EffectVariable* This,UINT index) {
    790     return This->lpVtbl->GetMemberByIndex(This,index);
    791 }
    792 static inline ID3D10EffectVariable * ID3D10EffectVariable_GetMemberByName(ID3D10EffectVariable* This,const char *name) {
    793     return This->lpVtbl->GetMemberByName(This,name);
    794 }
    795 static inline ID3D10EffectVariable * ID3D10EffectVariable_GetMemberBySemantic(ID3D10EffectVariable* This,const char *semantic) {
    796     return This->lpVtbl->GetMemberBySemantic(This,semantic);
    797 }
    798 static inline ID3D10EffectVariable * ID3D10EffectVariable_GetElement(ID3D10EffectVariable* This,UINT index) {
    799     return This->lpVtbl->GetElement(This,index);
    800 }
    801 static inline ID3D10EffectConstantBuffer * ID3D10EffectVariable_GetParentConstantBuffer(ID3D10EffectVariable* This) {
    802     return This->lpVtbl->GetParentConstantBuffer(This);
    803 }
    804 static inline ID3D10EffectScalarVariable * ID3D10EffectVariable_AsScalar(ID3D10EffectVariable* This) {
    805     return This->lpVtbl->AsScalar(This);
    806 }
    807 static inline ID3D10EffectVectorVariable * ID3D10EffectVariable_AsVector(ID3D10EffectVariable* This) {
    808     return This->lpVtbl->AsVector(This);
    809 }
    810 static inline ID3D10EffectMatrixVariable * ID3D10EffectVariable_AsMatrix(ID3D10EffectVariable* This) {
    811     return This->lpVtbl->AsMatrix(This);
    812 }
    813 static inline ID3D10EffectStringVariable * ID3D10EffectVariable_AsString(ID3D10EffectVariable* This) {
    814     return This->lpVtbl->AsString(This);
    815 }
    816 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectVariable_AsShaderResource(ID3D10EffectVariable* This) {
    817     return This->lpVtbl->AsShaderResource(This);
    818 }
    819 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectVariable_AsRenderTargetView(ID3D10EffectVariable* This) {
    820     return This->lpVtbl->AsRenderTargetView(This);
    821 }
    822 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectVariable_AsDepthStencilView(ID3D10EffectVariable* This) {
    823     return This->lpVtbl->AsDepthStencilView(This);
    824 }
    825 static inline ID3D10EffectConstantBuffer * ID3D10EffectVariable_AsConstantBuffer(ID3D10EffectVariable* This) {
    826     return This->lpVtbl->AsConstantBuffer(This);
    827 }
    828 static inline ID3D10EffectShaderVariable * ID3D10EffectVariable_AsShader(ID3D10EffectVariable* This) {
    829     return This->lpVtbl->AsShader(This);
    830 }
    831 static inline ID3D10EffectBlendVariable * ID3D10EffectVariable_AsBlend(ID3D10EffectVariable* This) {
    832     return This->lpVtbl->AsBlend(This);
    833 }
    834 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectVariable_AsDepthStencil(ID3D10EffectVariable* This) {
    835     return This->lpVtbl->AsDepthStencil(This);
    836 }
    837 static inline ID3D10EffectRasterizerVariable * ID3D10EffectVariable_AsRasterizer(ID3D10EffectVariable* This) {
    838     return This->lpVtbl->AsRasterizer(This);
    839 }
    840 static inline ID3D10EffectSamplerVariable * ID3D10EffectVariable_AsSampler(ID3D10EffectVariable* This) {
    841     return This->lpVtbl->AsSampler(This);
    842 }
    843 static inline HRESULT ID3D10EffectVariable_SetRawValue(ID3D10EffectVariable* This,void *data,UINT offset,UINT count) {
    844     return This->lpVtbl->SetRawValue(This,data,offset,count);
    845 }
    846 static inline HRESULT ID3D10EffectVariable_GetRawValue(ID3D10EffectVariable* This,void *data,UINT offset,UINT count) {
    847     return This->lpVtbl->GetRawValue(This,data,offset,count);
    848 }
    849 #endif
    850 #endif
    851 
    852 #endif
    853 
    854 
    855 #endif  /* __ID3D10EffectVariable_INTERFACE_DEFINED__ */
    856 
    857 /*****************************************************************************
    858  * ID3D10EffectConstantBuffer interface
    859  */
    860 #ifndef __ID3D10EffectConstantBuffer_INTERFACE_DEFINED__
    861 #define __ID3D10EffectConstantBuffer_INTERFACE_DEFINED__
    862 
    863 DEFINE_GUID(IID_ID3D10EffectConstantBuffer, 0x56648f4d, 0xcc8b, 0x4444, 0xa5,0xad, 0xb5,0xa3,0xd7,0x6e,0x91,0xb3);
    864 #if defined(__cplusplus) && !defined(CINTERFACE)
    865 MIDL_INTERFACE("56648f4d-cc8b-4444-a5ad-b5a3d76e91b3")
    866 ID3D10EffectConstantBuffer : public ID3D10EffectVariable
    867 {
    868     virtual HRESULT STDMETHODCALLTYPE SetConstantBuffer(
    869         ID3D10Buffer *buffer) = 0;
    870 
    871     virtual HRESULT STDMETHODCALLTYPE GetConstantBuffer(
    872         ID3D10Buffer **buffer) = 0;
    873 
    874     virtual HRESULT STDMETHODCALLTYPE SetTextureBuffer(
    875         ID3D10ShaderResourceView *view) = 0;
    876 
    877     virtual HRESULT STDMETHODCALLTYPE GetTextureBuffer(
    878         ID3D10ShaderResourceView **view) = 0;
    879 
    880 };
    881 #ifdef __CRT_UUID_DECL
    882 __CRT_UUID_DECL(ID3D10EffectConstantBuffer, 0x56648f4d, 0xcc8b, 0x4444, 0xa5,0xad, 0xb5,0xa3,0xd7,0x6e,0x91,0xb3)
    883 #endif
    884 #else
    885 typedef struct ID3D10EffectConstantBufferVtbl {
    886     BEGIN_INTERFACE
    887 
    888     /*** ID3D10EffectVariable methods ***/
    889     WINBOOL (STDMETHODCALLTYPE *IsValid)(
    890         ID3D10EffectConstantBuffer *This);
    891 
    892     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
    893         ID3D10EffectConstantBuffer *This);
    894 
    895     HRESULT (STDMETHODCALLTYPE *GetDesc)(
    896         ID3D10EffectConstantBuffer *This,
    897         D3D10_EFFECT_VARIABLE_DESC *desc);
    898 
    899     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
    900         ID3D10EffectConstantBuffer *This,
    901         UINT index);
    902 
    903     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
    904         ID3D10EffectConstantBuffer *This,
    905         const char *name);
    906 
    907     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
    908         ID3D10EffectConstantBuffer *This,
    909         UINT index);
    910 
    911     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
    912         ID3D10EffectConstantBuffer *This,
    913         const char *name);
    914 
    915     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
    916         ID3D10EffectConstantBuffer *This,
    917         const char *semantic);
    918 
    919     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
    920         ID3D10EffectConstantBuffer *This,
    921         UINT index);
    922 
    923     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
    924         ID3D10EffectConstantBuffer *This);
    925 
    926     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
    927         ID3D10EffectConstantBuffer *This);
    928 
    929     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
    930         ID3D10EffectConstantBuffer *This);
    931 
    932     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
    933         ID3D10EffectConstantBuffer *This);
    934 
    935     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
    936         ID3D10EffectConstantBuffer *This);
    937 
    938     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
    939         ID3D10EffectConstantBuffer *This);
    940 
    941     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
    942         ID3D10EffectConstantBuffer *This);
    943 
    944     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
    945         ID3D10EffectConstantBuffer *This);
    946 
    947     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
    948         ID3D10EffectConstantBuffer *This);
    949 
    950     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
    951         ID3D10EffectConstantBuffer *This);
    952 
    953     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
    954         ID3D10EffectConstantBuffer *This);
    955 
    956     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
    957         ID3D10EffectConstantBuffer *This);
    958 
    959     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
    960         ID3D10EffectConstantBuffer *This);
    961 
    962     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
    963         ID3D10EffectConstantBuffer *This);
    964 
    965     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
    966         ID3D10EffectConstantBuffer *This,
    967         void *data,
    968         UINT offset,
    969         UINT count);
    970 
    971     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
    972         ID3D10EffectConstantBuffer *This,
    973         void *data,
    974         UINT offset,
    975         UINT count);
    976 
    977     /*** ID3D10EffectConstantBuffer methods ***/
    978     HRESULT (STDMETHODCALLTYPE *SetConstantBuffer)(
    979         ID3D10EffectConstantBuffer *This,
    980         ID3D10Buffer *buffer);
    981 
    982     HRESULT (STDMETHODCALLTYPE *GetConstantBuffer)(
    983         ID3D10EffectConstantBuffer *This,
    984         ID3D10Buffer **buffer);
    985 
    986     HRESULT (STDMETHODCALLTYPE *SetTextureBuffer)(
    987         ID3D10EffectConstantBuffer *This,
    988         ID3D10ShaderResourceView *view);
    989 
    990     HRESULT (STDMETHODCALLTYPE *GetTextureBuffer)(
    991         ID3D10EffectConstantBuffer *This,
    992         ID3D10ShaderResourceView **view);
    993 
    994     END_INTERFACE
    995 } ID3D10EffectConstantBufferVtbl;
    996 
    997 interface ID3D10EffectConstantBuffer {
    998     CONST_VTBL ID3D10EffectConstantBufferVtbl* lpVtbl;
    999 };
   1000 
   1001 #ifdef COBJMACROS
   1002 #ifndef WIDL_C_INLINE_WRAPPERS
   1003 /*** ID3D10EffectVariable methods ***/
   1004 #define ID3D10EffectConstantBuffer_IsValid(This) (This)->lpVtbl->IsValid(This)
   1005 #define ID3D10EffectConstantBuffer_GetType(This) (This)->lpVtbl->GetType(This)
   1006 #define ID3D10EffectConstantBuffer_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   1007 #define ID3D10EffectConstantBuffer_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   1008 #define ID3D10EffectConstantBuffer_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   1009 #define ID3D10EffectConstantBuffer_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   1010 #define ID3D10EffectConstantBuffer_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   1011 #define ID3D10EffectConstantBuffer_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   1012 #define ID3D10EffectConstantBuffer_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   1013 #define ID3D10EffectConstantBuffer_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   1014 #define ID3D10EffectConstantBuffer_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   1015 #define ID3D10EffectConstantBuffer_AsVector(This) (This)->lpVtbl->AsVector(This)
   1016 #define ID3D10EffectConstantBuffer_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   1017 #define ID3D10EffectConstantBuffer_AsString(This) (This)->lpVtbl->AsString(This)
   1018 #define ID3D10EffectConstantBuffer_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   1019 #define ID3D10EffectConstantBuffer_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   1020 #define ID3D10EffectConstantBuffer_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   1021 #define ID3D10EffectConstantBuffer_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   1022 #define ID3D10EffectConstantBuffer_AsShader(This) (This)->lpVtbl->AsShader(This)
   1023 #define ID3D10EffectConstantBuffer_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   1024 #define ID3D10EffectConstantBuffer_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   1025 #define ID3D10EffectConstantBuffer_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   1026 #define ID3D10EffectConstantBuffer_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   1027 #define ID3D10EffectConstantBuffer_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   1028 #define ID3D10EffectConstantBuffer_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   1029 /*** ID3D10EffectConstantBuffer methods ***/
   1030 #define ID3D10EffectConstantBuffer_SetConstantBuffer(This,buffer) (This)->lpVtbl->SetConstantBuffer(This,buffer)
   1031 #define ID3D10EffectConstantBuffer_GetConstantBuffer(This,buffer) (This)->lpVtbl->GetConstantBuffer(This,buffer)
   1032 #define ID3D10EffectConstantBuffer_SetTextureBuffer(This,view) (This)->lpVtbl->SetTextureBuffer(This,view)
   1033 #define ID3D10EffectConstantBuffer_GetTextureBuffer(This,view) (This)->lpVtbl->GetTextureBuffer(This,view)
   1034 #else
   1035 /*** ID3D10EffectVariable methods ***/
   1036 static inline WINBOOL ID3D10EffectConstantBuffer_IsValid(ID3D10EffectConstantBuffer* This) {
   1037     return This->lpVtbl->IsValid(This);
   1038 }
   1039 static inline ID3D10EffectType * ID3D10EffectConstantBuffer_GetType(ID3D10EffectConstantBuffer* This) {
   1040     return This->lpVtbl->GetType(This);
   1041 }
   1042 static inline HRESULT ID3D10EffectConstantBuffer_GetDesc(ID3D10EffectConstantBuffer* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   1043     return This->lpVtbl->GetDesc(This,desc);
   1044 }
   1045 static inline ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetAnnotationByIndex(ID3D10EffectConstantBuffer* This,UINT index) {
   1046     return This->lpVtbl->GetAnnotationByIndex(This,index);
   1047 }
   1048 static inline ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetAnnotationByName(ID3D10EffectConstantBuffer* This,const char *name) {
   1049     return This->lpVtbl->GetAnnotationByName(This,name);
   1050 }
   1051 static inline ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetMemberByIndex(ID3D10EffectConstantBuffer* This,UINT index) {
   1052     return This->lpVtbl->GetMemberByIndex(This,index);
   1053 }
   1054 static inline ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetMemberByName(ID3D10EffectConstantBuffer* This,const char *name) {
   1055     return This->lpVtbl->GetMemberByName(This,name);
   1056 }
   1057 static inline ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetMemberBySemantic(ID3D10EffectConstantBuffer* This,const char *semantic) {
   1058     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   1059 }
   1060 static inline ID3D10EffectVariable * ID3D10EffectConstantBuffer_GetElement(ID3D10EffectConstantBuffer* This,UINT index) {
   1061     return This->lpVtbl->GetElement(This,index);
   1062 }
   1063 static inline ID3D10EffectConstantBuffer * ID3D10EffectConstantBuffer_GetParentConstantBuffer(ID3D10EffectConstantBuffer* This) {
   1064     return This->lpVtbl->GetParentConstantBuffer(This);
   1065 }
   1066 static inline ID3D10EffectScalarVariable * ID3D10EffectConstantBuffer_AsScalar(ID3D10EffectConstantBuffer* This) {
   1067     return This->lpVtbl->AsScalar(This);
   1068 }
   1069 static inline ID3D10EffectVectorVariable * ID3D10EffectConstantBuffer_AsVector(ID3D10EffectConstantBuffer* This) {
   1070     return This->lpVtbl->AsVector(This);
   1071 }
   1072 static inline ID3D10EffectMatrixVariable * ID3D10EffectConstantBuffer_AsMatrix(ID3D10EffectConstantBuffer* This) {
   1073     return This->lpVtbl->AsMatrix(This);
   1074 }
   1075 static inline ID3D10EffectStringVariable * ID3D10EffectConstantBuffer_AsString(ID3D10EffectConstantBuffer* This) {
   1076     return This->lpVtbl->AsString(This);
   1077 }
   1078 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectConstantBuffer_AsShaderResource(ID3D10EffectConstantBuffer* This) {
   1079     return This->lpVtbl->AsShaderResource(This);
   1080 }
   1081 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectConstantBuffer_AsRenderTargetView(ID3D10EffectConstantBuffer* This) {
   1082     return This->lpVtbl->AsRenderTargetView(This);
   1083 }
   1084 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectConstantBuffer_AsDepthStencilView(ID3D10EffectConstantBuffer* This) {
   1085     return This->lpVtbl->AsDepthStencilView(This);
   1086 }
   1087 static inline ID3D10EffectConstantBuffer * ID3D10EffectConstantBuffer_AsConstantBuffer(ID3D10EffectConstantBuffer* This) {
   1088     return This->lpVtbl->AsConstantBuffer(This);
   1089 }
   1090 static inline ID3D10EffectShaderVariable * ID3D10EffectConstantBuffer_AsShader(ID3D10EffectConstantBuffer* This) {
   1091     return This->lpVtbl->AsShader(This);
   1092 }
   1093 static inline ID3D10EffectBlendVariable * ID3D10EffectConstantBuffer_AsBlend(ID3D10EffectConstantBuffer* This) {
   1094     return This->lpVtbl->AsBlend(This);
   1095 }
   1096 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectConstantBuffer_AsDepthStencil(ID3D10EffectConstantBuffer* This) {
   1097     return This->lpVtbl->AsDepthStencil(This);
   1098 }
   1099 static inline ID3D10EffectRasterizerVariable * ID3D10EffectConstantBuffer_AsRasterizer(ID3D10EffectConstantBuffer* This) {
   1100     return This->lpVtbl->AsRasterizer(This);
   1101 }
   1102 static inline ID3D10EffectSamplerVariable * ID3D10EffectConstantBuffer_AsSampler(ID3D10EffectConstantBuffer* This) {
   1103     return This->lpVtbl->AsSampler(This);
   1104 }
   1105 static inline HRESULT ID3D10EffectConstantBuffer_SetRawValue(ID3D10EffectConstantBuffer* This,void *data,UINT offset,UINT count) {
   1106     return This->lpVtbl->SetRawValue(This,data,offset,count);
   1107 }
   1108 static inline HRESULT ID3D10EffectConstantBuffer_GetRawValue(ID3D10EffectConstantBuffer* This,void *data,UINT offset,UINT count) {
   1109     return This->lpVtbl->GetRawValue(This,data,offset,count);
   1110 }
   1111 /*** ID3D10EffectConstantBuffer methods ***/
   1112 static inline HRESULT ID3D10EffectConstantBuffer_SetConstantBuffer(ID3D10EffectConstantBuffer* This,ID3D10Buffer *buffer) {
   1113     return This->lpVtbl->SetConstantBuffer(This,buffer);
   1114 }
   1115 static inline HRESULT ID3D10EffectConstantBuffer_GetConstantBuffer(ID3D10EffectConstantBuffer* This,ID3D10Buffer **buffer) {
   1116     return This->lpVtbl->GetConstantBuffer(This,buffer);
   1117 }
   1118 static inline HRESULT ID3D10EffectConstantBuffer_SetTextureBuffer(ID3D10EffectConstantBuffer* This,ID3D10ShaderResourceView *view) {
   1119     return This->lpVtbl->SetTextureBuffer(This,view);
   1120 }
   1121 static inline HRESULT ID3D10EffectConstantBuffer_GetTextureBuffer(ID3D10EffectConstantBuffer* This,ID3D10ShaderResourceView **view) {
   1122     return This->lpVtbl->GetTextureBuffer(This,view);
   1123 }
   1124 #endif
   1125 #endif
   1126 
   1127 #endif
   1128 
   1129 
   1130 #endif  /* __ID3D10EffectConstantBuffer_INTERFACE_DEFINED__ */
   1131 
   1132 /*****************************************************************************
   1133  * ID3D10EffectScalarVariable interface
   1134  */
   1135 #ifndef __ID3D10EffectScalarVariable_INTERFACE_DEFINED__
   1136 #define __ID3D10EffectScalarVariable_INTERFACE_DEFINED__
   1137 
   1138 DEFINE_GUID(IID_ID3D10EffectScalarVariable, 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8,0x6c, 0x02,0x2d,0xee,0x53,0x43,0x1f);
   1139 #if defined(__cplusplus) && !defined(CINTERFACE)
   1140 MIDL_INTERFACE("00e48f7b-d2c8-49e8-a86c-022dee53431f")
   1141 ID3D10EffectScalarVariable : public ID3D10EffectVariable
   1142 {
   1143     virtual HRESULT STDMETHODCALLTYPE SetFloat(
   1144         float value) = 0;
   1145 
   1146     virtual HRESULT STDMETHODCALLTYPE GetFloat(
   1147         float *value) = 0;
   1148 
   1149     virtual HRESULT STDMETHODCALLTYPE SetFloatArray(
   1150         float *values,
   1151         UINT offset,
   1152         UINT count) = 0;
   1153 
   1154     virtual HRESULT STDMETHODCALLTYPE GetFloatArray(
   1155         float *values,
   1156         UINT offset,
   1157         UINT count) = 0;
   1158 
   1159     virtual HRESULT STDMETHODCALLTYPE SetInt(
   1160         int value) = 0;
   1161 
   1162     virtual HRESULT STDMETHODCALLTYPE GetInt(
   1163         int *value) = 0;
   1164 
   1165     virtual HRESULT STDMETHODCALLTYPE SetIntArray(
   1166         int *values,
   1167         UINT offset,
   1168         UINT count) = 0;
   1169 
   1170     virtual HRESULT STDMETHODCALLTYPE GetIntArray(
   1171         int *values,
   1172         UINT offset,
   1173         UINT count) = 0;
   1174 
   1175     virtual HRESULT STDMETHODCALLTYPE SetBool(
   1176         WINBOOL value) = 0;
   1177 
   1178     virtual HRESULT STDMETHODCALLTYPE GetBool(
   1179         WINBOOL *value) = 0;
   1180 
   1181     virtual HRESULT STDMETHODCALLTYPE SetBoolArray(
   1182         WINBOOL *values,
   1183         UINT offset,
   1184         UINT count) = 0;
   1185 
   1186     virtual HRESULT STDMETHODCALLTYPE GetBoolArray(
   1187         WINBOOL *values,
   1188         UINT offset,
   1189         UINT count) = 0;
   1190 
   1191 };
   1192 #ifdef __CRT_UUID_DECL
   1193 __CRT_UUID_DECL(ID3D10EffectScalarVariable, 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8,0x6c, 0x02,0x2d,0xee,0x53,0x43,0x1f)
   1194 #endif
   1195 #else
   1196 typedef struct ID3D10EffectScalarVariableVtbl {
   1197     BEGIN_INTERFACE
   1198 
   1199     /*** ID3D10EffectVariable methods ***/
   1200     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   1201         ID3D10EffectScalarVariable *This);
   1202 
   1203     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   1204         ID3D10EffectScalarVariable *This);
   1205 
   1206     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   1207         ID3D10EffectScalarVariable *This,
   1208         D3D10_EFFECT_VARIABLE_DESC *desc);
   1209 
   1210     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   1211         ID3D10EffectScalarVariable *This,
   1212         UINT index);
   1213 
   1214     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   1215         ID3D10EffectScalarVariable *This,
   1216         const char *name);
   1217 
   1218     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   1219         ID3D10EffectScalarVariable *This,
   1220         UINT index);
   1221 
   1222     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   1223         ID3D10EffectScalarVariable *This,
   1224         const char *name);
   1225 
   1226     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   1227         ID3D10EffectScalarVariable *This,
   1228         const char *semantic);
   1229 
   1230     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   1231         ID3D10EffectScalarVariable *This,
   1232         UINT index);
   1233 
   1234     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   1235         ID3D10EffectScalarVariable *This);
   1236 
   1237     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   1238         ID3D10EffectScalarVariable *This);
   1239 
   1240     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   1241         ID3D10EffectScalarVariable *This);
   1242 
   1243     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   1244         ID3D10EffectScalarVariable *This);
   1245 
   1246     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   1247         ID3D10EffectScalarVariable *This);
   1248 
   1249     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   1250         ID3D10EffectScalarVariable *This);
   1251 
   1252     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   1253         ID3D10EffectScalarVariable *This);
   1254 
   1255     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   1256         ID3D10EffectScalarVariable *This);
   1257 
   1258     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   1259         ID3D10EffectScalarVariable *This);
   1260 
   1261     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   1262         ID3D10EffectScalarVariable *This);
   1263 
   1264     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   1265         ID3D10EffectScalarVariable *This);
   1266 
   1267     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   1268         ID3D10EffectScalarVariable *This);
   1269 
   1270     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   1271         ID3D10EffectScalarVariable *This);
   1272 
   1273     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   1274         ID3D10EffectScalarVariable *This);
   1275 
   1276     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   1277         ID3D10EffectScalarVariable *This,
   1278         void *data,
   1279         UINT offset,
   1280         UINT count);
   1281 
   1282     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   1283         ID3D10EffectScalarVariable *This,
   1284         void *data,
   1285         UINT offset,
   1286         UINT count);
   1287 
   1288     /*** ID3D10EffectScalarVariable methods ***/
   1289     HRESULT (STDMETHODCALLTYPE *SetFloat)(
   1290         ID3D10EffectScalarVariable *This,
   1291         float value);
   1292 
   1293     HRESULT (STDMETHODCALLTYPE *GetFloat)(
   1294         ID3D10EffectScalarVariable *This,
   1295         float *value);
   1296 
   1297     HRESULT (STDMETHODCALLTYPE *SetFloatArray)(
   1298         ID3D10EffectScalarVariable *This,
   1299         float *values,
   1300         UINT offset,
   1301         UINT count);
   1302 
   1303     HRESULT (STDMETHODCALLTYPE *GetFloatArray)(
   1304         ID3D10EffectScalarVariable *This,
   1305         float *values,
   1306         UINT offset,
   1307         UINT count);
   1308 
   1309     HRESULT (STDMETHODCALLTYPE *SetInt)(
   1310         ID3D10EffectScalarVariable *This,
   1311         int value);
   1312 
   1313     HRESULT (STDMETHODCALLTYPE *GetInt)(
   1314         ID3D10EffectScalarVariable *This,
   1315         int *value);
   1316 
   1317     HRESULT (STDMETHODCALLTYPE *SetIntArray)(
   1318         ID3D10EffectScalarVariable *This,
   1319         int *values,
   1320         UINT offset,
   1321         UINT count);
   1322 
   1323     HRESULT (STDMETHODCALLTYPE *GetIntArray)(
   1324         ID3D10EffectScalarVariable *This,
   1325         int *values,
   1326         UINT offset,
   1327         UINT count);
   1328 
   1329     HRESULT (STDMETHODCALLTYPE *SetBool)(
   1330         ID3D10EffectScalarVariable *This,
   1331         WINBOOL value);
   1332 
   1333     HRESULT (STDMETHODCALLTYPE *GetBool)(
   1334         ID3D10EffectScalarVariable *This,
   1335         WINBOOL *value);
   1336 
   1337     HRESULT (STDMETHODCALLTYPE *SetBoolArray)(
   1338         ID3D10EffectScalarVariable *This,
   1339         WINBOOL *values,
   1340         UINT offset,
   1341         UINT count);
   1342 
   1343     HRESULT (STDMETHODCALLTYPE *GetBoolArray)(
   1344         ID3D10EffectScalarVariable *This,
   1345         WINBOOL *values,
   1346         UINT offset,
   1347         UINT count);
   1348 
   1349     END_INTERFACE
   1350 } ID3D10EffectScalarVariableVtbl;
   1351 
   1352 interface ID3D10EffectScalarVariable {
   1353     CONST_VTBL ID3D10EffectScalarVariableVtbl* lpVtbl;
   1354 };
   1355 
   1356 #ifdef COBJMACROS
   1357 #ifndef WIDL_C_INLINE_WRAPPERS
   1358 /*** ID3D10EffectVariable methods ***/
   1359 #define ID3D10EffectScalarVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   1360 #define ID3D10EffectScalarVariable_GetType(This) (This)->lpVtbl->GetType(This)
   1361 #define ID3D10EffectScalarVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   1362 #define ID3D10EffectScalarVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   1363 #define ID3D10EffectScalarVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   1364 #define ID3D10EffectScalarVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   1365 #define ID3D10EffectScalarVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   1366 #define ID3D10EffectScalarVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   1367 #define ID3D10EffectScalarVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   1368 #define ID3D10EffectScalarVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   1369 #define ID3D10EffectScalarVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   1370 #define ID3D10EffectScalarVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   1371 #define ID3D10EffectScalarVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   1372 #define ID3D10EffectScalarVariable_AsString(This) (This)->lpVtbl->AsString(This)
   1373 #define ID3D10EffectScalarVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   1374 #define ID3D10EffectScalarVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   1375 #define ID3D10EffectScalarVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   1376 #define ID3D10EffectScalarVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   1377 #define ID3D10EffectScalarVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   1378 #define ID3D10EffectScalarVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   1379 #define ID3D10EffectScalarVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   1380 #define ID3D10EffectScalarVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   1381 #define ID3D10EffectScalarVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   1382 #define ID3D10EffectScalarVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   1383 #define ID3D10EffectScalarVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   1384 /*** ID3D10EffectScalarVariable methods ***/
   1385 #define ID3D10EffectScalarVariable_SetFloat(This,value) (This)->lpVtbl->SetFloat(This,value)
   1386 #define ID3D10EffectScalarVariable_GetFloat(This,value) (This)->lpVtbl->GetFloat(This,value)
   1387 #define ID3D10EffectScalarVariable_SetFloatArray(This,values,offset,count) (This)->lpVtbl->SetFloatArray(This,values,offset,count)
   1388 #define ID3D10EffectScalarVariable_GetFloatArray(This,values,offset,count) (This)->lpVtbl->GetFloatArray(This,values,offset,count)
   1389 #define ID3D10EffectScalarVariable_SetInt(This,value) (This)->lpVtbl->SetInt(This,value)
   1390 #define ID3D10EffectScalarVariable_GetInt(This,value) (This)->lpVtbl->GetInt(This,value)
   1391 #define ID3D10EffectScalarVariable_SetIntArray(This,values,offset,count) (This)->lpVtbl->SetIntArray(This,values,offset,count)
   1392 #define ID3D10EffectScalarVariable_GetIntArray(This,values,offset,count) (This)->lpVtbl->GetIntArray(This,values,offset,count)
   1393 #define ID3D10EffectScalarVariable_SetBool(This,value) (This)->lpVtbl->SetBool(This,value)
   1394 #define ID3D10EffectScalarVariable_GetBool(This,value) (This)->lpVtbl->GetBool(This,value)
   1395 #define ID3D10EffectScalarVariable_SetBoolArray(This,values,offset,count) (This)->lpVtbl->SetBoolArray(This,values,offset,count)
   1396 #define ID3D10EffectScalarVariable_GetBoolArray(This,values,offset,count) (This)->lpVtbl->GetBoolArray(This,values,offset,count)
   1397 #else
   1398 /*** ID3D10EffectVariable methods ***/
   1399 static inline WINBOOL ID3D10EffectScalarVariable_IsValid(ID3D10EffectScalarVariable* This) {
   1400     return This->lpVtbl->IsValid(This);
   1401 }
   1402 static inline ID3D10EffectType * ID3D10EffectScalarVariable_GetType(ID3D10EffectScalarVariable* This) {
   1403     return This->lpVtbl->GetType(This);
   1404 }
   1405 static inline HRESULT ID3D10EffectScalarVariable_GetDesc(ID3D10EffectScalarVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   1406     return This->lpVtbl->GetDesc(This,desc);
   1407 }
   1408 static inline ID3D10EffectVariable * ID3D10EffectScalarVariable_GetAnnotationByIndex(ID3D10EffectScalarVariable* This,UINT index) {
   1409     return This->lpVtbl->GetAnnotationByIndex(This,index);
   1410 }
   1411 static inline ID3D10EffectVariable * ID3D10EffectScalarVariable_GetAnnotationByName(ID3D10EffectScalarVariable* This,const char *name) {
   1412     return This->lpVtbl->GetAnnotationByName(This,name);
   1413 }
   1414 static inline ID3D10EffectVariable * ID3D10EffectScalarVariable_GetMemberByIndex(ID3D10EffectScalarVariable* This,UINT index) {
   1415     return This->lpVtbl->GetMemberByIndex(This,index);
   1416 }
   1417 static inline ID3D10EffectVariable * ID3D10EffectScalarVariable_GetMemberByName(ID3D10EffectScalarVariable* This,const char *name) {
   1418     return This->lpVtbl->GetMemberByName(This,name);
   1419 }
   1420 static inline ID3D10EffectVariable * ID3D10EffectScalarVariable_GetMemberBySemantic(ID3D10EffectScalarVariable* This,const char *semantic) {
   1421     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   1422 }
   1423 static inline ID3D10EffectVariable * ID3D10EffectScalarVariable_GetElement(ID3D10EffectScalarVariable* This,UINT index) {
   1424     return This->lpVtbl->GetElement(This,index);
   1425 }
   1426 static inline ID3D10EffectConstantBuffer * ID3D10EffectScalarVariable_GetParentConstantBuffer(ID3D10EffectScalarVariable* This) {
   1427     return This->lpVtbl->GetParentConstantBuffer(This);
   1428 }
   1429 static inline ID3D10EffectScalarVariable * ID3D10EffectScalarVariable_AsScalar(ID3D10EffectScalarVariable* This) {
   1430     return This->lpVtbl->AsScalar(This);
   1431 }
   1432 static inline ID3D10EffectVectorVariable * ID3D10EffectScalarVariable_AsVector(ID3D10EffectScalarVariable* This) {
   1433     return This->lpVtbl->AsVector(This);
   1434 }
   1435 static inline ID3D10EffectMatrixVariable * ID3D10EffectScalarVariable_AsMatrix(ID3D10EffectScalarVariable* This) {
   1436     return This->lpVtbl->AsMatrix(This);
   1437 }
   1438 static inline ID3D10EffectStringVariable * ID3D10EffectScalarVariable_AsString(ID3D10EffectScalarVariable* This) {
   1439     return This->lpVtbl->AsString(This);
   1440 }
   1441 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectScalarVariable_AsShaderResource(ID3D10EffectScalarVariable* This) {
   1442     return This->lpVtbl->AsShaderResource(This);
   1443 }
   1444 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectScalarVariable_AsRenderTargetView(ID3D10EffectScalarVariable* This) {
   1445     return This->lpVtbl->AsRenderTargetView(This);
   1446 }
   1447 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectScalarVariable_AsDepthStencilView(ID3D10EffectScalarVariable* This) {
   1448     return This->lpVtbl->AsDepthStencilView(This);
   1449 }
   1450 static inline ID3D10EffectConstantBuffer * ID3D10EffectScalarVariable_AsConstantBuffer(ID3D10EffectScalarVariable* This) {
   1451     return This->lpVtbl->AsConstantBuffer(This);
   1452 }
   1453 static inline ID3D10EffectShaderVariable * ID3D10EffectScalarVariable_AsShader(ID3D10EffectScalarVariable* This) {
   1454     return This->lpVtbl->AsShader(This);
   1455 }
   1456 static inline ID3D10EffectBlendVariable * ID3D10EffectScalarVariable_AsBlend(ID3D10EffectScalarVariable* This) {
   1457     return This->lpVtbl->AsBlend(This);
   1458 }
   1459 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectScalarVariable_AsDepthStencil(ID3D10EffectScalarVariable* This) {
   1460     return This->lpVtbl->AsDepthStencil(This);
   1461 }
   1462 static inline ID3D10EffectRasterizerVariable * ID3D10EffectScalarVariable_AsRasterizer(ID3D10EffectScalarVariable* This) {
   1463     return This->lpVtbl->AsRasterizer(This);
   1464 }
   1465 static inline ID3D10EffectSamplerVariable * ID3D10EffectScalarVariable_AsSampler(ID3D10EffectScalarVariable* This) {
   1466     return This->lpVtbl->AsSampler(This);
   1467 }
   1468 static inline HRESULT ID3D10EffectScalarVariable_SetRawValue(ID3D10EffectScalarVariable* This,void *data,UINT offset,UINT count) {
   1469     return This->lpVtbl->SetRawValue(This,data,offset,count);
   1470 }
   1471 static inline HRESULT ID3D10EffectScalarVariable_GetRawValue(ID3D10EffectScalarVariable* This,void *data,UINT offset,UINT count) {
   1472     return This->lpVtbl->GetRawValue(This,data,offset,count);
   1473 }
   1474 /*** ID3D10EffectScalarVariable methods ***/
   1475 static inline HRESULT ID3D10EffectScalarVariable_SetFloat(ID3D10EffectScalarVariable* This,float value) {
   1476     return This->lpVtbl->SetFloat(This,value);
   1477 }
   1478 static inline HRESULT ID3D10EffectScalarVariable_GetFloat(ID3D10EffectScalarVariable* This,float *value) {
   1479     return This->lpVtbl->GetFloat(This,value);
   1480 }
   1481 static inline HRESULT ID3D10EffectScalarVariable_SetFloatArray(ID3D10EffectScalarVariable* This,float *values,UINT offset,UINT count) {
   1482     return This->lpVtbl->SetFloatArray(This,values,offset,count);
   1483 }
   1484 static inline HRESULT ID3D10EffectScalarVariable_GetFloatArray(ID3D10EffectScalarVariable* This,float *values,UINT offset,UINT count) {
   1485     return This->lpVtbl->GetFloatArray(This,values,offset,count);
   1486 }
   1487 static inline HRESULT ID3D10EffectScalarVariable_SetInt(ID3D10EffectScalarVariable* This,int value) {
   1488     return This->lpVtbl->SetInt(This,value);
   1489 }
   1490 static inline HRESULT ID3D10EffectScalarVariable_GetInt(ID3D10EffectScalarVariable* This,int *value) {
   1491     return This->lpVtbl->GetInt(This,value);
   1492 }
   1493 static inline HRESULT ID3D10EffectScalarVariable_SetIntArray(ID3D10EffectScalarVariable* This,int *values,UINT offset,UINT count) {
   1494     return This->lpVtbl->SetIntArray(This,values,offset,count);
   1495 }
   1496 static inline HRESULT ID3D10EffectScalarVariable_GetIntArray(ID3D10EffectScalarVariable* This,int *values,UINT offset,UINT count) {
   1497     return This->lpVtbl->GetIntArray(This,values,offset,count);
   1498 }
   1499 static inline HRESULT ID3D10EffectScalarVariable_SetBool(ID3D10EffectScalarVariable* This,WINBOOL value) {
   1500     return This->lpVtbl->SetBool(This,value);
   1501 }
   1502 static inline HRESULT ID3D10EffectScalarVariable_GetBool(ID3D10EffectScalarVariable* This,WINBOOL *value) {
   1503     return This->lpVtbl->GetBool(This,value);
   1504 }
   1505 static inline HRESULT ID3D10EffectScalarVariable_SetBoolArray(ID3D10EffectScalarVariable* This,WINBOOL *values,UINT offset,UINT count) {
   1506     return This->lpVtbl->SetBoolArray(This,values,offset,count);
   1507 }
   1508 static inline HRESULT ID3D10EffectScalarVariable_GetBoolArray(ID3D10EffectScalarVariable* This,WINBOOL *values,UINT offset,UINT count) {
   1509     return This->lpVtbl->GetBoolArray(This,values,offset,count);
   1510 }
   1511 #endif
   1512 #endif
   1513 
   1514 #endif
   1515 
   1516 
   1517 #endif  /* __ID3D10EffectScalarVariable_INTERFACE_DEFINED__ */
   1518 
   1519 /*****************************************************************************
   1520  * ID3D10EffectVectorVariable interface
   1521  */
   1522 #ifndef __ID3D10EffectVectorVariable_INTERFACE_DEFINED__
   1523 #define __ID3D10EffectVectorVariable_INTERFACE_DEFINED__
   1524 
   1525 DEFINE_GUID(IID_ID3D10EffectVectorVariable, 0x62b98c44, 0x1f82, 0x4c67, 0xbc,0xd0, 0x72,0xcf,0x8f,0x21,0x7e,0x81);
   1526 #if defined(__cplusplus) && !defined(CINTERFACE)
   1527 MIDL_INTERFACE("62b98c44-1f82-4c67-bcd0-72cf8f217e81")
   1528 ID3D10EffectVectorVariable : public ID3D10EffectVariable
   1529 {
   1530     virtual HRESULT STDMETHODCALLTYPE SetBoolVector(
   1531         WINBOOL *value) = 0;
   1532 
   1533     virtual HRESULT STDMETHODCALLTYPE SetIntVector(
   1534         int *value) = 0;
   1535 
   1536     virtual HRESULT STDMETHODCALLTYPE SetFloatVector(
   1537         float *value) = 0;
   1538 
   1539     virtual HRESULT STDMETHODCALLTYPE GetBoolVector(
   1540         WINBOOL *value) = 0;
   1541 
   1542     virtual HRESULT STDMETHODCALLTYPE GetIntVector(
   1543         int *value) = 0;
   1544 
   1545     virtual HRESULT STDMETHODCALLTYPE GetFloatVector(
   1546         float *value) = 0;
   1547 
   1548     virtual HRESULT STDMETHODCALLTYPE SetBoolVectorArray(
   1549         WINBOOL *values,
   1550         UINT offset,
   1551         UINT count) = 0;
   1552 
   1553     virtual HRESULT STDMETHODCALLTYPE SetIntVectorArray(
   1554         int *values,
   1555         UINT offset,
   1556         UINT count) = 0;
   1557 
   1558     virtual HRESULT STDMETHODCALLTYPE SetFloatVectorArray(
   1559         float *values,
   1560         UINT offset,
   1561         UINT count) = 0;
   1562 
   1563     virtual HRESULT STDMETHODCALLTYPE GetBoolVectorArray(
   1564         WINBOOL *values,
   1565         UINT offset,
   1566         UINT count) = 0;
   1567 
   1568     virtual HRESULT STDMETHODCALLTYPE GetIntVectorArray(
   1569         int *values,
   1570         UINT offset,
   1571         UINT count) = 0;
   1572 
   1573     virtual HRESULT STDMETHODCALLTYPE GetFloatVectorArray(
   1574         float *values,
   1575         UINT offset,
   1576         UINT count) = 0;
   1577 
   1578 };
   1579 #ifdef __CRT_UUID_DECL
   1580 __CRT_UUID_DECL(ID3D10EffectVectorVariable, 0x62b98c44, 0x1f82, 0x4c67, 0xbc,0xd0, 0x72,0xcf,0x8f,0x21,0x7e,0x81)
   1581 #endif
   1582 #else
   1583 typedef struct ID3D10EffectVectorVariableVtbl {
   1584     BEGIN_INTERFACE
   1585 
   1586     /*** ID3D10EffectVariable methods ***/
   1587     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   1588         ID3D10EffectVectorVariable *This);
   1589 
   1590     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   1591         ID3D10EffectVectorVariable *This);
   1592 
   1593     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   1594         ID3D10EffectVectorVariable *This,
   1595         D3D10_EFFECT_VARIABLE_DESC *desc);
   1596 
   1597     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   1598         ID3D10EffectVectorVariable *This,
   1599         UINT index);
   1600 
   1601     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   1602         ID3D10EffectVectorVariable *This,
   1603         const char *name);
   1604 
   1605     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   1606         ID3D10EffectVectorVariable *This,
   1607         UINT index);
   1608 
   1609     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   1610         ID3D10EffectVectorVariable *This,
   1611         const char *name);
   1612 
   1613     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   1614         ID3D10EffectVectorVariable *This,
   1615         const char *semantic);
   1616 
   1617     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   1618         ID3D10EffectVectorVariable *This,
   1619         UINT index);
   1620 
   1621     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   1622         ID3D10EffectVectorVariable *This);
   1623 
   1624     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   1625         ID3D10EffectVectorVariable *This);
   1626 
   1627     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   1628         ID3D10EffectVectorVariable *This);
   1629 
   1630     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   1631         ID3D10EffectVectorVariable *This);
   1632 
   1633     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   1634         ID3D10EffectVectorVariable *This);
   1635 
   1636     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   1637         ID3D10EffectVectorVariable *This);
   1638 
   1639     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   1640         ID3D10EffectVectorVariable *This);
   1641 
   1642     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   1643         ID3D10EffectVectorVariable *This);
   1644 
   1645     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   1646         ID3D10EffectVectorVariable *This);
   1647 
   1648     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   1649         ID3D10EffectVectorVariable *This);
   1650 
   1651     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   1652         ID3D10EffectVectorVariable *This);
   1653 
   1654     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   1655         ID3D10EffectVectorVariable *This);
   1656 
   1657     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   1658         ID3D10EffectVectorVariable *This);
   1659 
   1660     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   1661         ID3D10EffectVectorVariable *This);
   1662 
   1663     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   1664         ID3D10EffectVectorVariable *This,
   1665         void *data,
   1666         UINT offset,
   1667         UINT count);
   1668 
   1669     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   1670         ID3D10EffectVectorVariable *This,
   1671         void *data,
   1672         UINT offset,
   1673         UINT count);
   1674 
   1675     /*** ID3D10EffectVectorVariable methods ***/
   1676     HRESULT (STDMETHODCALLTYPE *SetBoolVector)(
   1677         ID3D10EffectVectorVariable *This,
   1678         WINBOOL *value);
   1679 
   1680     HRESULT (STDMETHODCALLTYPE *SetIntVector)(
   1681         ID3D10EffectVectorVariable *This,
   1682         int *value);
   1683 
   1684     HRESULT (STDMETHODCALLTYPE *SetFloatVector)(
   1685         ID3D10EffectVectorVariable *This,
   1686         float *value);
   1687 
   1688     HRESULT (STDMETHODCALLTYPE *GetBoolVector)(
   1689         ID3D10EffectVectorVariable *This,
   1690         WINBOOL *value);
   1691 
   1692     HRESULT (STDMETHODCALLTYPE *GetIntVector)(
   1693         ID3D10EffectVectorVariable *This,
   1694         int *value);
   1695 
   1696     HRESULT (STDMETHODCALLTYPE *GetFloatVector)(
   1697         ID3D10EffectVectorVariable *This,
   1698         float *value);
   1699 
   1700     HRESULT (STDMETHODCALLTYPE *SetBoolVectorArray)(
   1701         ID3D10EffectVectorVariable *This,
   1702         WINBOOL *values,
   1703         UINT offset,
   1704         UINT count);
   1705 
   1706     HRESULT (STDMETHODCALLTYPE *SetIntVectorArray)(
   1707         ID3D10EffectVectorVariable *This,
   1708         int *values,
   1709         UINT offset,
   1710         UINT count);
   1711 
   1712     HRESULT (STDMETHODCALLTYPE *SetFloatVectorArray)(
   1713         ID3D10EffectVectorVariable *This,
   1714         float *values,
   1715         UINT offset,
   1716         UINT count);
   1717 
   1718     HRESULT (STDMETHODCALLTYPE *GetBoolVectorArray)(
   1719         ID3D10EffectVectorVariable *This,
   1720         WINBOOL *values,
   1721         UINT offset,
   1722         UINT count);
   1723 
   1724     HRESULT (STDMETHODCALLTYPE *GetIntVectorArray)(
   1725         ID3D10EffectVectorVariable *This,
   1726         int *values,
   1727         UINT offset,
   1728         UINT count);
   1729 
   1730     HRESULT (STDMETHODCALLTYPE *GetFloatVectorArray)(
   1731         ID3D10EffectVectorVariable *This,
   1732         float *values,
   1733         UINT offset,
   1734         UINT count);
   1735 
   1736     END_INTERFACE
   1737 } ID3D10EffectVectorVariableVtbl;
   1738 
   1739 interface ID3D10EffectVectorVariable {
   1740     CONST_VTBL ID3D10EffectVectorVariableVtbl* lpVtbl;
   1741 };
   1742 
   1743 #ifdef COBJMACROS
   1744 #ifndef WIDL_C_INLINE_WRAPPERS
   1745 /*** ID3D10EffectVariable methods ***/
   1746 #define ID3D10EffectVectorVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   1747 #define ID3D10EffectVectorVariable_GetType(This) (This)->lpVtbl->GetType(This)
   1748 #define ID3D10EffectVectorVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   1749 #define ID3D10EffectVectorVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   1750 #define ID3D10EffectVectorVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   1751 #define ID3D10EffectVectorVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   1752 #define ID3D10EffectVectorVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   1753 #define ID3D10EffectVectorVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   1754 #define ID3D10EffectVectorVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   1755 #define ID3D10EffectVectorVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   1756 #define ID3D10EffectVectorVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   1757 #define ID3D10EffectVectorVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   1758 #define ID3D10EffectVectorVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   1759 #define ID3D10EffectVectorVariable_AsString(This) (This)->lpVtbl->AsString(This)
   1760 #define ID3D10EffectVectorVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   1761 #define ID3D10EffectVectorVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   1762 #define ID3D10EffectVectorVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   1763 #define ID3D10EffectVectorVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   1764 #define ID3D10EffectVectorVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   1765 #define ID3D10EffectVectorVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   1766 #define ID3D10EffectVectorVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   1767 #define ID3D10EffectVectorVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   1768 #define ID3D10EffectVectorVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   1769 #define ID3D10EffectVectorVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   1770 #define ID3D10EffectVectorVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   1771 /*** ID3D10EffectVectorVariable methods ***/
   1772 #define ID3D10EffectVectorVariable_SetBoolVector(This,value) (This)->lpVtbl->SetBoolVector(This,value)
   1773 #define ID3D10EffectVectorVariable_SetIntVector(This,value) (This)->lpVtbl->SetIntVector(This,value)
   1774 #define ID3D10EffectVectorVariable_SetFloatVector(This,value) (This)->lpVtbl->SetFloatVector(This,value)
   1775 #define ID3D10EffectVectorVariable_GetBoolVector(This,value) (This)->lpVtbl->GetBoolVector(This,value)
   1776 #define ID3D10EffectVectorVariable_GetIntVector(This,value) (This)->lpVtbl->GetIntVector(This,value)
   1777 #define ID3D10EffectVectorVariable_GetFloatVector(This,value) (This)->lpVtbl->GetFloatVector(This,value)
   1778 #define ID3D10EffectVectorVariable_SetBoolVectorArray(This,values,offset,count) (This)->lpVtbl->SetBoolVectorArray(This,values,offset,count)
   1779 #define ID3D10EffectVectorVariable_SetIntVectorArray(This,values,offset,count) (This)->lpVtbl->SetIntVectorArray(This,values,offset,count)
   1780 #define ID3D10EffectVectorVariable_SetFloatVectorArray(This,values,offset,count) (This)->lpVtbl->SetFloatVectorArray(This,values,offset,count)
   1781 #define ID3D10EffectVectorVariable_GetBoolVectorArray(This,values,offset,count) (This)->lpVtbl->GetBoolVectorArray(This,values,offset,count)
   1782 #define ID3D10EffectVectorVariable_GetIntVectorArray(This,values,offset,count) (This)->lpVtbl->GetIntVectorArray(This,values,offset,count)
   1783 #define ID3D10EffectVectorVariable_GetFloatVectorArray(This,values,offset,count) (This)->lpVtbl->GetFloatVectorArray(This,values,offset,count)
   1784 #else
   1785 /*** ID3D10EffectVariable methods ***/
   1786 static inline WINBOOL ID3D10EffectVectorVariable_IsValid(ID3D10EffectVectorVariable* This) {
   1787     return This->lpVtbl->IsValid(This);
   1788 }
   1789 static inline ID3D10EffectType * ID3D10EffectVectorVariable_GetType(ID3D10EffectVectorVariable* This) {
   1790     return This->lpVtbl->GetType(This);
   1791 }
   1792 static inline HRESULT ID3D10EffectVectorVariable_GetDesc(ID3D10EffectVectorVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   1793     return This->lpVtbl->GetDesc(This,desc);
   1794 }
   1795 static inline ID3D10EffectVariable * ID3D10EffectVectorVariable_GetAnnotationByIndex(ID3D10EffectVectorVariable* This,UINT index) {
   1796     return This->lpVtbl->GetAnnotationByIndex(This,index);
   1797 }
   1798 static inline ID3D10EffectVariable * ID3D10EffectVectorVariable_GetAnnotationByName(ID3D10EffectVectorVariable* This,const char *name) {
   1799     return This->lpVtbl->GetAnnotationByName(This,name);
   1800 }
   1801 static inline ID3D10EffectVariable * ID3D10EffectVectorVariable_GetMemberByIndex(ID3D10EffectVectorVariable* This,UINT index) {
   1802     return This->lpVtbl->GetMemberByIndex(This,index);
   1803 }
   1804 static inline ID3D10EffectVariable * ID3D10EffectVectorVariable_GetMemberByName(ID3D10EffectVectorVariable* This,const char *name) {
   1805     return This->lpVtbl->GetMemberByName(This,name);
   1806 }
   1807 static inline ID3D10EffectVariable * ID3D10EffectVectorVariable_GetMemberBySemantic(ID3D10EffectVectorVariable* This,const char *semantic) {
   1808     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   1809 }
   1810 static inline ID3D10EffectVariable * ID3D10EffectVectorVariable_GetElement(ID3D10EffectVectorVariable* This,UINT index) {
   1811     return This->lpVtbl->GetElement(This,index);
   1812 }
   1813 static inline ID3D10EffectConstantBuffer * ID3D10EffectVectorVariable_GetParentConstantBuffer(ID3D10EffectVectorVariable* This) {
   1814     return This->lpVtbl->GetParentConstantBuffer(This);
   1815 }
   1816 static inline ID3D10EffectScalarVariable * ID3D10EffectVectorVariable_AsScalar(ID3D10EffectVectorVariable* This) {
   1817     return This->lpVtbl->AsScalar(This);
   1818 }
   1819 static inline ID3D10EffectVectorVariable * ID3D10EffectVectorVariable_AsVector(ID3D10EffectVectorVariable* This) {
   1820     return This->lpVtbl->AsVector(This);
   1821 }
   1822 static inline ID3D10EffectMatrixVariable * ID3D10EffectVectorVariable_AsMatrix(ID3D10EffectVectorVariable* This) {
   1823     return This->lpVtbl->AsMatrix(This);
   1824 }
   1825 static inline ID3D10EffectStringVariable * ID3D10EffectVectorVariable_AsString(ID3D10EffectVectorVariable* This) {
   1826     return This->lpVtbl->AsString(This);
   1827 }
   1828 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectVectorVariable_AsShaderResource(ID3D10EffectVectorVariable* This) {
   1829     return This->lpVtbl->AsShaderResource(This);
   1830 }
   1831 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectVectorVariable_AsRenderTargetView(ID3D10EffectVectorVariable* This) {
   1832     return This->lpVtbl->AsRenderTargetView(This);
   1833 }
   1834 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectVectorVariable_AsDepthStencilView(ID3D10EffectVectorVariable* This) {
   1835     return This->lpVtbl->AsDepthStencilView(This);
   1836 }
   1837 static inline ID3D10EffectConstantBuffer * ID3D10EffectVectorVariable_AsConstantBuffer(ID3D10EffectVectorVariable* This) {
   1838     return This->lpVtbl->AsConstantBuffer(This);
   1839 }
   1840 static inline ID3D10EffectShaderVariable * ID3D10EffectVectorVariable_AsShader(ID3D10EffectVectorVariable* This) {
   1841     return This->lpVtbl->AsShader(This);
   1842 }
   1843 static inline ID3D10EffectBlendVariable * ID3D10EffectVectorVariable_AsBlend(ID3D10EffectVectorVariable* This) {
   1844     return This->lpVtbl->AsBlend(This);
   1845 }
   1846 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectVectorVariable_AsDepthStencil(ID3D10EffectVectorVariable* This) {
   1847     return This->lpVtbl->AsDepthStencil(This);
   1848 }
   1849 static inline ID3D10EffectRasterizerVariable * ID3D10EffectVectorVariable_AsRasterizer(ID3D10EffectVectorVariable* This) {
   1850     return This->lpVtbl->AsRasterizer(This);
   1851 }
   1852 static inline ID3D10EffectSamplerVariable * ID3D10EffectVectorVariable_AsSampler(ID3D10EffectVectorVariable* This) {
   1853     return This->lpVtbl->AsSampler(This);
   1854 }
   1855 static inline HRESULT ID3D10EffectVectorVariable_SetRawValue(ID3D10EffectVectorVariable* This,void *data,UINT offset,UINT count) {
   1856     return This->lpVtbl->SetRawValue(This,data,offset,count);
   1857 }
   1858 static inline HRESULT ID3D10EffectVectorVariable_GetRawValue(ID3D10EffectVectorVariable* This,void *data,UINT offset,UINT count) {
   1859     return This->lpVtbl->GetRawValue(This,data,offset,count);
   1860 }
   1861 /*** ID3D10EffectVectorVariable methods ***/
   1862 static inline HRESULT ID3D10EffectVectorVariable_SetBoolVector(ID3D10EffectVectorVariable* This,WINBOOL *value) {
   1863     return This->lpVtbl->SetBoolVector(This,value);
   1864 }
   1865 static inline HRESULT ID3D10EffectVectorVariable_SetIntVector(ID3D10EffectVectorVariable* This,int *value) {
   1866     return This->lpVtbl->SetIntVector(This,value);
   1867 }
   1868 static inline HRESULT ID3D10EffectVectorVariable_SetFloatVector(ID3D10EffectVectorVariable* This,float *value) {
   1869     return This->lpVtbl->SetFloatVector(This,value);
   1870 }
   1871 static inline HRESULT ID3D10EffectVectorVariable_GetBoolVector(ID3D10EffectVectorVariable* This,WINBOOL *value) {
   1872     return This->lpVtbl->GetBoolVector(This,value);
   1873 }
   1874 static inline HRESULT ID3D10EffectVectorVariable_GetIntVector(ID3D10EffectVectorVariable* This,int *value) {
   1875     return This->lpVtbl->GetIntVector(This,value);
   1876 }
   1877 static inline HRESULT ID3D10EffectVectorVariable_GetFloatVector(ID3D10EffectVectorVariable* This,float *value) {
   1878     return This->lpVtbl->GetFloatVector(This,value);
   1879 }
   1880 static inline HRESULT ID3D10EffectVectorVariable_SetBoolVectorArray(ID3D10EffectVectorVariable* This,WINBOOL *values,UINT offset,UINT count) {
   1881     return This->lpVtbl->SetBoolVectorArray(This,values,offset,count);
   1882 }
   1883 static inline HRESULT ID3D10EffectVectorVariable_SetIntVectorArray(ID3D10EffectVectorVariable* This,int *values,UINT offset,UINT count) {
   1884     return This->lpVtbl->SetIntVectorArray(This,values,offset,count);
   1885 }
   1886 static inline HRESULT ID3D10EffectVectorVariable_SetFloatVectorArray(ID3D10EffectVectorVariable* This,float *values,UINT offset,UINT count) {
   1887     return This->lpVtbl->SetFloatVectorArray(This,values,offset,count);
   1888 }
   1889 static inline HRESULT ID3D10EffectVectorVariable_GetBoolVectorArray(ID3D10EffectVectorVariable* This,WINBOOL *values,UINT offset,UINT count) {
   1890     return This->lpVtbl->GetBoolVectorArray(This,values,offset,count);
   1891 }
   1892 static inline HRESULT ID3D10EffectVectorVariable_GetIntVectorArray(ID3D10EffectVectorVariable* This,int *values,UINT offset,UINT count) {
   1893     return This->lpVtbl->GetIntVectorArray(This,values,offset,count);
   1894 }
   1895 static inline HRESULT ID3D10EffectVectorVariable_GetFloatVectorArray(ID3D10EffectVectorVariable* This,float *values,UINT offset,UINT count) {
   1896     return This->lpVtbl->GetFloatVectorArray(This,values,offset,count);
   1897 }
   1898 #endif
   1899 #endif
   1900 
   1901 #endif
   1902 
   1903 
   1904 #endif  /* __ID3D10EffectVectorVariable_INTERFACE_DEFINED__ */
   1905 
   1906 /*****************************************************************************
   1907  * ID3D10EffectMatrixVariable interface
   1908  */
   1909 #ifndef __ID3D10EffectMatrixVariable_INTERFACE_DEFINED__
   1910 #define __ID3D10EffectMatrixVariable_INTERFACE_DEFINED__
   1911 
   1912 DEFINE_GUID(IID_ID3D10EffectMatrixVariable, 0x50666c24, 0xb82f, 0x4eed, 0xa1,0x72, 0x5b,0x6e,0x7e,0x85,0x22,0xe0);
   1913 #if defined(__cplusplus) && !defined(CINTERFACE)
   1914 MIDL_INTERFACE("50666c24-b82f-4eed-a172-5b6e7e8522e0")
   1915 ID3D10EffectMatrixVariable : public ID3D10EffectVariable
   1916 {
   1917     virtual HRESULT STDMETHODCALLTYPE SetMatrix(
   1918         float *data) = 0;
   1919 
   1920     virtual HRESULT STDMETHODCALLTYPE GetMatrix(
   1921         float *data) = 0;
   1922 
   1923     virtual HRESULT STDMETHODCALLTYPE SetMatrixArray(
   1924         float *data,
   1925         UINT offset,
   1926         UINT count) = 0;
   1927 
   1928     virtual HRESULT STDMETHODCALLTYPE GetMatrixArray(
   1929         float *data,
   1930         UINT offset,
   1931         UINT count) = 0;
   1932 
   1933     virtual HRESULT STDMETHODCALLTYPE SetMatrixTranspose(
   1934         float *data) = 0;
   1935 
   1936     virtual HRESULT STDMETHODCALLTYPE GetMatrixTranspose(
   1937         float *data) = 0;
   1938 
   1939     virtual HRESULT STDMETHODCALLTYPE SetMatrixTransposeArray(
   1940         float *data,
   1941         UINT offset,
   1942         UINT count) = 0;
   1943 
   1944     virtual HRESULT STDMETHODCALLTYPE GetMatrixTransposeArray(
   1945         float *data,
   1946         UINT offset,
   1947         UINT count) = 0;
   1948 
   1949 };
   1950 #ifdef __CRT_UUID_DECL
   1951 __CRT_UUID_DECL(ID3D10EffectMatrixVariable, 0x50666c24, 0xb82f, 0x4eed, 0xa1,0x72, 0x5b,0x6e,0x7e,0x85,0x22,0xe0)
   1952 #endif
   1953 #else
   1954 typedef struct ID3D10EffectMatrixVariableVtbl {
   1955     BEGIN_INTERFACE
   1956 
   1957     /*** ID3D10EffectVariable methods ***/
   1958     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   1959         ID3D10EffectMatrixVariable *This);
   1960 
   1961     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   1962         ID3D10EffectMatrixVariable *This);
   1963 
   1964     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   1965         ID3D10EffectMatrixVariable *This,
   1966         D3D10_EFFECT_VARIABLE_DESC *desc);
   1967 
   1968     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   1969         ID3D10EffectMatrixVariable *This,
   1970         UINT index);
   1971 
   1972     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   1973         ID3D10EffectMatrixVariable *This,
   1974         const char *name);
   1975 
   1976     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   1977         ID3D10EffectMatrixVariable *This,
   1978         UINT index);
   1979 
   1980     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   1981         ID3D10EffectMatrixVariable *This,
   1982         const char *name);
   1983 
   1984     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   1985         ID3D10EffectMatrixVariable *This,
   1986         const char *semantic);
   1987 
   1988     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   1989         ID3D10EffectMatrixVariable *This,
   1990         UINT index);
   1991 
   1992     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   1993         ID3D10EffectMatrixVariable *This);
   1994 
   1995     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   1996         ID3D10EffectMatrixVariable *This);
   1997 
   1998     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   1999         ID3D10EffectMatrixVariable *This);
   2000 
   2001     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   2002         ID3D10EffectMatrixVariable *This);
   2003 
   2004     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   2005         ID3D10EffectMatrixVariable *This);
   2006 
   2007     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   2008         ID3D10EffectMatrixVariable *This);
   2009 
   2010     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   2011         ID3D10EffectMatrixVariable *This);
   2012 
   2013     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   2014         ID3D10EffectMatrixVariable *This);
   2015 
   2016     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   2017         ID3D10EffectMatrixVariable *This);
   2018 
   2019     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   2020         ID3D10EffectMatrixVariable *This);
   2021 
   2022     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   2023         ID3D10EffectMatrixVariable *This);
   2024 
   2025     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   2026         ID3D10EffectMatrixVariable *This);
   2027 
   2028     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   2029         ID3D10EffectMatrixVariable *This);
   2030 
   2031     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   2032         ID3D10EffectMatrixVariable *This);
   2033 
   2034     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   2035         ID3D10EffectMatrixVariable *This,
   2036         void *data,
   2037         UINT offset,
   2038         UINT count);
   2039 
   2040     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   2041         ID3D10EffectMatrixVariable *This,
   2042         void *data,
   2043         UINT offset,
   2044         UINT count);
   2045 
   2046     /*** ID3D10EffectMatrixVariable methods ***/
   2047     HRESULT (STDMETHODCALLTYPE *SetMatrix)(
   2048         ID3D10EffectMatrixVariable *This,
   2049         float *data);
   2050 
   2051     HRESULT (STDMETHODCALLTYPE *GetMatrix)(
   2052         ID3D10EffectMatrixVariable *This,
   2053         float *data);
   2054 
   2055     HRESULT (STDMETHODCALLTYPE *SetMatrixArray)(
   2056         ID3D10EffectMatrixVariable *This,
   2057         float *data,
   2058         UINT offset,
   2059         UINT count);
   2060 
   2061     HRESULT (STDMETHODCALLTYPE *GetMatrixArray)(
   2062         ID3D10EffectMatrixVariable *This,
   2063         float *data,
   2064         UINT offset,
   2065         UINT count);
   2066 
   2067     HRESULT (STDMETHODCALLTYPE *SetMatrixTranspose)(
   2068         ID3D10EffectMatrixVariable *This,
   2069         float *data);
   2070 
   2071     HRESULT (STDMETHODCALLTYPE *GetMatrixTranspose)(
   2072         ID3D10EffectMatrixVariable *This,
   2073         float *data);
   2074 
   2075     HRESULT (STDMETHODCALLTYPE *SetMatrixTransposeArray)(
   2076         ID3D10EffectMatrixVariable *This,
   2077         float *data,
   2078         UINT offset,
   2079         UINT count);
   2080 
   2081     HRESULT (STDMETHODCALLTYPE *GetMatrixTransposeArray)(
   2082         ID3D10EffectMatrixVariable *This,
   2083         float *data,
   2084         UINT offset,
   2085         UINT count);
   2086 
   2087     END_INTERFACE
   2088 } ID3D10EffectMatrixVariableVtbl;
   2089 
   2090 interface ID3D10EffectMatrixVariable {
   2091     CONST_VTBL ID3D10EffectMatrixVariableVtbl* lpVtbl;
   2092 };
   2093 
   2094 #ifdef COBJMACROS
   2095 #ifndef WIDL_C_INLINE_WRAPPERS
   2096 /*** ID3D10EffectVariable methods ***/
   2097 #define ID3D10EffectMatrixVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   2098 #define ID3D10EffectMatrixVariable_GetType(This) (This)->lpVtbl->GetType(This)
   2099 #define ID3D10EffectMatrixVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   2100 #define ID3D10EffectMatrixVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   2101 #define ID3D10EffectMatrixVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   2102 #define ID3D10EffectMatrixVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   2103 #define ID3D10EffectMatrixVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   2104 #define ID3D10EffectMatrixVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   2105 #define ID3D10EffectMatrixVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   2106 #define ID3D10EffectMatrixVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   2107 #define ID3D10EffectMatrixVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   2108 #define ID3D10EffectMatrixVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   2109 #define ID3D10EffectMatrixVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   2110 #define ID3D10EffectMatrixVariable_AsString(This) (This)->lpVtbl->AsString(This)
   2111 #define ID3D10EffectMatrixVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   2112 #define ID3D10EffectMatrixVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   2113 #define ID3D10EffectMatrixVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   2114 #define ID3D10EffectMatrixVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   2115 #define ID3D10EffectMatrixVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   2116 #define ID3D10EffectMatrixVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   2117 #define ID3D10EffectMatrixVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   2118 #define ID3D10EffectMatrixVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   2119 #define ID3D10EffectMatrixVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   2120 #define ID3D10EffectMatrixVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   2121 #define ID3D10EffectMatrixVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   2122 /*** ID3D10EffectMatrixVariable methods ***/
   2123 #define ID3D10EffectMatrixVariable_SetMatrix(This,data) (This)->lpVtbl->SetMatrix(This,data)
   2124 #define ID3D10EffectMatrixVariable_GetMatrix(This,data) (This)->lpVtbl->GetMatrix(This,data)
   2125 #define ID3D10EffectMatrixVariable_SetMatrixArray(This,data,offset,count) (This)->lpVtbl->SetMatrixArray(This,data,offset,count)
   2126 #define ID3D10EffectMatrixVariable_GetMatrixArray(This,data,offset,count) (This)->lpVtbl->GetMatrixArray(This,data,offset,count)
   2127 #define ID3D10EffectMatrixVariable_SetMatrixTranspose(This,data) (This)->lpVtbl->SetMatrixTranspose(This,data)
   2128 #define ID3D10EffectMatrixVariable_GetMatrixTranspose(This,data) (This)->lpVtbl->GetMatrixTranspose(This,data)
   2129 #define ID3D10EffectMatrixVariable_SetMatrixTransposeArray(This,data,offset,count) (This)->lpVtbl->SetMatrixTransposeArray(This,data,offset,count)
   2130 #define ID3D10EffectMatrixVariable_GetMatrixTransposeArray(This,data,offset,count) (This)->lpVtbl->GetMatrixTransposeArray(This,data,offset,count)
   2131 #else
   2132 /*** ID3D10EffectVariable methods ***/
   2133 static inline WINBOOL ID3D10EffectMatrixVariable_IsValid(ID3D10EffectMatrixVariable* This) {
   2134     return This->lpVtbl->IsValid(This);
   2135 }
   2136 static inline ID3D10EffectType * ID3D10EffectMatrixVariable_GetType(ID3D10EffectMatrixVariable* This) {
   2137     return This->lpVtbl->GetType(This);
   2138 }
   2139 static inline HRESULT ID3D10EffectMatrixVariable_GetDesc(ID3D10EffectMatrixVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   2140     return This->lpVtbl->GetDesc(This,desc);
   2141 }
   2142 static inline ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetAnnotationByIndex(ID3D10EffectMatrixVariable* This,UINT index) {
   2143     return This->lpVtbl->GetAnnotationByIndex(This,index);
   2144 }
   2145 static inline ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetAnnotationByName(ID3D10EffectMatrixVariable* This,const char *name) {
   2146     return This->lpVtbl->GetAnnotationByName(This,name);
   2147 }
   2148 static inline ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetMemberByIndex(ID3D10EffectMatrixVariable* This,UINT index) {
   2149     return This->lpVtbl->GetMemberByIndex(This,index);
   2150 }
   2151 static inline ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetMemberByName(ID3D10EffectMatrixVariable* This,const char *name) {
   2152     return This->lpVtbl->GetMemberByName(This,name);
   2153 }
   2154 static inline ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetMemberBySemantic(ID3D10EffectMatrixVariable* This,const char *semantic) {
   2155     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   2156 }
   2157 static inline ID3D10EffectVariable * ID3D10EffectMatrixVariable_GetElement(ID3D10EffectMatrixVariable* This,UINT index) {
   2158     return This->lpVtbl->GetElement(This,index);
   2159 }
   2160 static inline ID3D10EffectConstantBuffer * ID3D10EffectMatrixVariable_GetParentConstantBuffer(ID3D10EffectMatrixVariable* This) {
   2161     return This->lpVtbl->GetParentConstantBuffer(This);
   2162 }
   2163 static inline ID3D10EffectScalarVariable * ID3D10EffectMatrixVariable_AsScalar(ID3D10EffectMatrixVariable* This) {
   2164     return This->lpVtbl->AsScalar(This);
   2165 }
   2166 static inline ID3D10EffectVectorVariable * ID3D10EffectMatrixVariable_AsVector(ID3D10EffectMatrixVariable* This) {
   2167     return This->lpVtbl->AsVector(This);
   2168 }
   2169 static inline ID3D10EffectMatrixVariable * ID3D10EffectMatrixVariable_AsMatrix(ID3D10EffectMatrixVariable* This) {
   2170     return This->lpVtbl->AsMatrix(This);
   2171 }
   2172 static inline ID3D10EffectStringVariable * ID3D10EffectMatrixVariable_AsString(ID3D10EffectMatrixVariable* This) {
   2173     return This->lpVtbl->AsString(This);
   2174 }
   2175 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectMatrixVariable_AsShaderResource(ID3D10EffectMatrixVariable* This) {
   2176     return This->lpVtbl->AsShaderResource(This);
   2177 }
   2178 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectMatrixVariable_AsRenderTargetView(ID3D10EffectMatrixVariable* This) {
   2179     return This->lpVtbl->AsRenderTargetView(This);
   2180 }
   2181 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectMatrixVariable_AsDepthStencilView(ID3D10EffectMatrixVariable* This) {
   2182     return This->lpVtbl->AsDepthStencilView(This);
   2183 }
   2184 static inline ID3D10EffectConstantBuffer * ID3D10EffectMatrixVariable_AsConstantBuffer(ID3D10EffectMatrixVariable* This) {
   2185     return This->lpVtbl->AsConstantBuffer(This);
   2186 }
   2187 static inline ID3D10EffectShaderVariable * ID3D10EffectMatrixVariable_AsShader(ID3D10EffectMatrixVariable* This) {
   2188     return This->lpVtbl->AsShader(This);
   2189 }
   2190 static inline ID3D10EffectBlendVariable * ID3D10EffectMatrixVariable_AsBlend(ID3D10EffectMatrixVariable* This) {
   2191     return This->lpVtbl->AsBlend(This);
   2192 }
   2193 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectMatrixVariable_AsDepthStencil(ID3D10EffectMatrixVariable* This) {
   2194     return This->lpVtbl->AsDepthStencil(This);
   2195 }
   2196 static inline ID3D10EffectRasterizerVariable * ID3D10EffectMatrixVariable_AsRasterizer(ID3D10EffectMatrixVariable* This) {
   2197     return This->lpVtbl->AsRasterizer(This);
   2198 }
   2199 static inline ID3D10EffectSamplerVariable * ID3D10EffectMatrixVariable_AsSampler(ID3D10EffectMatrixVariable* This) {
   2200     return This->lpVtbl->AsSampler(This);
   2201 }
   2202 static inline HRESULT ID3D10EffectMatrixVariable_SetRawValue(ID3D10EffectMatrixVariable* This,void *data,UINT offset,UINT count) {
   2203     return This->lpVtbl->SetRawValue(This,data,offset,count);
   2204 }
   2205 static inline HRESULT ID3D10EffectMatrixVariable_GetRawValue(ID3D10EffectMatrixVariable* This,void *data,UINT offset,UINT count) {
   2206     return This->lpVtbl->GetRawValue(This,data,offset,count);
   2207 }
   2208 /*** ID3D10EffectMatrixVariable methods ***/
   2209 static inline HRESULT ID3D10EffectMatrixVariable_SetMatrix(ID3D10EffectMatrixVariable* This,float *data) {
   2210     return This->lpVtbl->SetMatrix(This,data);
   2211 }
   2212 static inline HRESULT ID3D10EffectMatrixVariable_GetMatrix(ID3D10EffectMatrixVariable* This,float *data) {
   2213     return This->lpVtbl->GetMatrix(This,data);
   2214 }
   2215 static inline HRESULT ID3D10EffectMatrixVariable_SetMatrixArray(ID3D10EffectMatrixVariable* This,float *data,UINT offset,UINT count) {
   2216     return This->lpVtbl->SetMatrixArray(This,data,offset,count);
   2217 }
   2218 static inline HRESULT ID3D10EffectMatrixVariable_GetMatrixArray(ID3D10EffectMatrixVariable* This,float *data,UINT offset,UINT count) {
   2219     return This->lpVtbl->GetMatrixArray(This,data,offset,count);
   2220 }
   2221 static inline HRESULT ID3D10EffectMatrixVariable_SetMatrixTranspose(ID3D10EffectMatrixVariable* This,float *data) {
   2222     return This->lpVtbl->SetMatrixTranspose(This,data);
   2223 }
   2224 static inline HRESULT ID3D10EffectMatrixVariable_GetMatrixTranspose(ID3D10EffectMatrixVariable* This,float *data) {
   2225     return This->lpVtbl->GetMatrixTranspose(This,data);
   2226 }
   2227 static inline HRESULT ID3D10EffectMatrixVariable_SetMatrixTransposeArray(ID3D10EffectMatrixVariable* This,float *data,UINT offset,UINT count) {
   2228     return This->lpVtbl->SetMatrixTransposeArray(This,data,offset,count);
   2229 }
   2230 static inline HRESULT ID3D10EffectMatrixVariable_GetMatrixTransposeArray(ID3D10EffectMatrixVariable* This,float *data,UINT offset,UINT count) {
   2231     return This->lpVtbl->GetMatrixTransposeArray(This,data,offset,count);
   2232 }
   2233 #endif
   2234 #endif
   2235 
   2236 #endif
   2237 
   2238 
   2239 #endif  /* __ID3D10EffectMatrixVariable_INTERFACE_DEFINED__ */
   2240 
   2241 /*****************************************************************************
   2242  * ID3D10EffectStringVariable interface
   2243  */
   2244 #ifndef __ID3D10EffectStringVariable_INTERFACE_DEFINED__
   2245 #define __ID3D10EffectStringVariable_INTERFACE_DEFINED__
   2246 
   2247 DEFINE_GUID(IID_ID3D10EffectStringVariable, 0x71417501, 0x8df9, 0x4e0a, 0xa7,0x8a, 0x25,0x5f,0x97,0x56,0xba,0xff);
   2248 #if defined(__cplusplus) && !defined(CINTERFACE)
   2249 MIDL_INTERFACE("71417501-8df9-4e0a-a78a-255f9756baff")
   2250 ID3D10EffectStringVariable : public ID3D10EffectVariable
   2251 {
   2252     virtual HRESULT STDMETHODCALLTYPE GetString(
   2253         const char **str) = 0;
   2254 
   2255     virtual HRESULT STDMETHODCALLTYPE GetStringArray(
   2256         const char **strs,
   2257         UINT offset,
   2258         UINT count) = 0;
   2259 
   2260 };
   2261 #ifdef __CRT_UUID_DECL
   2262 __CRT_UUID_DECL(ID3D10EffectStringVariable, 0x71417501, 0x8df9, 0x4e0a, 0xa7,0x8a, 0x25,0x5f,0x97,0x56,0xba,0xff)
   2263 #endif
   2264 #else
   2265 typedef struct ID3D10EffectStringVariableVtbl {
   2266     BEGIN_INTERFACE
   2267 
   2268     /*** ID3D10EffectVariable methods ***/
   2269     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   2270         ID3D10EffectStringVariable *This);
   2271 
   2272     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   2273         ID3D10EffectStringVariable *This);
   2274 
   2275     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   2276         ID3D10EffectStringVariable *This,
   2277         D3D10_EFFECT_VARIABLE_DESC *desc);
   2278 
   2279     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   2280         ID3D10EffectStringVariable *This,
   2281         UINT index);
   2282 
   2283     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   2284         ID3D10EffectStringVariable *This,
   2285         const char *name);
   2286 
   2287     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   2288         ID3D10EffectStringVariable *This,
   2289         UINT index);
   2290 
   2291     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   2292         ID3D10EffectStringVariable *This,
   2293         const char *name);
   2294 
   2295     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   2296         ID3D10EffectStringVariable *This,
   2297         const char *semantic);
   2298 
   2299     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   2300         ID3D10EffectStringVariable *This,
   2301         UINT index);
   2302 
   2303     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   2304         ID3D10EffectStringVariable *This);
   2305 
   2306     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   2307         ID3D10EffectStringVariable *This);
   2308 
   2309     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   2310         ID3D10EffectStringVariable *This);
   2311 
   2312     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   2313         ID3D10EffectStringVariable *This);
   2314 
   2315     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   2316         ID3D10EffectStringVariable *This);
   2317 
   2318     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   2319         ID3D10EffectStringVariable *This);
   2320 
   2321     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   2322         ID3D10EffectStringVariable *This);
   2323 
   2324     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   2325         ID3D10EffectStringVariable *This);
   2326 
   2327     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   2328         ID3D10EffectStringVariable *This);
   2329 
   2330     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   2331         ID3D10EffectStringVariable *This);
   2332 
   2333     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   2334         ID3D10EffectStringVariable *This);
   2335 
   2336     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   2337         ID3D10EffectStringVariable *This);
   2338 
   2339     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   2340         ID3D10EffectStringVariable *This);
   2341 
   2342     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   2343         ID3D10EffectStringVariable *This);
   2344 
   2345     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   2346         ID3D10EffectStringVariable *This,
   2347         void *data,
   2348         UINT offset,
   2349         UINT count);
   2350 
   2351     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   2352         ID3D10EffectStringVariable *This,
   2353         void *data,
   2354         UINT offset,
   2355         UINT count);
   2356 
   2357     /*** ID3D10EffectStringVariable methods ***/
   2358     HRESULT (STDMETHODCALLTYPE *GetString)(
   2359         ID3D10EffectStringVariable *This,
   2360         const char **str);
   2361 
   2362     HRESULT (STDMETHODCALLTYPE *GetStringArray)(
   2363         ID3D10EffectStringVariable *This,
   2364         const char **strs,
   2365         UINT offset,
   2366         UINT count);
   2367 
   2368     END_INTERFACE
   2369 } ID3D10EffectStringVariableVtbl;
   2370 
   2371 interface ID3D10EffectStringVariable {
   2372     CONST_VTBL ID3D10EffectStringVariableVtbl* lpVtbl;
   2373 };
   2374 
   2375 #ifdef COBJMACROS
   2376 #ifndef WIDL_C_INLINE_WRAPPERS
   2377 /*** ID3D10EffectVariable methods ***/
   2378 #define ID3D10EffectStringVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   2379 #define ID3D10EffectStringVariable_GetType(This) (This)->lpVtbl->GetType(This)
   2380 #define ID3D10EffectStringVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   2381 #define ID3D10EffectStringVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   2382 #define ID3D10EffectStringVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   2383 #define ID3D10EffectStringVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   2384 #define ID3D10EffectStringVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   2385 #define ID3D10EffectStringVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   2386 #define ID3D10EffectStringVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   2387 #define ID3D10EffectStringVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   2388 #define ID3D10EffectStringVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   2389 #define ID3D10EffectStringVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   2390 #define ID3D10EffectStringVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   2391 #define ID3D10EffectStringVariable_AsString(This) (This)->lpVtbl->AsString(This)
   2392 #define ID3D10EffectStringVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   2393 #define ID3D10EffectStringVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   2394 #define ID3D10EffectStringVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   2395 #define ID3D10EffectStringVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   2396 #define ID3D10EffectStringVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   2397 #define ID3D10EffectStringVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   2398 #define ID3D10EffectStringVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   2399 #define ID3D10EffectStringVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   2400 #define ID3D10EffectStringVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   2401 #define ID3D10EffectStringVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   2402 #define ID3D10EffectStringVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   2403 /*** ID3D10EffectStringVariable methods ***/
   2404 #define ID3D10EffectStringVariable_GetString(This,str) (This)->lpVtbl->GetString(This,str)
   2405 #define ID3D10EffectStringVariable_GetStringArray(This,strs,offset,count) (This)->lpVtbl->GetStringArray(This,strs,offset,count)
   2406 #else
   2407 /*** ID3D10EffectVariable methods ***/
   2408 static inline WINBOOL ID3D10EffectStringVariable_IsValid(ID3D10EffectStringVariable* This) {
   2409     return This->lpVtbl->IsValid(This);
   2410 }
   2411 static inline ID3D10EffectType * ID3D10EffectStringVariable_GetType(ID3D10EffectStringVariable* This) {
   2412     return This->lpVtbl->GetType(This);
   2413 }
   2414 static inline HRESULT ID3D10EffectStringVariable_GetDesc(ID3D10EffectStringVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   2415     return This->lpVtbl->GetDesc(This,desc);
   2416 }
   2417 static inline ID3D10EffectVariable * ID3D10EffectStringVariable_GetAnnotationByIndex(ID3D10EffectStringVariable* This,UINT index) {
   2418     return This->lpVtbl->GetAnnotationByIndex(This,index);
   2419 }
   2420 static inline ID3D10EffectVariable * ID3D10EffectStringVariable_GetAnnotationByName(ID3D10EffectStringVariable* This,const char *name) {
   2421     return This->lpVtbl->GetAnnotationByName(This,name);
   2422 }
   2423 static inline ID3D10EffectVariable * ID3D10EffectStringVariable_GetMemberByIndex(ID3D10EffectStringVariable* This,UINT index) {
   2424     return This->lpVtbl->GetMemberByIndex(This,index);
   2425 }
   2426 static inline ID3D10EffectVariable * ID3D10EffectStringVariable_GetMemberByName(ID3D10EffectStringVariable* This,const char *name) {
   2427     return This->lpVtbl->GetMemberByName(This,name);
   2428 }
   2429 static inline ID3D10EffectVariable * ID3D10EffectStringVariable_GetMemberBySemantic(ID3D10EffectStringVariable* This,const char *semantic) {
   2430     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   2431 }
   2432 static inline ID3D10EffectVariable * ID3D10EffectStringVariable_GetElement(ID3D10EffectStringVariable* This,UINT index) {
   2433     return This->lpVtbl->GetElement(This,index);
   2434 }
   2435 static inline ID3D10EffectConstantBuffer * ID3D10EffectStringVariable_GetParentConstantBuffer(ID3D10EffectStringVariable* This) {
   2436     return This->lpVtbl->GetParentConstantBuffer(This);
   2437 }
   2438 static inline ID3D10EffectScalarVariable * ID3D10EffectStringVariable_AsScalar(ID3D10EffectStringVariable* This) {
   2439     return This->lpVtbl->AsScalar(This);
   2440 }
   2441 static inline ID3D10EffectVectorVariable * ID3D10EffectStringVariable_AsVector(ID3D10EffectStringVariable* This) {
   2442     return This->lpVtbl->AsVector(This);
   2443 }
   2444 static inline ID3D10EffectMatrixVariable * ID3D10EffectStringVariable_AsMatrix(ID3D10EffectStringVariable* This) {
   2445     return This->lpVtbl->AsMatrix(This);
   2446 }
   2447 static inline ID3D10EffectStringVariable * ID3D10EffectStringVariable_AsString(ID3D10EffectStringVariable* This) {
   2448     return This->lpVtbl->AsString(This);
   2449 }
   2450 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectStringVariable_AsShaderResource(ID3D10EffectStringVariable* This) {
   2451     return This->lpVtbl->AsShaderResource(This);
   2452 }
   2453 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectStringVariable_AsRenderTargetView(ID3D10EffectStringVariable* This) {
   2454     return This->lpVtbl->AsRenderTargetView(This);
   2455 }
   2456 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectStringVariable_AsDepthStencilView(ID3D10EffectStringVariable* This) {
   2457     return This->lpVtbl->AsDepthStencilView(This);
   2458 }
   2459 static inline ID3D10EffectConstantBuffer * ID3D10EffectStringVariable_AsConstantBuffer(ID3D10EffectStringVariable* This) {
   2460     return This->lpVtbl->AsConstantBuffer(This);
   2461 }
   2462 static inline ID3D10EffectShaderVariable * ID3D10EffectStringVariable_AsShader(ID3D10EffectStringVariable* This) {
   2463     return This->lpVtbl->AsShader(This);
   2464 }
   2465 static inline ID3D10EffectBlendVariable * ID3D10EffectStringVariable_AsBlend(ID3D10EffectStringVariable* This) {
   2466     return This->lpVtbl->AsBlend(This);
   2467 }
   2468 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectStringVariable_AsDepthStencil(ID3D10EffectStringVariable* This) {
   2469     return This->lpVtbl->AsDepthStencil(This);
   2470 }
   2471 static inline ID3D10EffectRasterizerVariable * ID3D10EffectStringVariable_AsRasterizer(ID3D10EffectStringVariable* This) {
   2472     return This->lpVtbl->AsRasterizer(This);
   2473 }
   2474 static inline ID3D10EffectSamplerVariable * ID3D10EffectStringVariable_AsSampler(ID3D10EffectStringVariable* This) {
   2475     return This->lpVtbl->AsSampler(This);
   2476 }
   2477 static inline HRESULT ID3D10EffectStringVariable_SetRawValue(ID3D10EffectStringVariable* This,void *data,UINT offset,UINT count) {
   2478     return This->lpVtbl->SetRawValue(This,data,offset,count);
   2479 }
   2480 static inline HRESULT ID3D10EffectStringVariable_GetRawValue(ID3D10EffectStringVariable* This,void *data,UINT offset,UINT count) {
   2481     return This->lpVtbl->GetRawValue(This,data,offset,count);
   2482 }
   2483 /*** ID3D10EffectStringVariable methods ***/
   2484 static inline HRESULT ID3D10EffectStringVariable_GetString(ID3D10EffectStringVariable* This,const char **str) {
   2485     return This->lpVtbl->GetString(This,str);
   2486 }
   2487 static inline HRESULT ID3D10EffectStringVariable_GetStringArray(ID3D10EffectStringVariable* This,const char **strs,UINT offset,UINT count) {
   2488     return This->lpVtbl->GetStringArray(This,strs,offset,count);
   2489 }
   2490 #endif
   2491 #endif
   2492 
   2493 #endif
   2494 
   2495 
   2496 #endif  /* __ID3D10EffectStringVariable_INTERFACE_DEFINED__ */
   2497 
   2498 /*****************************************************************************
   2499  * ID3D10EffectShaderResourceVariable interface
   2500  */
   2501 #ifndef __ID3D10EffectShaderResourceVariable_INTERFACE_DEFINED__
   2502 #define __ID3D10EffectShaderResourceVariable_INTERFACE_DEFINED__
   2503 
   2504 DEFINE_GUID(IID_ID3D10EffectShaderResourceVariable, 0xc0a7157b, 0xd872, 0x4b1d, 0x80,0x73, 0xef,0xc2,0xac,0xd4,0xb1,0xfc);
   2505 #if defined(__cplusplus) && !defined(CINTERFACE)
   2506 MIDL_INTERFACE("c0a7157b-d872-4b1d-8073-efc2acd4b1fc")
   2507 ID3D10EffectShaderResourceVariable : public ID3D10EffectVariable
   2508 {
   2509     virtual HRESULT STDMETHODCALLTYPE SetResource(
   2510         ID3D10ShaderResourceView *resource) = 0;
   2511 
   2512     virtual HRESULT STDMETHODCALLTYPE GetResource(
   2513         ID3D10ShaderResourceView **resource) = 0;
   2514 
   2515     virtual HRESULT STDMETHODCALLTYPE SetResourceArray(
   2516         ID3D10ShaderResourceView **resources,
   2517         UINT offset,
   2518         UINT count) = 0;
   2519 
   2520     virtual HRESULT STDMETHODCALLTYPE GetResourceArray(
   2521         ID3D10ShaderResourceView **resources,
   2522         UINT offset,
   2523         UINT count) = 0;
   2524 
   2525 };
   2526 #ifdef __CRT_UUID_DECL
   2527 __CRT_UUID_DECL(ID3D10EffectShaderResourceVariable, 0xc0a7157b, 0xd872, 0x4b1d, 0x80,0x73, 0xef,0xc2,0xac,0xd4,0xb1,0xfc)
   2528 #endif
   2529 #else
   2530 typedef struct ID3D10EffectShaderResourceVariableVtbl {
   2531     BEGIN_INTERFACE
   2532 
   2533     /*** ID3D10EffectVariable methods ***/
   2534     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   2535         ID3D10EffectShaderResourceVariable *This);
   2536 
   2537     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   2538         ID3D10EffectShaderResourceVariable *This);
   2539 
   2540     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   2541         ID3D10EffectShaderResourceVariable *This,
   2542         D3D10_EFFECT_VARIABLE_DESC *desc);
   2543 
   2544     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   2545         ID3D10EffectShaderResourceVariable *This,
   2546         UINT index);
   2547 
   2548     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   2549         ID3D10EffectShaderResourceVariable *This,
   2550         const char *name);
   2551 
   2552     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   2553         ID3D10EffectShaderResourceVariable *This,
   2554         UINT index);
   2555 
   2556     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   2557         ID3D10EffectShaderResourceVariable *This,
   2558         const char *name);
   2559 
   2560     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   2561         ID3D10EffectShaderResourceVariable *This,
   2562         const char *semantic);
   2563 
   2564     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   2565         ID3D10EffectShaderResourceVariable *This,
   2566         UINT index);
   2567 
   2568     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   2569         ID3D10EffectShaderResourceVariable *This);
   2570 
   2571     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   2572         ID3D10EffectShaderResourceVariable *This);
   2573 
   2574     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   2575         ID3D10EffectShaderResourceVariable *This);
   2576 
   2577     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   2578         ID3D10EffectShaderResourceVariable *This);
   2579 
   2580     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   2581         ID3D10EffectShaderResourceVariable *This);
   2582 
   2583     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   2584         ID3D10EffectShaderResourceVariable *This);
   2585 
   2586     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   2587         ID3D10EffectShaderResourceVariable *This);
   2588 
   2589     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   2590         ID3D10EffectShaderResourceVariable *This);
   2591 
   2592     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   2593         ID3D10EffectShaderResourceVariable *This);
   2594 
   2595     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   2596         ID3D10EffectShaderResourceVariable *This);
   2597 
   2598     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   2599         ID3D10EffectShaderResourceVariable *This);
   2600 
   2601     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   2602         ID3D10EffectShaderResourceVariable *This);
   2603 
   2604     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   2605         ID3D10EffectShaderResourceVariable *This);
   2606 
   2607     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   2608         ID3D10EffectShaderResourceVariable *This);
   2609 
   2610     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   2611         ID3D10EffectShaderResourceVariable *This,
   2612         void *data,
   2613         UINT offset,
   2614         UINT count);
   2615 
   2616     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   2617         ID3D10EffectShaderResourceVariable *This,
   2618         void *data,
   2619         UINT offset,
   2620         UINT count);
   2621 
   2622     /*** ID3D10EffectShaderResourceVariable methods ***/
   2623     HRESULT (STDMETHODCALLTYPE *SetResource)(
   2624         ID3D10EffectShaderResourceVariable *This,
   2625         ID3D10ShaderResourceView *resource);
   2626 
   2627     HRESULT (STDMETHODCALLTYPE *GetResource)(
   2628         ID3D10EffectShaderResourceVariable *This,
   2629         ID3D10ShaderResourceView **resource);
   2630 
   2631     HRESULT (STDMETHODCALLTYPE *SetResourceArray)(
   2632         ID3D10EffectShaderResourceVariable *This,
   2633         ID3D10ShaderResourceView **resources,
   2634         UINT offset,
   2635         UINT count);
   2636 
   2637     HRESULT (STDMETHODCALLTYPE *GetResourceArray)(
   2638         ID3D10EffectShaderResourceVariable *This,
   2639         ID3D10ShaderResourceView **resources,
   2640         UINT offset,
   2641         UINT count);
   2642 
   2643     END_INTERFACE
   2644 } ID3D10EffectShaderResourceVariableVtbl;
   2645 
   2646 interface ID3D10EffectShaderResourceVariable {
   2647     CONST_VTBL ID3D10EffectShaderResourceVariableVtbl* lpVtbl;
   2648 };
   2649 
   2650 #ifdef COBJMACROS
   2651 #ifndef WIDL_C_INLINE_WRAPPERS
   2652 /*** ID3D10EffectVariable methods ***/
   2653 #define ID3D10EffectShaderResourceVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   2654 #define ID3D10EffectShaderResourceVariable_GetType(This) (This)->lpVtbl->GetType(This)
   2655 #define ID3D10EffectShaderResourceVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   2656 #define ID3D10EffectShaderResourceVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   2657 #define ID3D10EffectShaderResourceVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   2658 #define ID3D10EffectShaderResourceVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   2659 #define ID3D10EffectShaderResourceVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   2660 #define ID3D10EffectShaderResourceVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   2661 #define ID3D10EffectShaderResourceVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   2662 #define ID3D10EffectShaderResourceVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   2663 #define ID3D10EffectShaderResourceVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   2664 #define ID3D10EffectShaderResourceVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   2665 #define ID3D10EffectShaderResourceVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   2666 #define ID3D10EffectShaderResourceVariable_AsString(This) (This)->lpVtbl->AsString(This)
   2667 #define ID3D10EffectShaderResourceVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   2668 #define ID3D10EffectShaderResourceVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   2669 #define ID3D10EffectShaderResourceVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   2670 #define ID3D10EffectShaderResourceVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   2671 #define ID3D10EffectShaderResourceVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   2672 #define ID3D10EffectShaderResourceVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   2673 #define ID3D10EffectShaderResourceVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   2674 #define ID3D10EffectShaderResourceVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   2675 #define ID3D10EffectShaderResourceVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   2676 #define ID3D10EffectShaderResourceVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   2677 #define ID3D10EffectShaderResourceVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   2678 /*** ID3D10EffectShaderResourceVariable methods ***/
   2679 #define ID3D10EffectShaderResourceVariable_SetResource(This,resource) (This)->lpVtbl->SetResource(This,resource)
   2680 #define ID3D10EffectShaderResourceVariable_GetResource(This,resource) (This)->lpVtbl->GetResource(This,resource)
   2681 #define ID3D10EffectShaderResourceVariable_SetResourceArray(This,resources,offset,count) (This)->lpVtbl->SetResourceArray(This,resources,offset,count)
   2682 #define ID3D10EffectShaderResourceVariable_GetResourceArray(This,resources,offset,count) (This)->lpVtbl->GetResourceArray(This,resources,offset,count)
   2683 #else
   2684 /*** ID3D10EffectVariable methods ***/
   2685 static inline WINBOOL ID3D10EffectShaderResourceVariable_IsValid(ID3D10EffectShaderResourceVariable* This) {
   2686     return This->lpVtbl->IsValid(This);
   2687 }
   2688 static inline ID3D10EffectType * ID3D10EffectShaderResourceVariable_GetType(ID3D10EffectShaderResourceVariable* This) {
   2689     return This->lpVtbl->GetType(This);
   2690 }
   2691 static inline HRESULT ID3D10EffectShaderResourceVariable_GetDesc(ID3D10EffectShaderResourceVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   2692     return This->lpVtbl->GetDesc(This,desc);
   2693 }
   2694 static inline ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetAnnotationByIndex(ID3D10EffectShaderResourceVariable* This,UINT index) {
   2695     return This->lpVtbl->GetAnnotationByIndex(This,index);
   2696 }
   2697 static inline ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetAnnotationByName(ID3D10EffectShaderResourceVariable* This,const char *name) {
   2698     return This->lpVtbl->GetAnnotationByName(This,name);
   2699 }
   2700 static inline ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetMemberByIndex(ID3D10EffectShaderResourceVariable* This,UINT index) {
   2701     return This->lpVtbl->GetMemberByIndex(This,index);
   2702 }
   2703 static inline ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetMemberByName(ID3D10EffectShaderResourceVariable* This,const char *name) {
   2704     return This->lpVtbl->GetMemberByName(This,name);
   2705 }
   2706 static inline ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetMemberBySemantic(ID3D10EffectShaderResourceVariable* This,const char *semantic) {
   2707     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   2708 }
   2709 static inline ID3D10EffectVariable * ID3D10EffectShaderResourceVariable_GetElement(ID3D10EffectShaderResourceVariable* This,UINT index) {
   2710     return This->lpVtbl->GetElement(This,index);
   2711 }
   2712 static inline ID3D10EffectConstantBuffer * ID3D10EffectShaderResourceVariable_GetParentConstantBuffer(ID3D10EffectShaderResourceVariable* This) {
   2713     return This->lpVtbl->GetParentConstantBuffer(This);
   2714 }
   2715 static inline ID3D10EffectScalarVariable * ID3D10EffectShaderResourceVariable_AsScalar(ID3D10EffectShaderResourceVariable* This) {
   2716     return This->lpVtbl->AsScalar(This);
   2717 }
   2718 static inline ID3D10EffectVectorVariable * ID3D10EffectShaderResourceVariable_AsVector(ID3D10EffectShaderResourceVariable* This) {
   2719     return This->lpVtbl->AsVector(This);
   2720 }
   2721 static inline ID3D10EffectMatrixVariable * ID3D10EffectShaderResourceVariable_AsMatrix(ID3D10EffectShaderResourceVariable* This) {
   2722     return This->lpVtbl->AsMatrix(This);
   2723 }
   2724 static inline ID3D10EffectStringVariable * ID3D10EffectShaderResourceVariable_AsString(ID3D10EffectShaderResourceVariable* This) {
   2725     return This->lpVtbl->AsString(This);
   2726 }
   2727 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectShaderResourceVariable_AsShaderResource(ID3D10EffectShaderResourceVariable* This) {
   2728     return This->lpVtbl->AsShaderResource(This);
   2729 }
   2730 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectShaderResourceVariable_AsRenderTargetView(ID3D10EffectShaderResourceVariable* This) {
   2731     return This->lpVtbl->AsRenderTargetView(This);
   2732 }
   2733 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectShaderResourceVariable_AsDepthStencilView(ID3D10EffectShaderResourceVariable* This) {
   2734     return This->lpVtbl->AsDepthStencilView(This);
   2735 }
   2736 static inline ID3D10EffectConstantBuffer * ID3D10EffectShaderResourceVariable_AsConstantBuffer(ID3D10EffectShaderResourceVariable* This) {
   2737     return This->lpVtbl->AsConstantBuffer(This);
   2738 }
   2739 static inline ID3D10EffectShaderVariable * ID3D10EffectShaderResourceVariable_AsShader(ID3D10EffectShaderResourceVariable* This) {
   2740     return This->lpVtbl->AsShader(This);
   2741 }
   2742 static inline ID3D10EffectBlendVariable * ID3D10EffectShaderResourceVariable_AsBlend(ID3D10EffectShaderResourceVariable* This) {
   2743     return This->lpVtbl->AsBlend(This);
   2744 }
   2745 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectShaderResourceVariable_AsDepthStencil(ID3D10EffectShaderResourceVariable* This) {
   2746     return This->lpVtbl->AsDepthStencil(This);
   2747 }
   2748 static inline ID3D10EffectRasterizerVariable * ID3D10EffectShaderResourceVariable_AsRasterizer(ID3D10EffectShaderResourceVariable* This) {
   2749     return This->lpVtbl->AsRasterizer(This);
   2750 }
   2751 static inline ID3D10EffectSamplerVariable * ID3D10EffectShaderResourceVariable_AsSampler(ID3D10EffectShaderResourceVariable* This) {
   2752     return This->lpVtbl->AsSampler(This);
   2753 }
   2754 static inline HRESULT ID3D10EffectShaderResourceVariable_SetRawValue(ID3D10EffectShaderResourceVariable* This,void *data,UINT offset,UINT count) {
   2755     return This->lpVtbl->SetRawValue(This,data,offset,count);
   2756 }
   2757 static inline HRESULT ID3D10EffectShaderResourceVariable_GetRawValue(ID3D10EffectShaderResourceVariable* This,void *data,UINT offset,UINT count) {
   2758     return This->lpVtbl->GetRawValue(This,data,offset,count);
   2759 }
   2760 /*** ID3D10EffectShaderResourceVariable methods ***/
   2761 static inline HRESULT ID3D10EffectShaderResourceVariable_SetResource(ID3D10EffectShaderResourceVariable* This,ID3D10ShaderResourceView *resource) {
   2762     return This->lpVtbl->SetResource(This,resource);
   2763 }
   2764 static inline HRESULT ID3D10EffectShaderResourceVariable_GetResource(ID3D10EffectShaderResourceVariable* This,ID3D10ShaderResourceView **resource) {
   2765     return This->lpVtbl->GetResource(This,resource);
   2766 }
   2767 static inline HRESULT ID3D10EffectShaderResourceVariable_SetResourceArray(ID3D10EffectShaderResourceVariable* This,ID3D10ShaderResourceView **resources,UINT offset,UINT count) {
   2768     return This->lpVtbl->SetResourceArray(This,resources,offset,count);
   2769 }
   2770 static inline HRESULT ID3D10EffectShaderResourceVariable_GetResourceArray(ID3D10EffectShaderResourceVariable* This,ID3D10ShaderResourceView **resources,UINT offset,UINT count) {
   2771     return This->lpVtbl->GetResourceArray(This,resources,offset,count);
   2772 }
   2773 #endif
   2774 #endif
   2775 
   2776 #endif
   2777 
   2778 
   2779 #endif  /* __ID3D10EffectShaderResourceVariable_INTERFACE_DEFINED__ */
   2780 
   2781 /*****************************************************************************
   2782  * ID3D10EffectRenderTargetViewVariable interface
   2783  */
   2784 #ifndef __ID3D10EffectRenderTargetViewVariable_INTERFACE_DEFINED__
   2785 #define __ID3D10EffectRenderTargetViewVariable_INTERFACE_DEFINED__
   2786 
   2787 DEFINE_GUID(IID_ID3D10EffectRenderTargetViewVariable, 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5,0x7f, 0x67,0xb7,0x37,0x12,0x2b,0x17);
   2788 #if defined(__cplusplus) && !defined(CINTERFACE)
   2789 MIDL_INTERFACE("28ca0cc3-c2c9-40bb-b57f-67b737122b17")
   2790 ID3D10EffectRenderTargetViewVariable : public ID3D10EffectVariable
   2791 {
   2792     virtual HRESULT STDMETHODCALLTYPE SetRenderTarget(
   2793         ID3D10RenderTargetView *view) = 0;
   2794 
   2795     virtual HRESULT STDMETHODCALLTYPE GetRenderTarget(
   2796         ID3D10RenderTargetView **view) = 0;
   2797 
   2798     virtual HRESULT STDMETHODCALLTYPE SetRenderTargetArray(
   2799         ID3D10RenderTargetView **views,
   2800         UINT offset,
   2801         UINT count) = 0;
   2802 
   2803     virtual HRESULT STDMETHODCALLTYPE GetRenderTargetArray(
   2804         ID3D10RenderTargetView **views,
   2805         UINT offset,
   2806         UINT count) = 0;
   2807 
   2808 };
   2809 #ifdef __CRT_UUID_DECL
   2810 __CRT_UUID_DECL(ID3D10EffectRenderTargetViewVariable, 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5,0x7f, 0x67,0xb7,0x37,0x12,0x2b,0x17)
   2811 #endif
   2812 #else
   2813 typedef struct ID3D10EffectRenderTargetViewVariableVtbl {
   2814     BEGIN_INTERFACE
   2815 
   2816     /*** ID3D10EffectVariable methods ***/
   2817     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   2818         ID3D10EffectRenderTargetViewVariable *This);
   2819 
   2820     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   2821         ID3D10EffectRenderTargetViewVariable *This);
   2822 
   2823     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   2824         ID3D10EffectRenderTargetViewVariable *This,
   2825         D3D10_EFFECT_VARIABLE_DESC *desc);
   2826 
   2827     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   2828         ID3D10EffectRenderTargetViewVariable *This,
   2829         UINT index);
   2830 
   2831     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   2832         ID3D10EffectRenderTargetViewVariable *This,
   2833         const char *name);
   2834 
   2835     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   2836         ID3D10EffectRenderTargetViewVariable *This,
   2837         UINT index);
   2838 
   2839     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   2840         ID3D10EffectRenderTargetViewVariable *This,
   2841         const char *name);
   2842 
   2843     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   2844         ID3D10EffectRenderTargetViewVariable *This,
   2845         const char *semantic);
   2846 
   2847     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   2848         ID3D10EffectRenderTargetViewVariable *This,
   2849         UINT index);
   2850 
   2851     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   2852         ID3D10EffectRenderTargetViewVariable *This);
   2853 
   2854     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   2855         ID3D10EffectRenderTargetViewVariable *This);
   2856 
   2857     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   2858         ID3D10EffectRenderTargetViewVariable *This);
   2859 
   2860     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   2861         ID3D10EffectRenderTargetViewVariable *This);
   2862 
   2863     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   2864         ID3D10EffectRenderTargetViewVariable *This);
   2865 
   2866     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   2867         ID3D10EffectRenderTargetViewVariable *This);
   2868 
   2869     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   2870         ID3D10EffectRenderTargetViewVariable *This);
   2871 
   2872     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   2873         ID3D10EffectRenderTargetViewVariable *This);
   2874 
   2875     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   2876         ID3D10EffectRenderTargetViewVariable *This);
   2877 
   2878     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   2879         ID3D10EffectRenderTargetViewVariable *This);
   2880 
   2881     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   2882         ID3D10EffectRenderTargetViewVariable *This);
   2883 
   2884     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   2885         ID3D10EffectRenderTargetViewVariable *This);
   2886 
   2887     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   2888         ID3D10EffectRenderTargetViewVariable *This);
   2889 
   2890     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   2891         ID3D10EffectRenderTargetViewVariable *This);
   2892 
   2893     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   2894         ID3D10EffectRenderTargetViewVariable *This,
   2895         void *data,
   2896         UINT offset,
   2897         UINT count);
   2898 
   2899     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   2900         ID3D10EffectRenderTargetViewVariable *This,
   2901         void *data,
   2902         UINT offset,
   2903         UINT count);
   2904 
   2905     /*** ID3D10EffectRenderTargetViewVariable methods ***/
   2906     HRESULT (STDMETHODCALLTYPE *SetRenderTarget)(
   2907         ID3D10EffectRenderTargetViewVariable *This,
   2908         ID3D10RenderTargetView *view);
   2909 
   2910     HRESULT (STDMETHODCALLTYPE *GetRenderTarget)(
   2911         ID3D10EffectRenderTargetViewVariable *This,
   2912         ID3D10RenderTargetView **view);
   2913 
   2914     HRESULT (STDMETHODCALLTYPE *SetRenderTargetArray)(
   2915         ID3D10EffectRenderTargetViewVariable *This,
   2916         ID3D10RenderTargetView **views,
   2917         UINT offset,
   2918         UINT count);
   2919 
   2920     HRESULT (STDMETHODCALLTYPE *GetRenderTargetArray)(
   2921         ID3D10EffectRenderTargetViewVariable *This,
   2922         ID3D10RenderTargetView **views,
   2923         UINT offset,
   2924         UINT count);
   2925 
   2926     END_INTERFACE
   2927 } ID3D10EffectRenderTargetViewVariableVtbl;
   2928 
   2929 interface ID3D10EffectRenderTargetViewVariable {
   2930     CONST_VTBL ID3D10EffectRenderTargetViewVariableVtbl* lpVtbl;
   2931 };
   2932 
   2933 #ifdef COBJMACROS
   2934 #ifndef WIDL_C_INLINE_WRAPPERS
   2935 /*** ID3D10EffectVariable methods ***/
   2936 #define ID3D10EffectRenderTargetViewVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   2937 #define ID3D10EffectRenderTargetViewVariable_GetType(This) (This)->lpVtbl->GetType(This)
   2938 #define ID3D10EffectRenderTargetViewVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   2939 #define ID3D10EffectRenderTargetViewVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   2940 #define ID3D10EffectRenderTargetViewVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   2941 #define ID3D10EffectRenderTargetViewVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   2942 #define ID3D10EffectRenderTargetViewVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   2943 #define ID3D10EffectRenderTargetViewVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   2944 #define ID3D10EffectRenderTargetViewVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   2945 #define ID3D10EffectRenderTargetViewVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   2946 #define ID3D10EffectRenderTargetViewVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   2947 #define ID3D10EffectRenderTargetViewVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   2948 #define ID3D10EffectRenderTargetViewVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   2949 #define ID3D10EffectRenderTargetViewVariable_AsString(This) (This)->lpVtbl->AsString(This)
   2950 #define ID3D10EffectRenderTargetViewVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   2951 #define ID3D10EffectRenderTargetViewVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   2952 #define ID3D10EffectRenderTargetViewVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   2953 #define ID3D10EffectRenderTargetViewVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   2954 #define ID3D10EffectRenderTargetViewVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   2955 #define ID3D10EffectRenderTargetViewVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   2956 #define ID3D10EffectRenderTargetViewVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   2957 #define ID3D10EffectRenderTargetViewVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   2958 #define ID3D10EffectRenderTargetViewVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   2959 #define ID3D10EffectRenderTargetViewVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   2960 #define ID3D10EffectRenderTargetViewVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   2961 /*** ID3D10EffectRenderTargetViewVariable methods ***/
   2962 #define ID3D10EffectRenderTargetViewVariable_SetRenderTarget(This,view) (This)->lpVtbl->SetRenderTarget(This,view)
   2963 #define ID3D10EffectRenderTargetViewVariable_GetRenderTarget(This,view) (This)->lpVtbl->GetRenderTarget(This,view)
   2964 #define ID3D10EffectRenderTargetViewVariable_SetRenderTargetArray(This,views,offset,count) (This)->lpVtbl->SetRenderTargetArray(This,views,offset,count)
   2965 #define ID3D10EffectRenderTargetViewVariable_GetRenderTargetArray(This,views,offset,count) (This)->lpVtbl->GetRenderTargetArray(This,views,offset,count)
   2966 #else
   2967 /*** ID3D10EffectVariable methods ***/
   2968 static inline WINBOOL ID3D10EffectRenderTargetViewVariable_IsValid(ID3D10EffectRenderTargetViewVariable* This) {
   2969     return This->lpVtbl->IsValid(This);
   2970 }
   2971 static inline ID3D10EffectType * ID3D10EffectRenderTargetViewVariable_GetType(ID3D10EffectRenderTargetViewVariable* This) {
   2972     return This->lpVtbl->GetType(This);
   2973 }
   2974 static inline HRESULT ID3D10EffectRenderTargetViewVariable_GetDesc(ID3D10EffectRenderTargetViewVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   2975     return This->lpVtbl->GetDesc(This,desc);
   2976 }
   2977 static inline ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetAnnotationByIndex(ID3D10EffectRenderTargetViewVariable* This,UINT index) {
   2978     return This->lpVtbl->GetAnnotationByIndex(This,index);
   2979 }
   2980 static inline ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetAnnotationByName(ID3D10EffectRenderTargetViewVariable* This,const char *name) {
   2981     return This->lpVtbl->GetAnnotationByName(This,name);
   2982 }
   2983 static inline ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetMemberByIndex(ID3D10EffectRenderTargetViewVariable* This,UINT index) {
   2984     return This->lpVtbl->GetMemberByIndex(This,index);
   2985 }
   2986 static inline ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetMemberByName(ID3D10EffectRenderTargetViewVariable* This,const char *name) {
   2987     return This->lpVtbl->GetMemberByName(This,name);
   2988 }
   2989 static inline ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetMemberBySemantic(ID3D10EffectRenderTargetViewVariable* This,const char *semantic) {
   2990     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   2991 }
   2992 static inline ID3D10EffectVariable * ID3D10EffectRenderTargetViewVariable_GetElement(ID3D10EffectRenderTargetViewVariable* This,UINT index) {
   2993     return This->lpVtbl->GetElement(This,index);
   2994 }
   2995 static inline ID3D10EffectConstantBuffer * ID3D10EffectRenderTargetViewVariable_GetParentConstantBuffer(ID3D10EffectRenderTargetViewVariable* This) {
   2996     return This->lpVtbl->GetParentConstantBuffer(This);
   2997 }
   2998 static inline ID3D10EffectScalarVariable * ID3D10EffectRenderTargetViewVariable_AsScalar(ID3D10EffectRenderTargetViewVariable* This) {
   2999     return This->lpVtbl->AsScalar(This);
   3000 }
   3001 static inline ID3D10EffectVectorVariable * ID3D10EffectRenderTargetViewVariable_AsVector(ID3D10EffectRenderTargetViewVariable* This) {
   3002     return This->lpVtbl->AsVector(This);
   3003 }
   3004 static inline ID3D10EffectMatrixVariable * ID3D10EffectRenderTargetViewVariable_AsMatrix(ID3D10EffectRenderTargetViewVariable* This) {
   3005     return This->lpVtbl->AsMatrix(This);
   3006 }
   3007 static inline ID3D10EffectStringVariable * ID3D10EffectRenderTargetViewVariable_AsString(ID3D10EffectRenderTargetViewVariable* This) {
   3008     return This->lpVtbl->AsString(This);
   3009 }
   3010 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectRenderTargetViewVariable_AsShaderResource(ID3D10EffectRenderTargetViewVariable* This) {
   3011     return This->lpVtbl->AsShaderResource(This);
   3012 }
   3013 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectRenderTargetViewVariable_AsRenderTargetView(ID3D10EffectRenderTargetViewVariable* This) {
   3014     return This->lpVtbl->AsRenderTargetView(This);
   3015 }
   3016 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectRenderTargetViewVariable_AsDepthStencilView(ID3D10EffectRenderTargetViewVariable* This) {
   3017     return This->lpVtbl->AsDepthStencilView(This);
   3018 }
   3019 static inline ID3D10EffectConstantBuffer * ID3D10EffectRenderTargetViewVariable_AsConstantBuffer(ID3D10EffectRenderTargetViewVariable* This) {
   3020     return This->lpVtbl->AsConstantBuffer(This);
   3021 }
   3022 static inline ID3D10EffectShaderVariable * ID3D10EffectRenderTargetViewVariable_AsShader(ID3D10EffectRenderTargetViewVariable* This) {
   3023     return This->lpVtbl->AsShader(This);
   3024 }
   3025 static inline ID3D10EffectBlendVariable * ID3D10EffectRenderTargetViewVariable_AsBlend(ID3D10EffectRenderTargetViewVariable* This) {
   3026     return This->lpVtbl->AsBlend(This);
   3027 }
   3028 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectRenderTargetViewVariable_AsDepthStencil(ID3D10EffectRenderTargetViewVariable* This) {
   3029     return This->lpVtbl->AsDepthStencil(This);
   3030 }
   3031 static inline ID3D10EffectRasterizerVariable * ID3D10EffectRenderTargetViewVariable_AsRasterizer(ID3D10EffectRenderTargetViewVariable* This) {
   3032     return This->lpVtbl->AsRasterizer(This);
   3033 }
   3034 static inline ID3D10EffectSamplerVariable * ID3D10EffectRenderTargetViewVariable_AsSampler(ID3D10EffectRenderTargetViewVariable* This) {
   3035     return This->lpVtbl->AsSampler(This);
   3036 }
   3037 static inline HRESULT ID3D10EffectRenderTargetViewVariable_SetRawValue(ID3D10EffectRenderTargetViewVariable* This,void *data,UINT offset,UINT count) {
   3038     return This->lpVtbl->SetRawValue(This,data,offset,count);
   3039 }
   3040 static inline HRESULT ID3D10EffectRenderTargetViewVariable_GetRawValue(ID3D10EffectRenderTargetViewVariable* This,void *data,UINT offset,UINT count) {
   3041     return This->lpVtbl->GetRawValue(This,data,offset,count);
   3042 }
   3043 /*** ID3D10EffectRenderTargetViewVariable methods ***/
   3044 static inline HRESULT ID3D10EffectRenderTargetViewVariable_SetRenderTarget(ID3D10EffectRenderTargetViewVariable* This,ID3D10RenderTargetView *view) {
   3045     return This->lpVtbl->SetRenderTarget(This,view);
   3046 }
   3047 static inline HRESULT ID3D10EffectRenderTargetViewVariable_GetRenderTarget(ID3D10EffectRenderTargetViewVariable* This,ID3D10RenderTargetView **view) {
   3048     return This->lpVtbl->GetRenderTarget(This,view);
   3049 }
   3050 static inline HRESULT ID3D10EffectRenderTargetViewVariable_SetRenderTargetArray(ID3D10EffectRenderTargetViewVariable* This,ID3D10RenderTargetView **views,UINT offset,UINT count) {
   3051     return This->lpVtbl->SetRenderTargetArray(This,views,offset,count);
   3052 }
   3053 static inline HRESULT ID3D10EffectRenderTargetViewVariable_GetRenderTargetArray(ID3D10EffectRenderTargetViewVariable* This,ID3D10RenderTargetView **views,UINT offset,UINT count) {
   3054     return This->lpVtbl->GetRenderTargetArray(This,views,offset,count);
   3055 }
   3056 #endif
   3057 #endif
   3058 
   3059 #endif
   3060 
   3061 
   3062 #endif  /* __ID3D10EffectRenderTargetViewVariable_INTERFACE_DEFINED__ */
   3063 
   3064 /*****************************************************************************
   3065  * ID3D10EffectDepthStencilViewVariable interface
   3066  */
   3067 #ifndef __ID3D10EffectDepthStencilViewVariable_INTERFACE_DEFINED__
   3068 #define __ID3D10EffectDepthStencilViewVariable_INTERFACE_DEFINED__
   3069 
   3070 DEFINE_GUID(IID_ID3D10EffectDepthStencilViewVariable, 0x3e02c918, 0xcc79, 0x4985, 0xb6,0x22, 0x2d,0x92,0xad,0x70,0x16,0x23);
   3071 #if defined(__cplusplus) && !defined(CINTERFACE)
   3072 MIDL_INTERFACE("3e02c918-cc79-4985-b622-2d92ad701623")
   3073 ID3D10EffectDepthStencilViewVariable : public ID3D10EffectVariable
   3074 {
   3075     virtual HRESULT STDMETHODCALLTYPE SetDepthStencil(
   3076         ID3D10DepthStencilView *view) = 0;
   3077 
   3078     virtual HRESULT STDMETHODCALLTYPE GetDepthStencil(
   3079         ID3D10DepthStencilView **view) = 0;
   3080 
   3081     virtual HRESULT STDMETHODCALLTYPE SetDepthStencilArray(
   3082         ID3D10DepthStencilView **views,
   3083         UINT offset,
   3084         UINT count) = 0;
   3085 
   3086     virtual HRESULT STDMETHODCALLTYPE GetDepthStencilArray(
   3087         ID3D10DepthStencilView **views,
   3088         UINT offset,
   3089         UINT count) = 0;
   3090 
   3091 };
   3092 #ifdef __CRT_UUID_DECL
   3093 __CRT_UUID_DECL(ID3D10EffectDepthStencilViewVariable, 0x3e02c918, 0xcc79, 0x4985, 0xb6,0x22, 0x2d,0x92,0xad,0x70,0x16,0x23)
   3094 #endif
   3095 #else
   3096 typedef struct ID3D10EffectDepthStencilViewVariableVtbl {
   3097     BEGIN_INTERFACE
   3098 
   3099     /*** ID3D10EffectVariable methods ***/
   3100     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   3101         ID3D10EffectDepthStencilViewVariable *This);
   3102 
   3103     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   3104         ID3D10EffectDepthStencilViewVariable *This);
   3105 
   3106     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   3107         ID3D10EffectDepthStencilViewVariable *This,
   3108         D3D10_EFFECT_VARIABLE_DESC *desc);
   3109 
   3110     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   3111         ID3D10EffectDepthStencilViewVariable *This,
   3112         UINT index);
   3113 
   3114     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   3115         ID3D10EffectDepthStencilViewVariable *This,
   3116         const char *name);
   3117 
   3118     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   3119         ID3D10EffectDepthStencilViewVariable *This,
   3120         UINT index);
   3121 
   3122     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   3123         ID3D10EffectDepthStencilViewVariable *This,
   3124         const char *name);
   3125 
   3126     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   3127         ID3D10EffectDepthStencilViewVariable *This,
   3128         const char *semantic);
   3129 
   3130     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   3131         ID3D10EffectDepthStencilViewVariable *This,
   3132         UINT index);
   3133 
   3134     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   3135         ID3D10EffectDepthStencilViewVariable *This);
   3136 
   3137     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   3138         ID3D10EffectDepthStencilViewVariable *This);
   3139 
   3140     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   3141         ID3D10EffectDepthStencilViewVariable *This);
   3142 
   3143     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   3144         ID3D10EffectDepthStencilViewVariable *This);
   3145 
   3146     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   3147         ID3D10EffectDepthStencilViewVariable *This);
   3148 
   3149     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   3150         ID3D10EffectDepthStencilViewVariable *This);
   3151 
   3152     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   3153         ID3D10EffectDepthStencilViewVariable *This);
   3154 
   3155     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   3156         ID3D10EffectDepthStencilViewVariable *This);
   3157 
   3158     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   3159         ID3D10EffectDepthStencilViewVariable *This);
   3160 
   3161     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   3162         ID3D10EffectDepthStencilViewVariable *This);
   3163 
   3164     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   3165         ID3D10EffectDepthStencilViewVariable *This);
   3166 
   3167     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   3168         ID3D10EffectDepthStencilViewVariable *This);
   3169 
   3170     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   3171         ID3D10EffectDepthStencilViewVariable *This);
   3172 
   3173     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   3174         ID3D10EffectDepthStencilViewVariable *This);
   3175 
   3176     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   3177         ID3D10EffectDepthStencilViewVariable *This,
   3178         void *data,
   3179         UINT offset,
   3180         UINT count);
   3181 
   3182     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   3183         ID3D10EffectDepthStencilViewVariable *This,
   3184         void *data,
   3185         UINT offset,
   3186         UINT count);
   3187 
   3188     /*** ID3D10EffectDepthStencilViewVariable methods ***/
   3189     HRESULT (STDMETHODCALLTYPE *SetDepthStencil)(
   3190         ID3D10EffectDepthStencilViewVariable *This,
   3191         ID3D10DepthStencilView *view);
   3192 
   3193     HRESULT (STDMETHODCALLTYPE *GetDepthStencil)(
   3194         ID3D10EffectDepthStencilViewVariable *This,
   3195         ID3D10DepthStencilView **view);
   3196 
   3197     HRESULT (STDMETHODCALLTYPE *SetDepthStencilArray)(
   3198         ID3D10EffectDepthStencilViewVariable *This,
   3199         ID3D10DepthStencilView **views,
   3200         UINT offset,
   3201         UINT count);
   3202 
   3203     HRESULT (STDMETHODCALLTYPE *GetDepthStencilArray)(
   3204         ID3D10EffectDepthStencilViewVariable *This,
   3205         ID3D10DepthStencilView **views,
   3206         UINT offset,
   3207         UINT count);
   3208 
   3209     END_INTERFACE
   3210 } ID3D10EffectDepthStencilViewVariableVtbl;
   3211 
   3212 interface ID3D10EffectDepthStencilViewVariable {
   3213     CONST_VTBL ID3D10EffectDepthStencilViewVariableVtbl* lpVtbl;
   3214 };
   3215 
   3216 #ifdef COBJMACROS
   3217 #ifndef WIDL_C_INLINE_WRAPPERS
   3218 /*** ID3D10EffectVariable methods ***/
   3219 #define ID3D10EffectDepthStencilViewVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   3220 #define ID3D10EffectDepthStencilViewVariable_GetType(This) (This)->lpVtbl->GetType(This)
   3221 #define ID3D10EffectDepthStencilViewVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   3222 #define ID3D10EffectDepthStencilViewVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   3223 #define ID3D10EffectDepthStencilViewVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   3224 #define ID3D10EffectDepthStencilViewVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   3225 #define ID3D10EffectDepthStencilViewVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   3226 #define ID3D10EffectDepthStencilViewVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   3227 #define ID3D10EffectDepthStencilViewVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   3228 #define ID3D10EffectDepthStencilViewVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   3229 #define ID3D10EffectDepthStencilViewVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   3230 #define ID3D10EffectDepthStencilViewVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   3231 #define ID3D10EffectDepthStencilViewVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   3232 #define ID3D10EffectDepthStencilViewVariable_AsString(This) (This)->lpVtbl->AsString(This)
   3233 #define ID3D10EffectDepthStencilViewVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   3234 #define ID3D10EffectDepthStencilViewVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   3235 #define ID3D10EffectDepthStencilViewVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   3236 #define ID3D10EffectDepthStencilViewVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   3237 #define ID3D10EffectDepthStencilViewVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   3238 #define ID3D10EffectDepthStencilViewVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   3239 #define ID3D10EffectDepthStencilViewVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   3240 #define ID3D10EffectDepthStencilViewVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   3241 #define ID3D10EffectDepthStencilViewVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   3242 #define ID3D10EffectDepthStencilViewVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   3243 #define ID3D10EffectDepthStencilViewVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   3244 /*** ID3D10EffectDepthStencilViewVariable methods ***/
   3245 #define ID3D10EffectDepthStencilViewVariable_SetDepthStencil(This,view) (This)->lpVtbl->SetDepthStencil(This,view)
   3246 #define ID3D10EffectDepthStencilViewVariable_GetDepthStencil(This,view) (This)->lpVtbl->GetDepthStencil(This,view)
   3247 #define ID3D10EffectDepthStencilViewVariable_SetDepthStencilArray(This,views,offset,count) (This)->lpVtbl->SetDepthStencilArray(This,views,offset,count)
   3248 #define ID3D10EffectDepthStencilViewVariable_GetDepthStencilArray(This,views,offset,count) (This)->lpVtbl->GetDepthStencilArray(This,views,offset,count)
   3249 #else
   3250 /*** ID3D10EffectVariable methods ***/
   3251 static inline WINBOOL ID3D10EffectDepthStencilViewVariable_IsValid(ID3D10EffectDepthStencilViewVariable* This) {
   3252     return This->lpVtbl->IsValid(This);
   3253 }
   3254 static inline ID3D10EffectType * ID3D10EffectDepthStencilViewVariable_GetType(ID3D10EffectDepthStencilViewVariable* This) {
   3255     return This->lpVtbl->GetType(This);
   3256 }
   3257 static inline HRESULT ID3D10EffectDepthStencilViewVariable_GetDesc(ID3D10EffectDepthStencilViewVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   3258     return This->lpVtbl->GetDesc(This,desc);
   3259 }
   3260 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetAnnotationByIndex(ID3D10EffectDepthStencilViewVariable* This,UINT index) {
   3261     return This->lpVtbl->GetAnnotationByIndex(This,index);
   3262 }
   3263 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetAnnotationByName(ID3D10EffectDepthStencilViewVariable* This,const char *name) {
   3264     return This->lpVtbl->GetAnnotationByName(This,name);
   3265 }
   3266 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetMemberByIndex(ID3D10EffectDepthStencilViewVariable* This,UINT index) {
   3267     return This->lpVtbl->GetMemberByIndex(This,index);
   3268 }
   3269 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetMemberByName(ID3D10EffectDepthStencilViewVariable* This,const char *name) {
   3270     return This->lpVtbl->GetMemberByName(This,name);
   3271 }
   3272 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetMemberBySemantic(ID3D10EffectDepthStencilViewVariable* This,const char *semantic) {
   3273     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   3274 }
   3275 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilViewVariable_GetElement(ID3D10EffectDepthStencilViewVariable* This,UINT index) {
   3276     return This->lpVtbl->GetElement(This,index);
   3277 }
   3278 static inline ID3D10EffectConstantBuffer * ID3D10EffectDepthStencilViewVariable_GetParentConstantBuffer(ID3D10EffectDepthStencilViewVariable* This) {
   3279     return This->lpVtbl->GetParentConstantBuffer(This);
   3280 }
   3281 static inline ID3D10EffectScalarVariable * ID3D10EffectDepthStencilViewVariable_AsScalar(ID3D10EffectDepthStencilViewVariable* This) {
   3282     return This->lpVtbl->AsScalar(This);
   3283 }
   3284 static inline ID3D10EffectVectorVariable * ID3D10EffectDepthStencilViewVariable_AsVector(ID3D10EffectDepthStencilViewVariable* This) {
   3285     return This->lpVtbl->AsVector(This);
   3286 }
   3287 static inline ID3D10EffectMatrixVariable * ID3D10EffectDepthStencilViewVariable_AsMatrix(ID3D10EffectDepthStencilViewVariable* This) {
   3288     return This->lpVtbl->AsMatrix(This);
   3289 }
   3290 static inline ID3D10EffectStringVariable * ID3D10EffectDepthStencilViewVariable_AsString(ID3D10EffectDepthStencilViewVariable* This) {
   3291     return This->lpVtbl->AsString(This);
   3292 }
   3293 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectDepthStencilViewVariable_AsShaderResource(ID3D10EffectDepthStencilViewVariable* This) {
   3294     return This->lpVtbl->AsShaderResource(This);
   3295 }
   3296 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectDepthStencilViewVariable_AsRenderTargetView(ID3D10EffectDepthStencilViewVariable* This) {
   3297     return This->lpVtbl->AsRenderTargetView(This);
   3298 }
   3299 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectDepthStencilViewVariable_AsDepthStencilView(ID3D10EffectDepthStencilViewVariable* This) {
   3300     return This->lpVtbl->AsDepthStencilView(This);
   3301 }
   3302 static inline ID3D10EffectConstantBuffer * ID3D10EffectDepthStencilViewVariable_AsConstantBuffer(ID3D10EffectDepthStencilViewVariable* This) {
   3303     return This->lpVtbl->AsConstantBuffer(This);
   3304 }
   3305 static inline ID3D10EffectShaderVariable * ID3D10EffectDepthStencilViewVariable_AsShader(ID3D10EffectDepthStencilViewVariable* This) {
   3306     return This->lpVtbl->AsShader(This);
   3307 }
   3308 static inline ID3D10EffectBlendVariable * ID3D10EffectDepthStencilViewVariable_AsBlend(ID3D10EffectDepthStencilViewVariable* This) {
   3309     return This->lpVtbl->AsBlend(This);
   3310 }
   3311 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectDepthStencilViewVariable_AsDepthStencil(ID3D10EffectDepthStencilViewVariable* This) {
   3312     return This->lpVtbl->AsDepthStencil(This);
   3313 }
   3314 static inline ID3D10EffectRasterizerVariable * ID3D10EffectDepthStencilViewVariable_AsRasterizer(ID3D10EffectDepthStencilViewVariable* This) {
   3315     return This->lpVtbl->AsRasterizer(This);
   3316 }
   3317 static inline ID3D10EffectSamplerVariable * ID3D10EffectDepthStencilViewVariable_AsSampler(ID3D10EffectDepthStencilViewVariable* This) {
   3318     return This->lpVtbl->AsSampler(This);
   3319 }
   3320 static inline HRESULT ID3D10EffectDepthStencilViewVariable_SetRawValue(ID3D10EffectDepthStencilViewVariable* This,void *data,UINT offset,UINT count) {
   3321     return This->lpVtbl->SetRawValue(This,data,offset,count);
   3322 }
   3323 static inline HRESULT ID3D10EffectDepthStencilViewVariable_GetRawValue(ID3D10EffectDepthStencilViewVariable* This,void *data,UINT offset,UINT count) {
   3324     return This->lpVtbl->GetRawValue(This,data,offset,count);
   3325 }
   3326 /*** ID3D10EffectDepthStencilViewVariable methods ***/
   3327 static inline HRESULT ID3D10EffectDepthStencilViewVariable_SetDepthStencil(ID3D10EffectDepthStencilViewVariable* This,ID3D10DepthStencilView *view) {
   3328     return This->lpVtbl->SetDepthStencil(This,view);
   3329 }
   3330 static inline HRESULT ID3D10EffectDepthStencilViewVariable_GetDepthStencil(ID3D10EffectDepthStencilViewVariable* This,ID3D10DepthStencilView **view) {
   3331     return This->lpVtbl->GetDepthStencil(This,view);
   3332 }
   3333 static inline HRESULT ID3D10EffectDepthStencilViewVariable_SetDepthStencilArray(ID3D10EffectDepthStencilViewVariable* This,ID3D10DepthStencilView **views,UINT offset,UINT count) {
   3334     return This->lpVtbl->SetDepthStencilArray(This,views,offset,count);
   3335 }
   3336 static inline HRESULT ID3D10EffectDepthStencilViewVariable_GetDepthStencilArray(ID3D10EffectDepthStencilViewVariable* This,ID3D10DepthStencilView **views,UINT offset,UINT count) {
   3337     return This->lpVtbl->GetDepthStencilArray(This,views,offset,count);
   3338 }
   3339 #endif
   3340 #endif
   3341 
   3342 #endif
   3343 
   3344 
   3345 #endif  /* __ID3D10EffectDepthStencilViewVariable_INTERFACE_DEFINED__ */
   3346 
   3347 /*****************************************************************************
   3348  * ID3D10EffectShaderVariable interface
   3349  */
   3350 #ifndef __ID3D10EffectShaderVariable_INTERFACE_DEFINED__
   3351 #define __ID3D10EffectShaderVariable_INTERFACE_DEFINED__
   3352 
   3353 DEFINE_GUID(IID_ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c,0x33, 0x04,0x07,0xa0,0x7d,0x9e,0x06);
   3354 #if defined(__cplusplus) && !defined(CINTERFACE)
   3355 MIDL_INTERFACE("80849279-c799-4797-8c33-0407a07d9e06")
   3356 ID3D10EffectShaderVariable : public ID3D10EffectVariable
   3357 {
   3358     virtual HRESULT STDMETHODCALLTYPE GetShaderDesc(
   3359         UINT index,
   3360         D3D10_EFFECT_SHADER_DESC *desc) = 0;
   3361 
   3362     virtual HRESULT STDMETHODCALLTYPE GetVertexShader(
   3363         UINT index,
   3364         ID3D10VertexShader **shader) = 0;
   3365 
   3366     virtual HRESULT STDMETHODCALLTYPE GetGeometryShader(
   3367         UINT index,
   3368         ID3D10GeometryShader **shader) = 0;
   3369 
   3370     virtual HRESULT STDMETHODCALLTYPE GetPixelShader(
   3371         UINT index,
   3372         ID3D10PixelShader **shader) = 0;
   3373 
   3374     virtual HRESULT STDMETHODCALLTYPE GetInputSignatureElementDesc(
   3375         UINT shader_index,
   3376         UINT element_index,
   3377         D3D10_SIGNATURE_PARAMETER_DESC *desc) = 0;
   3378 
   3379     virtual HRESULT STDMETHODCALLTYPE GetOutputSignatureElementDesc(
   3380         UINT shader_index,
   3381         UINT element_index,
   3382         D3D10_SIGNATURE_PARAMETER_DESC *desc) = 0;
   3383 
   3384 };
   3385 #ifdef __CRT_UUID_DECL
   3386 __CRT_UUID_DECL(ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c,0x33, 0x04,0x07,0xa0,0x7d,0x9e,0x06)
   3387 #endif
   3388 #else
   3389 typedef struct ID3D10EffectShaderVariableVtbl {
   3390     BEGIN_INTERFACE
   3391 
   3392     /*** ID3D10EffectVariable methods ***/
   3393     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   3394         ID3D10EffectShaderVariable *This);
   3395 
   3396     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   3397         ID3D10EffectShaderVariable *This);
   3398 
   3399     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   3400         ID3D10EffectShaderVariable *This,
   3401         D3D10_EFFECT_VARIABLE_DESC *desc);
   3402 
   3403     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   3404         ID3D10EffectShaderVariable *This,
   3405         UINT index);
   3406 
   3407     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   3408         ID3D10EffectShaderVariable *This,
   3409         const char *name);
   3410 
   3411     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   3412         ID3D10EffectShaderVariable *This,
   3413         UINT index);
   3414 
   3415     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   3416         ID3D10EffectShaderVariable *This,
   3417         const char *name);
   3418 
   3419     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   3420         ID3D10EffectShaderVariable *This,
   3421         const char *semantic);
   3422 
   3423     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   3424         ID3D10EffectShaderVariable *This,
   3425         UINT index);
   3426 
   3427     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   3428         ID3D10EffectShaderVariable *This);
   3429 
   3430     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   3431         ID3D10EffectShaderVariable *This);
   3432 
   3433     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   3434         ID3D10EffectShaderVariable *This);
   3435 
   3436     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   3437         ID3D10EffectShaderVariable *This);
   3438 
   3439     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   3440         ID3D10EffectShaderVariable *This);
   3441 
   3442     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   3443         ID3D10EffectShaderVariable *This);
   3444 
   3445     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   3446         ID3D10EffectShaderVariable *This);
   3447 
   3448     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   3449         ID3D10EffectShaderVariable *This);
   3450 
   3451     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   3452         ID3D10EffectShaderVariable *This);
   3453 
   3454     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   3455         ID3D10EffectShaderVariable *This);
   3456 
   3457     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   3458         ID3D10EffectShaderVariable *This);
   3459 
   3460     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   3461         ID3D10EffectShaderVariable *This);
   3462 
   3463     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   3464         ID3D10EffectShaderVariable *This);
   3465 
   3466     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   3467         ID3D10EffectShaderVariable *This);
   3468 
   3469     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   3470         ID3D10EffectShaderVariable *This,
   3471         void *data,
   3472         UINT offset,
   3473         UINT count);
   3474 
   3475     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   3476         ID3D10EffectShaderVariable *This,
   3477         void *data,
   3478         UINT offset,
   3479         UINT count);
   3480 
   3481     /*** ID3D10EffectShaderVariable methods ***/
   3482     HRESULT (STDMETHODCALLTYPE *GetShaderDesc)(
   3483         ID3D10EffectShaderVariable *This,
   3484         UINT index,
   3485         D3D10_EFFECT_SHADER_DESC *desc);
   3486 
   3487     HRESULT (STDMETHODCALLTYPE *GetVertexShader)(
   3488         ID3D10EffectShaderVariable *This,
   3489         UINT index,
   3490         ID3D10VertexShader **shader);
   3491 
   3492     HRESULT (STDMETHODCALLTYPE *GetGeometryShader)(
   3493         ID3D10EffectShaderVariable *This,
   3494         UINT index,
   3495         ID3D10GeometryShader **shader);
   3496 
   3497     HRESULT (STDMETHODCALLTYPE *GetPixelShader)(
   3498         ID3D10EffectShaderVariable *This,
   3499         UINT index,
   3500         ID3D10PixelShader **shader);
   3501 
   3502     HRESULT (STDMETHODCALLTYPE *GetInputSignatureElementDesc)(
   3503         ID3D10EffectShaderVariable *This,
   3504         UINT shader_index,
   3505         UINT element_index,
   3506         D3D10_SIGNATURE_PARAMETER_DESC *desc);
   3507 
   3508     HRESULT (STDMETHODCALLTYPE *GetOutputSignatureElementDesc)(
   3509         ID3D10EffectShaderVariable *This,
   3510         UINT shader_index,
   3511         UINT element_index,
   3512         D3D10_SIGNATURE_PARAMETER_DESC *desc);
   3513 
   3514     END_INTERFACE
   3515 } ID3D10EffectShaderVariableVtbl;
   3516 
   3517 interface ID3D10EffectShaderVariable {
   3518     CONST_VTBL ID3D10EffectShaderVariableVtbl* lpVtbl;
   3519 };
   3520 
   3521 #ifdef COBJMACROS
   3522 #ifndef WIDL_C_INLINE_WRAPPERS
   3523 /*** ID3D10EffectVariable methods ***/
   3524 #define ID3D10EffectShaderVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   3525 #define ID3D10EffectShaderVariable_GetType(This) (This)->lpVtbl->GetType(This)
   3526 #define ID3D10EffectShaderVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   3527 #define ID3D10EffectShaderVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   3528 #define ID3D10EffectShaderVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   3529 #define ID3D10EffectShaderVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   3530 #define ID3D10EffectShaderVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   3531 #define ID3D10EffectShaderVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   3532 #define ID3D10EffectShaderVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   3533 #define ID3D10EffectShaderVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   3534 #define ID3D10EffectShaderVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   3535 #define ID3D10EffectShaderVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   3536 #define ID3D10EffectShaderVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   3537 #define ID3D10EffectShaderVariable_AsString(This) (This)->lpVtbl->AsString(This)
   3538 #define ID3D10EffectShaderVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   3539 #define ID3D10EffectShaderVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   3540 #define ID3D10EffectShaderVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   3541 #define ID3D10EffectShaderVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   3542 #define ID3D10EffectShaderVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   3543 #define ID3D10EffectShaderVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   3544 #define ID3D10EffectShaderVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   3545 #define ID3D10EffectShaderVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   3546 #define ID3D10EffectShaderVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   3547 #define ID3D10EffectShaderVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   3548 #define ID3D10EffectShaderVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   3549 /*** ID3D10EffectShaderVariable methods ***/
   3550 #define ID3D10EffectShaderVariable_GetShaderDesc(This,index,desc) (This)->lpVtbl->GetShaderDesc(This,index,desc)
   3551 #define ID3D10EffectShaderVariable_GetVertexShader(This,index,shader) (This)->lpVtbl->GetVertexShader(This,index,shader)
   3552 #define ID3D10EffectShaderVariable_GetGeometryShader(This,index,shader) (This)->lpVtbl->GetGeometryShader(This,index,shader)
   3553 #define ID3D10EffectShaderVariable_GetPixelShader(This,index,shader) (This)->lpVtbl->GetPixelShader(This,index,shader)
   3554 #define ID3D10EffectShaderVariable_GetInputSignatureElementDesc(This,shader_index,element_index,desc) (This)->lpVtbl->GetInputSignatureElementDesc(This,shader_index,element_index,desc)
   3555 #define ID3D10EffectShaderVariable_GetOutputSignatureElementDesc(This,shader_index,element_index,desc) (This)->lpVtbl->GetOutputSignatureElementDesc(This,shader_index,element_index,desc)
   3556 #else
   3557 /*** ID3D10EffectVariable methods ***/
   3558 static inline WINBOOL ID3D10EffectShaderVariable_IsValid(ID3D10EffectShaderVariable* This) {
   3559     return This->lpVtbl->IsValid(This);
   3560 }
   3561 static inline ID3D10EffectType * ID3D10EffectShaderVariable_GetType(ID3D10EffectShaderVariable* This) {
   3562     return This->lpVtbl->GetType(This);
   3563 }
   3564 static inline HRESULT ID3D10EffectShaderVariable_GetDesc(ID3D10EffectShaderVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   3565     return This->lpVtbl->GetDesc(This,desc);
   3566 }
   3567 static inline ID3D10EffectVariable * ID3D10EffectShaderVariable_GetAnnotationByIndex(ID3D10EffectShaderVariable* This,UINT index) {
   3568     return This->lpVtbl->GetAnnotationByIndex(This,index);
   3569 }
   3570 static inline ID3D10EffectVariable * ID3D10EffectShaderVariable_GetAnnotationByName(ID3D10EffectShaderVariable* This,const char *name) {
   3571     return This->lpVtbl->GetAnnotationByName(This,name);
   3572 }
   3573 static inline ID3D10EffectVariable * ID3D10EffectShaderVariable_GetMemberByIndex(ID3D10EffectShaderVariable* This,UINT index) {
   3574     return This->lpVtbl->GetMemberByIndex(This,index);
   3575 }
   3576 static inline ID3D10EffectVariable * ID3D10EffectShaderVariable_GetMemberByName(ID3D10EffectShaderVariable* This,const char *name) {
   3577     return This->lpVtbl->GetMemberByName(This,name);
   3578 }
   3579 static inline ID3D10EffectVariable * ID3D10EffectShaderVariable_GetMemberBySemantic(ID3D10EffectShaderVariable* This,const char *semantic) {
   3580     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   3581 }
   3582 static inline ID3D10EffectVariable * ID3D10EffectShaderVariable_GetElement(ID3D10EffectShaderVariable* This,UINT index) {
   3583     return This->lpVtbl->GetElement(This,index);
   3584 }
   3585 static inline ID3D10EffectConstantBuffer * ID3D10EffectShaderVariable_GetParentConstantBuffer(ID3D10EffectShaderVariable* This) {
   3586     return This->lpVtbl->GetParentConstantBuffer(This);
   3587 }
   3588 static inline ID3D10EffectScalarVariable * ID3D10EffectShaderVariable_AsScalar(ID3D10EffectShaderVariable* This) {
   3589     return This->lpVtbl->AsScalar(This);
   3590 }
   3591 static inline ID3D10EffectVectorVariable * ID3D10EffectShaderVariable_AsVector(ID3D10EffectShaderVariable* This) {
   3592     return This->lpVtbl->AsVector(This);
   3593 }
   3594 static inline ID3D10EffectMatrixVariable * ID3D10EffectShaderVariable_AsMatrix(ID3D10EffectShaderVariable* This) {
   3595     return This->lpVtbl->AsMatrix(This);
   3596 }
   3597 static inline ID3D10EffectStringVariable * ID3D10EffectShaderVariable_AsString(ID3D10EffectShaderVariable* This) {
   3598     return This->lpVtbl->AsString(This);
   3599 }
   3600 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectShaderVariable_AsShaderResource(ID3D10EffectShaderVariable* This) {
   3601     return This->lpVtbl->AsShaderResource(This);
   3602 }
   3603 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectShaderVariable_AsRenderTargetView(ID3D10EffectShaderVariable* This) {
   3604     return This->lpVtbl->AsRenderTargetView(This);
   3605 }
   3606 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectShaderVariable_AsDepthStencilView(ID3D10EffectShaderVariable* This) {
   3607     return This->lpVtbl->AsDepthStencilView(This);
   3608 }
   3609 static inline ID3D10EffectConstantBuffer * ID3D10EffectShaderVariable_AsConstantBuffer(ID3D10EffectShaderVariable* This) {
   3610     return This->lpVtbl->AsConstantBuffer(This);
   3611 }
   3612 static inline ID3D10EffectShaderVariable * ID3D10EffectShaderVariable_AsShader(ID3D10EffectShaderVariable* This) {
   3613     return This->lpVtbl->AsShader(This);
   3614 }
   3615 static inline ID3D10EffectBlendVariable * ID3D10EffectShaderVariable_AsBlend(ID3D10EffectShaderVariable* This) {
   3616     return This->lpVtbl->AsBlend(This);
   3617 }
   3618 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectShaderVariable_AsDepthStencil(ID3D10EffectShaderVariable* This) {
   3619     return This->lpVtbl->AsDepthStencil(This);
   3620 }
   3621 static inline ID3D10EffectRasterizerVariable * ID3D10EffectShaderVariable_AsRasterizer(ID3D10EffectShaderVariable* This) {
   3622     return This->lpVtbl->AsRasterizer(This);
   3623 }
   3624 static inline ID3D10EffectSamplerVariable * ID3D10EffectShaderVariable_AsSampler(ID3D10EffectShaderVariable* This) {
   3625     return This->lpVtbl->AsSampler(This);
   3626 }
   3627 static inline HRESULT ID3D10EffectShaderVariable_SetRawValue(ID3D10EffectShaderVariable* This,void *data,UINT offset,UINT count) {
   3628     return This->lpVtbl->SetRawValue(This,data,offset,count);
   3629 }
   3630 static inline HRESULT ID3D10EffectShaderVariable_GetRawValue(ID3D10EffectShaderVariable* This,void *data,UINT offset,UINT count) {
   3631     return This->lpVtbl->GetRawValue(This,data,offset,count);
   3632 }
   3633 /*** ID3D10EffectShaderVariable methods ***/
   3634 static inline HRESULT ID3D10EffectShaderVariable_GetShaderDesc(ID3D10EffectShaderVariable* This,UINT index,D3D10_EFFECT_SHADER_DESC *desc) {
   3635     return This->lpVtbl->GetShaderDesc(This,index,desc);
   3636 }
   3637 static inline HRESULT ID3D10EffectShaderVariable_GetVertexShader(ID3D10EffectShaderVariable* This,UINT index,ID3D10VertexShader **shader) {
   3638     return This->lpVtbl->GetVertexShader(This,index,shader);
   3639 }
   3640 static inline HRESULT ID3D10EffectShaderVariable_GetGeometryShader(ID3D10EffectShaderVariable* This,UINT index,ID3D10GeometryShader **shader) {
   3641     return This->lpVtbl->GetGeometryShader(This,index,shader);
   3642 }
   3643 static inline HRESULT ID3D10EffectShaderVariable_GetPixelShader(ID3D10EffectShaderVariable* This,UINT index,ID3D10PixelShader **shader) {
   3644     return This->lpVtbl->GetPixelShader(This,index,shader);
   3645 }
   3646 static inline HRESULT ID3D10EffectShaderVariable_GetInputSignatureElementDesc(ID3D10EffectShaderVariable* This,UINT shader_index,UINT element_index,D3D10_SIGNATURE_PARAMETER_DESC *desc) {
   3647     return This->lpVtbl->GetInputSignatureElementDesc(This,shader_index,element_index,desc);
   3648 }
   3649 static inline HRESULT ID3D10EffectShaderVariable_GetOutputSignatureElementDesc(ID3D10EffectShaderVariable* This,UINT shader_index,UINT element_index,D3D10_SIGNATURE_PARAMETER_DESC *desc) {
   3650     return This->lpVtbl->GetOutputSignatureElementDesc(This,shader_index,element_index,desc);
   3651 }
   3652 #endif
   3653 #endif
   3654 
   3655 #endif
   3656 
   3657 
   3658 #endif  /* __ID3D10EffectShaderVariable_INTERFACE_DEFINED__ */
   3659 
   3660 /*****************************************************************************
   3661  * ID3D10EffectBlendVariable interface
   3662  */
   3663 #ifndef __ID3D10EffectBlendVariable_INTERFACE_DEFINED__
   3664 #define __ID3D10EffectBlendVariable_INTERFACE_DEFINED__
   3665 
   3666 DEFINE_GUID(IID_ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86,0xb3, 0x0e,0x91,0x60,0xcf,0xb0,0x7b);
   3667 #if defined(__cplusplus) && !defined(CINTERFACE)
   3668 MIDL_INTERFACE("1fcd2294-df6d-4eae-86b3-0e9160cfb07b")
   3669 ID3D10EffectBlendVariable : public ID3D10EffectVariable
   3670 {
   3671     virtual HRESULT STDMETHODCALLTYPE GetBlendState(
   3672         UINT index,
   3673         ID3D10BlendState **blend_state) = 0;
   3674 
   3675     virtual HRESULT STDMETHODCALLTYPE GetBackingStore(
   3676         UINT index,
   3677         D3D10_BLEND_DESC *desc) = 0;
   3678 
   3679 };
   3680 #ifdef __CRT_UUID_DECL
   3681 __CRT_UUID_DECL(ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86,0xb3, 0x0e,0x91,0x60,0xcf,0xb0,0x7b)
   3682 #endif
   3683 #else
   3684 typedef struct ID3D10EffectBlendVariableVtbl {
   3685     BEGIN_INTERFACE
   3686 
   3687     /*** ID3D10EffectVariable methods ***/
   3688     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   3689         ID3D10EffectBlendVariable *This);
   3690 
   3691     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   3692         ID3D10EffectBlendVariable *This);
   3693 
   3694     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   3695         ID3D10EffectBlendVariable *This,
   3696         D3D10_EFFECT_VARIABLE_DESC *desc);
   3697 
   3698     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   3699         ID3D10EffectBlendVariable *This,
   3700         UINT index);
   3701 
   3702     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   3703         ID3D10EffectBlendVariable *This,
   3704         const char *name);
   3705 
   3706     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   3707         ID3D10EffectBlendVariable *This,
   3708         UINT index);
   3709 
   3710     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   3711         ID3D10EffectBlendVariable *This,
   3712         const char *name);
   3713 
   3714     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   3715         ID3D10EffectBlendVariable *This,
   3716         const char *semantic);
   3717 
   3718     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   3719         ID3D10EffectBlendVariable *This,
   3720         UINT index);
   3721 
   3722     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   3723         ID3D10EffectBlendVariable *This);
   3724 
   3725     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   3726         ID3D10EffectBlendVariable *This);
   3727 
   3728     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   3729         ID3D10EffectBlendVariable *This);
   3730 
   3731     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   3732         ID3D10EffectBlendVariable *This);
   3733 
   3734     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   3735         ID3D10EffectBlendVariable *This);
   3736 
   3737     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   3738         ID3D10EffectBlendVariable *This);
   3739 
   3740     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   3741         ID3D10EffectBlendVariable *This);
   3742 
   3743     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   3744         ID3D10EffectBlendVariable *This);
   3745 
   3746     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   3747         ID3D10EffectBlendVariable *This);
   3748 
   3749     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   3750         ID3D10EffectBlendVariable *This);
   3751 
   3752     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   3753         ID3D10EffectBlendVariable *This);
   3754 
   3755     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   3756         ID3D10EffectBlendVariable *This);
   3757 
   3758     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   3759         ID3D10EffectBlendVariable *This);
   3760 
   3761     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   3762         ID3D10EffectBlendVariable *This);
   3763 
   3764     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   3765         ID3D10EffectBlendVariable *This,
   3766         void *data,
   3767         UINT offset,
   3768         UINT count);
   3769 
   3770     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   3771         ID3D10EffectBlendVariable *This,
   3772         void *data,
   3773         UINT offset,
   3774         UINT count);
   3775 
   3776     /*** ID3D10EffectBlendVariable methods ***/
   3777     HRESULT (STDMETHODCALLTYPE *GetBlendState)(
   3778         ID3D10EffectBlendVariable *This,
   3779         UINT index,
   3780         ID3D10BlendState **blend_state);
   3781 
   3782     HRESULT (STDMETHODCALLTYPE *GetBackingStore)(
   3783         ID3D10EffectBlendVariable *This,
   3784         UINT index,
   3785         D3D10_BLEND_DESC *desc);
   3786 
   3787     END_INTERFACE
   3788 } ID3D10EffectBlendVariableVtbl;
   3789 
   3790 interface ID3D10EffectBlendVariable {
   3791     CONST_VTBL ID3D10EffectBlendVariableVtbl* lpVtbl;
   3792 };
   3793 
   3794 #ifdef COBJMACROS
   3795 #ifndef WIDL_C_INLINE_WRAPPERS
   3796 /*** ID3D10EffectVariable methods ***/
   3797 #define ID3D10EffectBlendVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   3798 #define ID3D10EffectBlendVariable_GetType(This) (This)->lpVtbl->GetType(This)
   3799 #define ID3D10EffectBlendVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   3800 #define ID3D10EffectBlendVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   3801 #define ID3D10EffectBlendVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   3802 #define ID3D10EffectBlendVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   3803 #define ID3D10EffectBlendVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   3804 #define ID3D10EffectBlendVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   3805 #define ID3D10EffectBlendVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   3806 #define ID3D10EffectBlendVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   3807 #define ID3D10EffectBlendVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   3808 #define ID3D10EffectBlendVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   3809 #define ID3D10EffectBlendVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   3810 #define ID3D10EffectBlendVariable_AsString(This) (This)->lpVtbl->AsString(This)
   3811 #define ID3D10EffectBlendVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   3812 #define ID3D10EffectBlendVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   3813 #define ID3D10EffectBlendVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   3814 #define ID3D10EffectBlendVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   3815 #define ID3D10EffectBlendVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   3816 #define ID3D10EffectBlendVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   3817 #define ID3D10EffectBlendVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   3818 #define ID3D10EffectBlendVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   3819 #define ID3D10EffectBlendVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   3820 #define ID3D10EffectBlendVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   3821 #define ID3D10EffectBlendVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   3822 /*** ID3D10EffectBlendVariable methods ***/
   3823 #define ID3D10EffectBlendVariable_GetBlendState(This,index,blend_state) (This)->lpVtbl->GetBlendState(This,index,blend_state)
   3824 #define ID3D10EffectBlendVariable_GetBackingStore(This,index,desc) (This)->lpVtbl->GetBackingStore(This,index,desc)
   3825 #else
   3826 /*** ID3D10EffectVariable methods ***/
   3827 static inline WINBOOL ID3D10EffectBlendVariable_IsValid(ID3D10EffectBlendVariable* This) {
   3828     return This->lpVtbl->IsValid(This);
   3829 }
   3830 static inline ID3D10EffectType * ID3D10EffectBlendVariable_GetType(ID3D10EffectBlendVariable* This) {
   3831     return This->lpVtbl->GetType(This);
   3832 }
   3833 static inline HRESULT ID3D10EffectBlendVariable_GetDesc(ID3D10EffectBlendVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   3834     return This->lpVtbl->GetDesc(This,desc);
   3835 }
   3836 static inline ID3D10EffectVariable * ID3D10EffectBlendVariable_GetAnnotationByIndex(ID3D10EffectBlendVariable* This,UINT index) {
   3837     return This->lpVtbl->GetAnnotationByIndex(This,index);
   3838 }
   3839 static inline ID3D10EffectVariable * ID3D10EffectBlendVariable_GetAnnotationByName(ID3D10EffectBlendVariable* This,const char *name) {
   3840     return This->lpVtbl->GetAnnotationByName(This,name);
   3841 }
   3842 static inline ID3D10EffectVariable * ID3D10EffectBlendVariable_GetMemberByIndex(ID3D10EffectBlendVariable* This,UINT index) {
   3843     return This->lpVtbl->GetMemberByIndex(This,index);
   3844 }
   3845 static inline ID3D10EffectVariable * ID3D10EffectBlendVariable_GetMemberByName(ID3D10EffectBlendVariable* This,const char *name) {
   3846     return This->lpVtbl->GetMemberByName(This,name);
   3847 }
   3848 static inline ID3D10EffectVariable * ID3D10EffectBlendVariable_GetMemberBySemantic(ID3D10EffectBlendVariable* This,const char *semantic) {
   3849     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   3850 }
   3851 static inline ID3D10EffectVariable * ID3D10EffectBlendVariable_GetElement(ID3D10EffectBlendVariable* This,UINT index) {
   3852     return This->lpVtbl->GetElement(This,index);
   3853 }
   3854 static inline ID3D10EffectConstantBuffer * ID3D10EffectBlendVariable_GetParentConstantBuffer(ID3D10EffectBlendVariable* This) {
   3855     return This->lpVtbl->GetParentConstantBuffer(This);
   3856 }
   3857 static inline ID3D10EffectScalarVariable * ID3D10EffectBlendVariable_AsScalar(ID3D10EffectBlendVariable* This) {
   3858     return This->lpVtbl->AsScalar(This);
   3859 }
   3860 static inline ID3D10EffectVectorVariable * ID3D10EffectBlendVariable_AsVector(ID3D10EffectBlendVariable* This) {
   3861     return This->lpVtbl->AsVector(This);
   3862 }
   3863 static inline ID3D10EffectMatrixVariable * ID3D10EffectBlendVariable_AsMatrix(ID3D10EffectBlendVariable* This) {
   3864     return This->lpVtbl->AsMatrix(This);
   3865 }
   3866 static inline ID3D10EffectStringVariable * ID3D10EffectBlendVariable_AsString(ID3D10EffectBlendVariable* This) {
   3867     return This->lpVtbl->AsString(This);
   3868 }
   3869 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectBlendVariable_AsShaderResource(ID3D10EffectBlendVariable* This) {
   3870     return This->lpVtbl->AsShaderResource(This);
   3871 }
   3872 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectBlendVariable_AsRenderTargetView(ID3D10EffectBlendVariable* This) {
   3873     return This->lpVtbl->AsRenderTargetView(This);
   3874 }
   3875 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectBlendVariable_AsDepthStencilView(ID3D10EffectBlendVariable* This) {
   3876     return This->lpVtbl->AsDepthStencilView(This);
   3877 }
   3878 static inline ID3D10EffectConstantBuffer * ID3D10EffectBlendVariable_AsConstantBuffer(ID3D10EffectBlendVariable* This) {
   3879     return This->lpVtbl->AsConstantBuffer(This);
   3880 }
   3881 static inline ID3D10EffectShaderVariable * ID3D10EffectBlendVariable_AsShader(ID3D10EffectBlendVariable* This) {
   3882     return This->lpVtbl->AsShader(This);
   3883 }
   3884 static inline ID3D10EffectBlendVariable * ID3D10EffectBlendVariable_AsBlend(ID3D10EffectBlendVariable* This) {
   3885     return This->lpVtbl->AsBlend(This);
   3886 }
   3887 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectBlendVariable_AsDepthStencil(ID3D10EffectBlendVariable* This) {
   3888     return This->lpVtbl->AsDepthStencil(This);
   3889 }
   3890 static inline ID3D10EffectRasterizerVariable * ID3D10EffectBlendVariable_AsRasterizer(ID3D10EffectBlendVariable* This) {
   3891     return This->lpVtbl->AsRasterizer(This);
   3892 }
   3893 static inline ID3D10EffectSamplerVariable * ID3D10EffectBlendVariable_AsSampler(ID3D10EffectBlendVariable* This) {
   3894     return This->lpVtbl->AsSampler(This);
   3895 }
   3896 static inline HRESULT ID3D10EffectBlendVariable_SetRawValue(ID3D10EffectBlendVariable* This,void *data,UINT offset,UINT count) {
   3897     return This->lpVtbl->SetRawValue(This,data,offset,count);
   3898 }
   3899 static inline HRESULT ID3D10EffectBlendVariable_GetRawValue(ID3D10EffectBlendVariable* This,void *data,UINT offset,UINT count) {
   3900     return This->lpVtbl->GetRawValue(This,data,offset,count);
   3901 }
   3902 /*** ID3D10EffectBlendVariable methods ***/
   3903 static inline HRESULT ID3D10EffectBlendVariable_GetBlendState(ID3D10EffectBlendVariable* This,UINT index,ID3D10BlendState **blend_state) {
   3904     return This->lpVtbl->GetBlendState(This,index,blend_state);
   3905 }
   3906 static inline HRESULT ID3D10EffectBlendVariable_GetBackingStore(ID3D10EffectBlendVariable* This,UINT index,D3D10_BLEND_DESC *desc) {
   3907     return This->lpVtbl->GetBackingStore(This,index,desc);
   3908 }
   3909 #endif
   3910 #endif
   3911 
   3912 #endif
   3913 
   3914 
   3915 #endif  /* __ID3D10EffectBlendVariable_INTERFACE_DEFINED__ */
   3916 
   3917 /*****************************************************************************
   3918  * ID3D10EffectDepthStencilVariable interface
   3919  */
   3920 #ifndef __ID3D10EffectDepthStencilVariable_INTERFACE_DEFINED__
   3921 #define __ID3D10EffectDepthStencilVariable_INTERFACE_DEFINED__
   3922 
   3923 DEFINE_GUID(IID_ID3D10EffectDepthStencilVariable, 0xaf482368, 0x330a, 0x46a5, 0x9a,0x5c, 0x01,0xc7,0x1a,0xf2,0x4c,0x8d);
   3924 #if defined(__cplusplus) && !defined(CINTERFACE)
   3925 MIDL_INTERFACE("af482368-330a-46a5-9a5c-01c71af24c8d")
   3926 ID3D10EffectDepthStencilVariable : public ID3D10EffectVariable
   3927 {
   3928     virtual HRESULT STDMETHODCALLTYPE GetDepthStencilState(
   3929         UINT index,
   3930         ID3D10DepthStencilState **depth_stencil_state) = 0;
   3931 
   3932     virtual HRESULT STDMETHODCALLTYPE GetBackingStore(
   3933         UINT index,
   3934         D3D10_DEPTH_STENCIL_DESC *desc) = 0;
   3935 
   3936 };
   3937 #ifdef __CRT_UUID_DECL
   3938 __CRT_UUID_DECL(ID3D10EffectDepthStencilVariable, 0xaf482368, 0x330a, 0x46a5, 0x9a,0x5c, 0x01,0xc7,0x1a,0xf2,0x4c,0x8d)
   3939 #endif
   3940 #else
   3941 typedef struct ID3D10EffectDepthStencilVariableVtbl {
   3942     BEGIN_INTERFACE
   3943 
   3944     /*** ID3D10EffectVariable methods ***/
   3945     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   3946         ID3D10EffectDepthStencilVariable *This);
   3947 
   3948     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   3949         ID3D10EffectDepthStencilVariable *This);
   3950 
   3951     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   3952         ID3D10EffectDepthStencilVariable *This,
   3953         D3D10_EFFECT_VARIABLE_DESC *desc);
   3954 
   3955     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   3956         ID3D10EffectDepthStencilVariable *This,
   3957         UINT index);
   3958 
   3959     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   3960         ID3D10EffectDepthStencilVariable *This,
   3961         const char *name);
   3962 
   3963     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   3964         ID3D10EffectDepthStencilVariable *This,
   3965         UINT index);
   3966 
   3967     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   3968         ID3D10EffectDepthStencilVariable *This,
   3969         const char *name);
   3970 
   3971     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   3972         ID3D10EffectDepthStencilVariable *This,
   3973         const char *semantic);
   3974 
   3975     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   3976         ID3D10EffectDepthStencilVariable *This,
   3977         UINT index);
   3978 
   3979     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   3980         ID3D10EffectDepthStencilVariable *This);
   3981 
   3982     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   3983         ID3D10EffectDepthStencilVariable *This);
   3984 
   3985     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   3986         ID3D10EffectDepthStencilVariable *This);
   3987 
   3988     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   3989         ID3D10EffectDepthStencilVariable *This);
   3990 
   3991     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   3992         ID3D10EffectDepthStencilVariable *This);
   3993 
   3994     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   3995         ID3D10EffectDepthStencilVariable *This);
   3996 
   3997     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   3998         ID3D10EffectDepthStencilVariable *This);
   3999 
   4000     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   4001         ID3D10EffectDepthStencilVariable *This);
   4002 
   4003     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   4004         ID3D10EffectDepthStencilVariable *This);
   4005 
   4006     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   4007         ID3D10EffectDepthStencilVariable *This);
   4008 
   4009     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   4010         ID3D10EffectDepthStencilVariable *This);
   4011 
   4012     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   4013         ID3D10EffectDepthStencilVariable *This);
   4014 
   4015     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   4016         ID3D10EffectDepthStencilVariable *This);
   4017 
   4018     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   4019         ID3D10EffectDepthStencilVariable *This);
   4020 
   4021     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   4022         ID3D10EffectDepthStencilVariable *This,
   4023         void *data,
   4024         UINT offset,
   4025         UINT count);
   4026 
   4027     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   4028         ID3D10EffectDepthStencilVariable *This,
   4029         void *data,
   4030         UINT offset,
   4031         UINT count);
   4032 
   4033     /*** ID3D10EffectDepthStencilVariable methods ***/
   4034     HRESULT (STDMETHODCALLTYPE *GetDepthStencilState)(
   4035         ID3D10EffectDepthStencilVariable *This,
   4036         UINT index,
   4037         ID3D10DepthStencilState **depth_stencil_state);
   4038 
   4039     HRESULT (STDMETHODCALLTYPE *GetBackingStore)(
   4040         ID3D10EffectDepthStencilVariable *This,
   4041         UINT index,
   4042         D3D10_DEPTH_STENCIL_DESC *desc);
   4043 
   4044     END_INTERFACE
   4045 } ID3D10EffectDepthStencilVariableVtbl;
   4046 
   4047 interface ID3D10EffectDepthStencilVariable {
   4048     CONST_VTBL ID3D10EffectDepthStencilVariableVtbl* lpVtbl;
   4049 };
   4050 
   4051 #ifdef COBJMACROS
   4052 #ifndef WIDL_C_INLINE_WRAPPERS
   4053 /*** ID3D10EffectVariable methods ***/
   4054 #define ID3D10EffectDepthStencilVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   4055 #define ID3D10EffectDepthStencilVariable_GetType(This) (This)->lpVtbl->GetType(This)
   4056 #define ID3D10EffectDepthStencilVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   4057 #define ID3D10EffectDepthStencilVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   4058 #define ID3D10EffectDepthStencilVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   4059 #define ID3D10EffectDepthStencilVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   4060 #define ID3D10EffectDepthStencilVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   4061 #define ID3D10EffectDepthStencilVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   4062 #define ID3D10EffectDepthStencilVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   4063 #define ID3D10EffectDepthStencilVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   4064 #define ID3D10EffectDepthStencilVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   4065 #define ID3D10EffectDepthStencilVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   4066 #define ID3D10EffectDepthStencilVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   4067 #define ID3D10EffectDepthStencilVariable_AsString(This) (This)->lpVtbl->AsString(This)
   4068 #define ID3D10EffectDepthStencilVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   4069 #define ID3D10EffectDepthStencilVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   4070 #define ID3D10EffectDepthStencilVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   4071 #define ID3D10EffectDepthStencilVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   4072 #define ID3D10EffectDepthStencilVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   4073 #define ID3D10EffectDepthStencilVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   4074 #define ID3D10EffectDepthStencilVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   4075 #define ID3D10EffectDepthStencilVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   4076 #define ID3D10EffectDepthStencilVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   4077 #define ID3D10EffectDepthStencilVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   4078 #define ID3D10EffectDepthStencilVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   4079 /*** ID3D10EffectDepthStencilVariable methods ***/
   4080 #define ID3D10EffectDepthStencilVariable_GetDepthStencilState(This,index,depth_stencil_state) (This)->lpVtbl->GetDepthStencilState(This,index,depth_stencil_state)
   4081 #define ID3D10EffectDepthStencilVariable_GetBackingStore(This,index,desc) (This)->lpVtbl->GetBackingStore(This,index,desc)
   4082 #else
   4083 /*** ID3D10EffectVariable methods ***/
   4084 static inline WINBOOL ID3D10EffectDepthStencilVariable_IsValid(ID3D10EffectDepthStencilVariable* This) {
   4085     return This->lpVtbl->IsValid(This);
   4086 }
   4087 static inline ID3D10EffectType * ID3D10EffectDepthStencilVariable_GetType(ID3D10EffectDepthStencilVariable* This) {
   4088     return This->lpVtbl->GetType(This);
   4089 }
   4090 static inline HRESULT ID3D10EffectDepthStencilVariable_GetDesc(ID3D10EffectDepthStencilVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   4091     return This->lpVtbl->GetDesc(This,desc);
   4092 }
   4093 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetAnnotationByIndex(ID3D10EffectDepthStencilVariable* This,UINT index) {
   4094     return This->lpVtbl->GetAnnotationByIndex(This,index);
   4095 }
   4096 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetAnnotationByName(ID3D10EffectDepthStencilVariable* This,const char *name) {
   4097     return This->lpVtbl->GetAnnotationByName(This,name);
   4098 }
   4099 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetMemberByIndex(ID3D10EffectDepthStencilVariable* This,UINT index) {
   4100     return This->lpVtbl->GetMemberByIndex(This,index);
   4101 }
   4102 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetMemberByName(ID3D10EffectDepthStencilVariable* This,const char *name) {
   4103     return This->lpVtbl->GetMemberByName(This,name);
   4104 }
   4105 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetMemberBySemantic(ID3D10EffectDepthStencilVariable* This,const char *semantic) {
   4106     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   4107 }
   4108 static inline ID3D10EffectVariable * ID3D10EffectDepthStencilVariable_GetElement(ID3D10EffectDepthStencilVariable* This,UINT index) {
   4109     return This->lpVtbl->GetElement(This,index);
   4110 }
   4111 static inline ID3D10EffectConstantBuffer * ID3D10EffectDepthStencilVariable_GetParentConstantBuffer(ID3D10EffectDepthStencilVariable* This) {
   4112     return This->lpVtbl->GetParentConstantBuffer(This);
   4113 }
   4114 static inline ID3D10EffectScalarVariable * ID3D10EffectDepthStencilVariable_AsScalar(ID3D10EffectDepthStencilVariable* This) {
   4115     return This->lpVtbl->AsScalar(This);
   4116 }
   4117 static inline ID3D10EffectVectorVariable * ID3D10EffectDepthStencilVariable_AsVector(ID3D10EffectDepthStencilVariable* This) {
   4118     return This->lpVtbl->AsVector(This);
   4119 }
   4120 static inline ID3D10EffectMatrixVariable * ID3D10EffectDepthStencilVariable_AsMatrix(ID3D10EffectDepthStencilVariable* This) {
   4121     return This->lpVtbl->AsMatrix(This);
   4122 }
   4123 static inline ID3D10EffectStringVariable * ID3D10EffectDepthStencilVariable_AsString(ID3D10EffectDepthStencilVariable* This) {
   4124     return This->lpVtbl->AsString(This);
   4125 }
   4126 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectDepthStencilVariable_AsShaderResource(ID3D10EffectDepthStencilVariable* This) {
   4127     return This->lpVtbl->AsShaderResource(This);
   4128 }
   4129 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectDepthStencilVariable_AsRenderTargetView(ID3D10EffectDepthStencilVariable* This) {
   4130     return This->lpVtbl->AsRenderTargetView(This);
   4131 }
   4132 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectDepthStencilVariable_AsDepthStencilView(ID3D10EffectDepthStencilVariable* This) {
   4133     return This->lpVtbl->AsDepthStencilView(This);
   4134 }
   4135 static inline ID3D10EffectConstantBuffer * ID3D10EffectDepthStencilVariable_AsConstantBuffer(ID3D10EffectDepthStencilVariable* This) {
   4136     return This->lpVtbl->AsConstantBuffer(This);
   4137 }
   4138 static inline ID3D10EffectShaderVariable * ID3D10EffectDepthStencilVariable_AsShader(ID3D10EffectDepthStencilVariable* This) {
   4139     return This->lpVtbl->AsShader(This);
   4140 }
   4141 static inline ID3D10EffectBlendVariable * ID3D10EffectDepthStencilVariable_AsBlend(ID3D10EffectDepthStencilVariable* This) {
   4142     return This->lpVtbl->AsBlend(This);
   4143 }
   4144 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectDepthStencilVariable_AsDepthStencil(ID3D10EffectDepthStencilVariable* This) {
   4145     return This->lpVtbl->AsDepthStencil(This);
   4146 }
   4147 static inline ID3D10EffectRasterizerVariable * ID3D10EffectDepthStencilVariable_AsRasterizer(ID3D10EffectDepthStencilVariable* This) {
   4148     return This->lpVtbl->AsRasterizer(This);
   4149 }
   4150 static inline ID3D10EffectSamplerVariable * ID3D10EffectDepthStencilVariable_AsSampler(ID3D10EffectDepthStencilVariable* This) {
   4151     return This->lpVtbl->AsSampler(This);
   4152 }
   4153 static inline HRESULT ID3D10EffectDepthStencilVariable_SetRawValue(ID3D10EffectDepthStencilVariable* This,void *data,UINT offset,UINT count) {
   4154     return This->lpVtbl->SetRawValue(This,data,offset,count);
   4155 }
   4156 static inline HRESULT ID3D10EffectDepthStencilVariable_GetRawValue(ID3D10EffectDepthStencilVariable* This,void *data,UINT offset,UINT count) {
   4157     return This->lpVtbl->GetRawValue(This,data,offset,count);
   4158 }
   4159 /*** ID3D10EffectDepthStencilVariable methods ***/
   4160 static inline HRESULT ID3D10EffectDepthStencilVariable_GetDepthStencilState(ID3D10EffectDepthStencilVariable* This,UINT index,ID3D10DepthStencilState **depth_stencil_state) {
   4161     return This->lpVtbl->GetDepthStencilState(This,index,depth_stencil_state);
   4162 }
   4163 static inline HRESULT ID3D10EffectDepthStencilVariable_GetBackingStore(ID3D10EffectDepthStencilVariable* This,UINT index,D3D10_DEPTH_STENCIL_DESC *desc) {
   4164     return This->lpVtbl->GetBackingStore(This,index,desc);
   4165 }
   4166 #endif
   4167 #endif
   4168 
   4169 #endif
   4170 
   4171 
   4172 #endif  /* __ID3D10EffectDepthStencilVariable_INTERFACE_DEFINED__ */
   4173 
   4174 /*****************************************************************************
   4175  * ID3D10EffectRasterizerVariable interface
   4176  */
   4177 #ifndef __ID3D10EffectRasterizerVariable_INTERFACE_DEFINED__
   4178 #define __ID3D10EffectRasterizerVariable_INTERFACE_DEFINED__
   4179 
   4180 DEFINE_GUID(IID_ID3D10EffectRasterizerVariable, 0x21af9f0e, 0x4d94, 0x4ea9, 0x97,0x85, 0x2c,0xb7,0x6b,0x8c,0x0b,0x34);
   4181 #if defined(__cplusplus) && !defined(CINTERFACE)
   4182 MIDL_INTERFACE("21af9f0e-4d94-4ea9-9785-2cb76b8c0b34")
   4183 ID3D10EffectRasterizerVariable : public ID3D10EffectVariable
   4184 {
   4185     virtual HRESULT STDMETHODCALLTYPE GetRasterizerState(
   4186         UINT index,
   4187         ID3D10RasterizerState **rasterizer_state) = 0;
   4188 
   4189     virtual HRESULT STDMETHODCALLTYPE GetBackingStore(
   4190         UINT index,
   4191         D3D10_RASTERIZER_DESC *desc) = 0;
   4192 
   4193 };
   4194 #ifdef __CRT_UUID_DECL
   4195 __CRT_UUID_DECL(ID3D10EffectRasterizerVariable, 0x21af9f0e, 0x4d94, 0x4ea9, 0x97,0x85, 0x2c,0xb7,0x6b,0x8c,0x0b,0x34)
   4196 #endif
   4197 #else
   4198 typedef struct ID3D10EffectRasterizerVariableVtbl {
   4199     BEGIN_INTERFACE
   4200 
   4201     /*** ID3D10EffectVariable methods ***/
   4202     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   4203         ID3D10EffectRasterizerVariable *This);
   4204 
   4205     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   4206         ID3D10EffectRasterizerVariable *This);
   4207 
   4208     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   4209         ID3D10EffectRasterizerVariable *This,
   4210         D3D10_EFFECT_VARIABLE_DESC *desc);
   4211 
   4212     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   4213         ID3D10EffectRasterizerVariable *This,
   4214         UINT index);
   4215 
   4216     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   4217         ID3D10EffectRasterizerVariable *This,
   4218         const char *name);
   4219 
   4220     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   4221         ID3D10EffectRasterizerVariable *This,
   4222         UINT index);
   4223 
   4224     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   4225         ID3D10EffectRasterizerVariable *This,
   4226         const char *name);
   4227 
   4228     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   4229         ID3D10EffectRasterizerVariable *This,
   4230         const char *semantic);
   4231 
   4232     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   4233         ID3D10EffectRasterizerVariable *This,
   4234         UINT index);
   4235 
   4236     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   4237         ID3D10EffectRasterizerVariable *This);
   4238 
   4239     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   4240         ID3D10EffectRasterizerVariable *This);
   4241 
   4242     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   4243         ID3D10EffectRasterizerVariable *This);
   4244 
   4245     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   4246         ID3D10EffectRasterizerVariable *This);
   4247 
   4248     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   4249         ID3D10EffectRasterizerVariable *This);
   4250 
   4251     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   4252         ID3D10EffectRasterizerVariable *This);
   4253 
   4254     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   4255         ID3D10EffectRasterizerVariable *This);
   4256 
   4257     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   4258         ID3D10EffectRasterizerVariable *This);
   4259 
   4260     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   4261         ID3D10EffectRasterizerVariable *This);
   4262 
   4263     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   4264         ID3D10EffectRasterizerVariable *This);
   4265 
   4266     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   4267         ID3D10EffectRasterizerVariable *This);
   4268 
   4269     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   4270         ID3D10EffectRasterizerVariable *This);
   4271 
   4272     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   4273         ID3D10EffectRasterizerVariable *This);
   4274 
   4275     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   4276         ID3D10EffectRasterizerVariable *This);
   4277 
   4278     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   4279         ID3D10EffectRasterizerVariable *This,
   4280         void *data,
   4281         UINT offset,
   4282         UINT count);
   4283 
   4284     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   4285         ID3D10EffectRasterizerVariable *This,
   4286         void *data,
   4287         UINT offset,
   4288         UINT count);
   4289 
   4290     /*** ID3D10EffectRasterizerVariable methods ***/
   4291     HRESULT (STDMETHODCALLTYPE *GetRasterizerState)(
   4292         ID3D10EffectRasterizerVariable *This,
   4293         UINT index,
   4294         ID3D10RasterizerState **rasterizer_state);
   4295 
   4296     HRESULT (STDMETHODCALLTYPE *GetBackingStore)(
   4297         ID3D10EffectRasterizerVariable *This,
   4298         UINT index,
   4299         D3D10_RASTERIZER_DESC *desc);
   4300 
   4301     END_INTERFACE
   4302 } ID3D10EffectRasterizerVariableVtbl;
   4303 
   4304 interface ID3D10EffectRasterizerVariable {
   4305     CONST_VTBL ID3D10EffectRasterizerVariableVtbl* lpVtbl;
   4306 };
   4307 
   4308 #ifdef COBJMACROS
   4309 #ifndef WIDL_C_INLINE_WRAPPERS
   4310 /*** ID3D10EffectVariable methods ***/
   4311 #define ID3D10EffectRasterizerVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   4312 #define ID3D10EffectRasterizerVariable_GetType(This) (This)->lpVtbl->GetType(This)
   4313 #define ID3D10EffectRasterizerVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   4314 #define ID3D10EffectRasterizerVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   4315 #define ID3D10EffectRasterizerVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   4316 #define ID3D10EffectRasterizerVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   4317 #define ID3D10EffectRasterizerVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   4318 #define ID3D10EffectRasterizerVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   4319 #define ID3D10EffectRasterizerVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   4320 #define ID3D10EffectRasterizerVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   4321 #define ID3D10EffectRasterizerVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   4322 #define ID3D10EffectRasterizerVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   4323 #define ID3D10EffectRasterizerVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   4324 #define ID3D10EffectRasterizerVariable_AsString(This) (This)->lpVtbl->AsString(This)
   4325 #define ID3D10EffectRasterizerVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   4326 #define ID3D10EffectRasterizerVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   4327 #define ID3D10EffectRasterizerVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   4328 #define ID3D10EffectRasterizerVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   4329 #define ID3D10EffectRasterizerVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   4330 #define ID3D10EffectRasterizerVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   4331 #define ID3D10EffectRasterizerVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   4332 #define ID3D10EffectRasterizerVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   4333 #define ID3D10EffectRasterizerVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   4334 #define ID3D10EffectRasterizerVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   4335 #define ID3D10EffectRasterizerVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   4336 /*** ID3D10EffectRasterizerVariable methods ***/
   4337 #define ID3D10EffectRasterizerVariable_GetRasterizerState(This,index,rasterizer_state) (This)->lpVtbl->GetRasterizerState(This,index,rasterizer_state)
   4338 #define ID3D10EffectRasterizerVariable_GetBackingStore(This,index,desc) (This)->lpVtbl->GetBackingStore(This,index,desc)
   4339 #else
   4340 /*** ID3D10EffectVariable methods ***/
   4341 static inline WINBOOL ID3D10EffectRasterizerVariable_IsValid(ID3D10EffectRasterizerVariable* This) {
   4342     return This->lpVtbl->IsValid(This);
   4343 }
   4344 static inline ID3D10EffectType * ID3D10EffectRasterizerVariable_GetType(ID3D10EffectRasterizerVariable* This) {
   4345     return This->lpVtbl->GetType(This);
   4346 }
   4347 static inline HRESULT ID3D10EffectRasterizerVariable_GetDesc(ID3D10EffectRasterizerVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   4348     return This->lpVtbl->GetDesc(This,desc);
   4349 }
   4350 static inline ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetAnnotationByIndex(ID3D10EffectRasterizerVariable* This,UINT index) {
   4351     return This->lpVtbl->GetAnnotationByIndex(This,index);
   4352 }
   4353 static inline ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetAnnotationByName(ID3D10EffectRasterizerVariable* This,const char *name) {
   4354     return This->lpVtbl->GetAnnotationByName(This,name);
   4355 }
   4356 static inline ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetMemberByIndex(ID3D10EffectRasterizerVariable* This,UINT index) {
   4357     return This->lpVtbl->GetMemberByIndex(This,index);
   4358 }
   4359 static inline ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetMemberByName(ID3D10EffectRasterizerVariable* This,const char *name) {
   4360     return This->lpVtbl->GetMemberByName(This,name);
   4361 }
   4362 static inline ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetMemberBySemantic(ID3D10EffectRasterizerVariable* This,const char *semantic) {
   4363     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   4364 }
   4365 static inline ID3D10EffectVariable * ID3D10EffectRasterizerVariable_GetElement(ID3D10EffectRasterizerVariable* This,UINT index) {
   4366     return This->lpVtbl->GetElement(This,index);
   4367 }
   4368 static inline ID3D10EffectConstantBuffer * ID3D10EffectRasterizerVariable_GetParentConstantBuffer(ID3D10EffectRasterizerVariable* This) {
   4369     return This->lpVtbl->GetParentConstantBuffer(This);
   4370 }
   4371 static inline ID3D10EffectScalarVariable * ID3D10EffectRasterizerVariable_AsScalar(ID3D10EffectRasterizerVariable* This) {
   4372     return This->lpVtbl->AsScalar(This);
   4373 }
   4374 static inline ID3D10EffectVectorVariable * ID3D10EffectRasterizerVariable_AsVector(ID3D10EffectRasterizerVariable* This) {
   4375     return This->lpVtbl->AsVector(This);
   4376 }
   4377 static inline ID3D10EffectMatrixVariable * ID3D10EffectRasterizerVariable_AsMatrix(ID3D10EffectRasterizerVariable* This) {
   4378     return This->lpVtbl->AsMatrix(This);
   4379 }
   4380 static inline ID3D10EffectStringVariable * ID3D10EffectRasterizerVariable_AsString(ID3D10EffectRasterizerVariable* This) {
   4381     return This->lpVtbl->AsString(This);
   4382 }
   4383 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectRasterizerVariable_AsShaderResource(ID3D10EffectRasterizerVariable* This) {
   4384     return This->lpVtbl->AsShaderResource(This);
   4385 }
   4386 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectRasterizerVariable_AsRenderTargetView(ID3D10EffectRasterizerVariable* This) {
   4387     return This->lpVtbl->AsRenderTargetView(This);
   4388 }
   4389 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectRasterizerVariable_AsDepthStencilView(ID3D10EffectRasterizerVariable* This) {
   4390     return This->lpVtbl->AsDepthStencilView(This);
   4391 }
   4392 static inline ID3D10EffectConstantBuffer * ID3D10EffectRasterizerVariable_AsConstantBuffer(ID3D10EffectRasterizerVariable* This) {
   4393     return This->lpVtbl->AsConstantBuffer(This);
   4394 }
   4395 static inline ID3D10EffectShaderVariable * ID3D10EffectRasterizerVariable_AsShader(ID3D10EffectRasterizerVariable* This) {
   4396     return This->lpVtbl->AsShader(This);
   4397 }
   4398 static inline ID3D10EffectBlendVariable * ID3D10EffectRasterizerVariable_AsBlend(ID3D10EffectRasterizerVariable* This) {
   4399     return This->lpVtbl->AsBlend(This);
   4400 }
   4401 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectRasterizerVariable_AsDepthStencil(ID3D10EffectRasterizerVariable* This) {
   4402     return This->lpVtbl->AsDepthStencil(This);
   4403 }
   4404 static inline ID3D10EffectRasterizerVariable * ID3D10EffectRasterizerVariable_AsRasterizer(ID3D10EffectRasterizerVariable* This) {
   4405     return This->lpVtbl->AsRasterizer(This);
   4406 }
   4407 static inline ID3D10EffectSamplerVariable * ID3D10EffectRasterizerVariable_AsSampler(ID3D10EffectRasterizerVariable* This) {
   4408     return This->lpVtbl->AsSampler(This);
   4409 }
   4410 static inline HRESULT ID3D10EffectRasterizerVariable_SetRawValue(ID3D10EffectRasterizerVariable* This,void *data,UINT offset,UINT count) {
   4411     return This->lpVtbl->SetRawValue(This,data,offset,count);
   4412 }
   4413 static inline HRESULT ID3D10EffectRasterizerVariable_GetRawValue(ID3D10EffectRasterizerVariable* This,void *data,UINT offset,UINT count) {
   4414     return This->lpVtbl->GetRawValue(This,data,offset,count);
   4415 }
   4416 /*** ID3D10EffectRasterizerVariable methods ***/
   4417 static inline HRESULT ID3D10EffectRasterizerVariable_GetRasterizerState(ID3D10EffectRasterizerVariable* This,UINT index,ID3D10RasterizerState **rasterizer_state) {
   4418     return This->lpVtbl->GetRasterizerState(This,index,rasterizer_state);
   4419 }
   4420 static inline HRESULT ID3D10EffectRasterizerVariable_GetBackingStore(ID3D10EffectRasterizerVariable* This,UINT index,D3D10_RASTERIZER_DESC *desc) {
   4421     return This->lpVtbl->GetBackingStore(This,index,desc);
   4422 }
   4423 #endif
   4424 #endif
   4425 
   4426 #endif
   4427 
   4428 
   4429 #endif  /* __ID3D10EffectRasterizerVariable_INTERFACE_DEFINED__ */
   4430 
   4431 /*****************************************************************************
   4432  * ID3D10EffectSamplerVariable interface
   4433  */
   4434 #ifndef __ID3D10EffectSamplerVariable_INTERFACE_DEFINED__
   4435 #define __ID3D10EffectSamplerVariable_INTERFACE_DEFINED__
   4436 
   4437 DEFINE_GUID(IID_ID3D10EffectSamplerVariable, 0x6530d5c7, 0x07e9, 0x4271, 0xa4,0x18, 0xe7,0xce,0x4b,0xd1,0xe4,0x80);
   4438 #if defined(__cplusplus) && !defined(CINTERFACE)
   4439 MIDL_INTERFACE("6530d5c7-07e9-4271-a418-e7ce4bd1e480")
   4440 ID3D10EffectSamplerVariable : public ID3D10EffectVariable
   4441 {
   4442     virtual HRESULT STDMETHODCALLTYPE GetSampler(
   4443         UINT index,
   4444         ID3D10SamplerState **sampler) = 0;
   4445 
   4446     virtual HRESULT STDMETHODCALLTYPE GetBackingStore(
   4447         UINT index,
   4448         D3D10_SAMPLER_DESC *desc) = 0;
   4449 
   4450 };
   4451 #ifdef __CRT_UUID_DECL
   4452 __CRT_UUID_DECL(ID3D10EffectSamplerVariable, 0x6530d5c7, 0x07e9, 0x4271, 0xa4,0x18, 0xe7,0xce,0x4b,0xd1,0xe4,0x80)
   4453 #endif
   4454 #else
   4455 typedef struct ID3D10EffectSamplerVariableVtbl {
   4456     BEGIN_INTERFACE
   4457 
   4458     /*** ID3D10EffectVariable methods ***/
   4459     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   4460         ID3D10EffectSamplerVariable *This);
   4461 
   4462     ID3D10EffectType * (STDMETHODCALLTYPE *GetType)(
   4463         ID3D10EffectSamplerVariable *This);
   4464 
   4465     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   4466         ID3D10EffectSamplerVariable *This,
   4467         D3D10_EFFECT_VARIABLE_DESC *desc);
   4468 
   4469     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   4470         ID3D10EffectSamplerVariable *This,
   4471         UINT index);
   4472 
   4473     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   4474         ID3D10EffectSamplerVariable *This,
   4475         const char *name);
   4476 
   4477     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByIndex)(
   4478         ID3D10EffectSamplerVariable *This,
   4479         UINT index);
   4480 
   4481     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberByName)(
   4482         ID3D10EffectSamplerVariable *This,
   4483         const char *name);
   4484 
   4485     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetMemberBySemantic)(
   4486         ID3D10EffectSamplerVariable *This,
   4487         const char *semantic);
   4488 
   4489     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetElement)(
   4490         ID3D10EffectSamplerVariable *This,
   4491         UINT index);
   4492 
   4493     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetParentConstantBuffer)(
   4494         ID3D10EffectSamplerVariable *This);
   4495 
   4496     ID3D10EffectScalarVariable * (STDMETHODCALLTYPE *AsScalar)(
   4497         ID3D10EffectSamplerVariable *This);
   4498 
   4499     ID3D10EffectVectorVariable * (STDMETHODCALLTYPE *AsVector)(
   4500         ID3D10EffectSamplerVariable *This);
   4501 
   4502     ID3D10EffectMatrixVariable * (STDMETHODCALLTYPE *AsMatrix)(
   4503         ID3D10EffectSamplerVariable *This);
   4504 
   4505     ID3D10EffectStringVariable * (STDMETHODCALLTYPE *AsString)(
   4506         ID3D10EffectSamplerVariable *This);
   4507 
   4508     ID3D10EffectShaderResourceVariable * (STDMETHODCALLTYPE *AsShaderResource)(
   4509         ID3D10EffectSamplerVariable *This);
   4510 
   4511     ID3D10EffectRenderTargetViewVariable * (STDMETHODCALLTYPE *AsRenderTargetView)(
   4512         ID3D10EffectSamplerVariable *This);
   4513 
   4514     ID3D10EffectDepthStencilViewVariable * (STDMETHODCALLTYPE *AsDepthStencilView)(
   4515         ID3D10EffectSamplerVariable *This);
   4516 
   4517     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *AsConstantBuffer)(
   4518         ID3D10EffectSamplerVariable *This);
   4519 
   4520     ID3D10EffectShaderVariable * (STDMETHODCALLTYPE *AsShader)(
   4521         ID3D10EffectSamplerVariable *This);
   4522 
   4523     ID3D10EffectBlendVariable * (STDMETHODCALLTYPE *AsBlend)(
   4524         ID3D10EffectSamplerVariable *This);
   4525 
   4526     ID3D10EffectDepthStencilVariable * (STDMETHODCALLTYPE *AsDepthStencil)(
   4527         ID3D10EffectSamplerVariable *This);
   4528 
   4529     ID3D10EffectRasterizerVariable * (STDMETHODCALLTYPE *AsRasterizer)(
   4530         ID3D10EffectSamplerVariable *This);
   4531 
   4532     ID3D10EffectSamplerVariable * (STDMETHODCALLTYPE *AsSampler)(
   4533         ID3D10EffectSamplerVariable *This);
   4534 
   4535     HRESULT (STDMETHODCALLTYPE *SetRawValue)(
   4536         ID3D10EffectSamplerVariable *This,
   4537         void *data,
   4538         UINT offset,
   4539         UINT count);
   4540 
   4541     HRESULT (STDMETHODCALLTYPE *GetRawValue)(
   4542         ID3D10EffectSamplerVariable *This,
   4543         void *data,
   4544         UINT offset,
   4545         UINT count);
   4546 
   4547     /*** ID3D10EffectSamplerVariable methods ***/
   4548     HRESULT (STDMETHODCALLTYPE *GetSampler)(
   4549         ID3D10EffectSamplerVariable *This,
   4550         UINT index,
   4551         ID3D10SamplerState **sampler);
   4552 
   4553     HRESULT (STDMETHODCALLTYPE *GetBackingStore)(
   4554         ID3D10EffectSamplerVariable *This,
   4555         UINT index,
   4556         D3D10_SAMPLER_DESC *desc);
   4557 
   4558     END_INTERFACE
   4559 } ID3D10EffectSamplerVariableVtbl;
   4560 
   4561 interface ID3D10EffectSamplerVariable {
   4562     CONST_VTBL ID3D10EffectSamplerVariableVtbl* lpVtbl;
   4563 };
   4564 
   4565 #ifdef COBJMACROS
   4566 #ifndef WIDL_C_INLINE_WRAPPERS
   4567 /*** ID3D10EffectVariable methods ***/
   4568 #define ID3D10EffectSamplerVariable_IsValid(This) (This)->lpVtbl->IsValid(This)
   4569 #define ID3D10EffectSamplerVariable_GetType(This) (This)->lpVtbl->GetType(This)
   4570 #define ID3D10EffectSamplerVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   4571 #define ID3D10EffectSamplerVariable_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   4572 #define ID3D10EffectSamplerVariable_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   4573 #define ID3D10EffectSamplerVariable_GetMemberByIndex(This,index) (This)->lpVtbl->GetMemberByIndex(This,index)
   4574 #define ID3D10EffectSamplerVariable_GetMemberByName(This,name) (This)->lpVtbl->GetMemberByName(This,name)
   4575 #define ID3D10EffectSamplerVariable_GetMemberBySemantic(This,semantic) (This)->lpVtbl->GetMemberBySemantic(This,semantic)
   4576 #define ID3D10EffectSamplerVariable_GetElement(This,index) (This)->lpVtbl->GetElement(This,index)
   4577 #define ID3D10EffectSamplerVariable_GetParentConstantBuffer(This) (This)->lpVtbl->GetParentConstantBuffer(This)
   4578 #define ID3D10EffectSamplerVariable_AsScalar(This) (This)->lpVtbl->AsScalar(This)
   4579 #define ID3D10EffectSamplerVariable_AsVector(This) (This)->lpVtbl->AsVector(This)
   4580 #define ID3D10EffectSamplerVariable_AsMatrix(This) (This)->lpVtbl->AsMatrix(This)
   4581 #define ID3D10EffectSamplerVariable_AsString(This) (This)->lpVtbl->AsString(This)
   4582 #define ID3D10EffectSamplerVariable_AsShaderResource(This) (This)->lpVtbl->AsShaderResource(This)
   4583 #define ID3D10EffectSamplerVariable_AsRenderTargetView(This) (This)->lpVtbl->AsRenderTargetView(This)
   4584 #define ID3D10EffectSamplerVariable_AsDepthStencilView(This) (This)->lpVtbl->AsDepthStencilView(This)
   4585 #define ID3D10EffectSamplerVariable_AsConstantBuffer(This) (This)->lpVtbl->AsConstantBuffer(This)
   4586 #define ID3D10EffectSamplerVariable_AsShader(This) (This)->lpVtbl->AsShader(This)
   4587 #define ID3D10EffectSamplerVariable_AsBlend(This) (This)->lpVtbl->AsBlend(This)
   4588 #define ID3D10EffectSamplerVariable_AsDepthStencil(This) (This)->lpVtbl->AsDepthStencil(This)
   4589 #define ID3D10EffectSamplerVariable_AsRasterizer(This) (This)->lpVtbl->AsRasterizer(This)
   4590 #define ID3D10EffectSamplerVariable_AsSampler(This) (This)->lpVtbl->AsSampler(This)
   4591 #define ID3D10EffectSamplerVariable_SetRawValue(This,data,offset,count) (This)->lpVtbl->SetRawValue(This,data,offset,count)
   4592 #define ID3D10EffectSamplerVariable_GetRawValue(This,data,offset,count) (This)->lpVtbl->GetRawValue(This,data,offset,count)
   4593 /*** ID3D10EffectSamplerVariable methods ***/
   4594 #define ID3D10EffectSamplerVariable_GetSampler(This,index,sampler) (This)->lpVtbl->GetSampler(This,index,sampler)
   4595 #define ID3D10EffectSamplerVariable_GetBackingStore(This,index,desc) (This)->lpVtbl->GetBackingStore(This,index,desc)
   4596 #else
   4597 /*** ID3D10EffectVariable methods ***/
   4598 static inline WINBOOL ID3D10EffectSamplerVariable_IsValid(ID3D10EffectSamplerVariable* This) {
   4599     return This->lpVtbl->IsValid(This);
   4600 }
   4601 static inline ID3D10EffectType * ID3D10EffectSamplerVariable_GetType(ID3D10EffectSamplerVariable* This) {
   4602     return This->lpVtbl->GetType(This);
   4603 }
   4604 static inline HRESULT ID3D10EffectSamplerVariable_GetDesc(ID3D10EffectSamplerVariable* This,D3D10_EFFECT_VARIABLE_DESC *desc) {
   4605     return This->lpVtbl->GetDesc(This,desc);
   4606 }
   4607 static inline ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetAnnotationByIndex(ID3D10EffectSamplerVariable* This,UINT index) {
   4608     return This->lpVtbl->GetAnnotationByIndex(This,index);
   4609 }
   4610 static inline ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetAnnotationByName(ID3D10EffectSamplerVariable* This,const char *name) {
   4611     return This->lpVtbl->GetAnnotationByName(This,name);
   4612 }
   4613 static inline ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetMemberByIndex(ID3D10EffectSamplerVariable* This,UINT index) {
   4614     return This->lpVtbl->GetMemberByIndex(This,index);
   4615 }
   4616 static inline ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetMemberByName(ID3D10EffectSamplerVariable* This,const char *name) {
   4617     return This->lpVtbl->GetMemberByName(This,name);
   4618 }
   4619 static inline ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetMemberBySemantic(ID3D10EffectSamplerVariable* This,const char *semantic) {
   4620     return This->lpVtbl->GetMemberBySemantic(This,semantic);
   4621 }
   4622 static inline ID3D10EffectVariable * ID3D10EffectSamplerVariable_GetElement(ID3D10EffectSamplerVariable* This,UINT index) {
   4623     return This->lpVtbl->GetElement(This,index);
   4624 }
   4625 static inline ID3D10EffectConstantBuffer * ID3D10EffectSamplerVariable_GetParentConstantBuffer(ID3D10EffectSamplerVariable* This) {
   4626     return This->lpVtbl->GetParentConstantBuffer(This);
   4627 }
   4628 static inline ID3D10EffectScalarVariable * ID3D10EffectSamplerVariable_AsScalar(ID3D10EffectSamplerVariable* This) {
   4629     return This->lpVtbl->AsScalar(This);
   4630 }
   4631 static inline ID3D10EffectVectorVariable * ID3D10EffectSamplerVariable_AsVector(ID3D10EffectSamplerVariable* This) {
   4632     return This->lpVtbl->AsVector(This);
   4633 }
   4634 static inline ID3D10EffectMatrixVariable * ID3D10EffectSamplerVariable_AsMatrix(ID3D10EffectSamplerVariable* This) {
   4635     return This->lpVtbl->AsMatrix(This);
   4636 }
   4637 static inline ID3D10EffectStringVariable * ID3D10EffectSamplerVariable_AsString(ID3D10EffectSamplerVariable* This) {
   4638     return This->lpVtbl->AsString(This);
   4639 }
   4640 static inline ID3D10EffectShaderResourceVariable * ID3D10EffectSamplerVariable_AsShaderResource(ID3D10EffectSamplerVariable* This) {
   4641     return This->lpVtbl->AsShaderResource(This);
   4642 }
   4643 static inline ID3D10EffectRenderTargetViewVariable * ID3D10EffectSamplerVariable_AsRenderTargetView(ID3D10EffectSamplerVariable* This) {
   4644     return This->lpVtbl->AsRenderTargetView(This);
   4645 }
   4646 static inline ID3D10EffectDepthStencilViewVariable * ID3D10EffectSamplerVariable_AsDepthStencilView(ID3D10EffectSamplerVariable* This) {
   4647     return This->lpVtbl->AsDepthStencilView(This);
   4648 }
   4649 static inline ID3D10EffectConstantBuffer * ID3D10EffectSamplerVariable_AsConstantBuffer(ID3D10EffectSamplerVariable* This) {
   4650     return This->lpVtbl->AsConstantBuffer(This);
   4651 }
   4652 static inline ID3D10EffectShaderVariable * ID3D10EffectSamplerVariable_AsShader(ID3D10EffectSamplerVariable* This) {
   4653     return This->lpVtbl->AsShader(This);
   4654 }
   4655 static inline ID3D10EffectBlendVariable * ID3D10EffectSamplerVariable_AsBlend(ID3D10EffectSamplerVariable* This) {
   4656     return This->lpVtbl->AsBlend(This);
   4657 }
   4658 static inline ID3D10EffectDepthStencilVariable * ID3D10EffectSamplerVariable_AsDepthStencil(ID3D10EffectSamplerVariable* This) {
   4659     return This->lpVtbl->AsDepthStencil(This);
   4660 }
   4661 static inline ID3D10EffectRasterizerVariable * ID3D10EffectSamplerVariable_AsRasterizer(ID3D10EffectSamplerVariable* This) {
   4662     return This->lpVtbl->AsRasterizer(This);
   4663 }
   4664 static inline ID3D10EffectSamplerVariable * ID3D10EffectSamplerVariable_AsSampler(ID3D10EffectSamplerVariable* This) {
   4665     return This->lpVtbl->AsSampler(This);
   4666 }
   4667 static inline HRESULT ID3D10EffectSamplerVariable_SetRawValue(ID3D10EffectSamplerVariable* This,void *data,UINT offset,UINT count) {
   4668     return This->lpVtbl->SetRawValue(This,data,offset,count);
   4669 }
   4670 static inline HRESULT ID3D10EffectSamplerVariable_GetRawValue(ID3D10EffectSamplerVariable* This,void *data,UINT offset,UINT count) {
   4671     return This->lpVtbl->GetRawValue(This,data,offset,count);
   4672 }
   4673 /*** ID3D10EffectSamplerVariable methods ***/
   4674 static inline HRESULT ID3D10EffectSamplerVariable_GetSampler(ID3D10EffectSamplerVariable* This,UINT index,ID3D10SamplerState **sampler) {
   4675     return This->lpVtbl->GetSampler(This,index,sampler);
   4676 }
   4677 static inline HRESULT ID3D10EffectSamplerVariable_GetBackingStore(ID3D10EffectSamplerVariable* This,UINT index,D3D10_SAMPLER_DESC *desc) {
   4678     return This->lpVtbl->GetBackingStore(This,index,desc);
   4679 }
   4680 #endif
   4681 #endif
   4682 
   4683 #endif
   4684 
   4685 
   4686 #endif  /* __ID3D10EffectSamplerVariable_INTERFACE_DEFINED__ */
   4687 
   4688 /*****************************************************************************
   4689  * ID3D10EffectTechnique interface
   4690  */
   4691 #ifndef __ID3D10EffectTechnique_INTERFACE_DEFINED__
   4692 #define __ID3D10EffectTechnique_INTERFACE_DEFINED__
   4693 
   4694 DEFINE_GUID(IID_ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2,0x37, 0x24,0xed,0x3d,0xe8,0xb1,0x75);
   4695 #if defined(__cplusplus) && !defined(CINTERFACE)
   4696 MIDL_INTERFACE("db122ce8-d1c9-4292-b237-24ed3de8b175")
   4697 ID3D10EffectTechnique
   4698 {
   4699 
   4700     BEGIN_INTERFACE
   4701 
   4702     virtual WINBOOL STDMETHODCALLTYPE IsValid(
   4703         ) = 0;
   4704 
   4705     virtual HRESULT STDMETHODCALLTYPE GetDesc(
   4706         D3D10_TECHNIQUE_DESC *desc) = 0;
   4707 
   4708     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByIndex(
   4709         UINT index) = 0;
   4710 
   4711     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByName(
   4712         const char *name) = 0;
   4713 
   4714     virtual ID3D10EffectPass * STDMETHODCALLTYPE GetPassByIndex(
   4715         UINT index) = 0;
   4716 
   4717     virtual ID3D10EffectPass * STDMETHODCALLTYPE GetPassByName(
   4718         const char *name) = 0;
   4719 
   4720     virtual HRESULT STDMETHODCALLTYPE ComputeStateBlockMask(
   4721         D3D10_STATE_BLOCK_MASK *mask) = 0;
   4722 
   4723     END_INTERFACE
   4724 
   4725 };
   4726 #ifdef __CRT_UUID_DECL
   4727 __CRT_UUID_DECL(ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2,0x37, 0x24,0xed,0x3d,0xe8,0xb1,0x75)
   4728 #endif
   4729 #else
   4730 typedef struct ID3D10EffectTechniqueVtbl {
   4731     BEGIN_INTERFACE
   4732 
   4733     /*** ID3D10EffectTechnique methods ***/
   4734     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   4735         ID3D10EffectTechnique *This);
   4736 
   4737     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   4738         ID3D10EffectTechnique *This,
   4739         D3D10_TECHNIQUE_DESC *desc);
   4740 
   4741     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   4742         ID3D10EffectTechnique *This,
   4743         UINT index);
   4744 
   4745     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   4746         ID3D10EffectTechnique *This,
   4747         const char *name);
   4748 
   4749     ID3D10EffectPass * (STDMETHODCALLTYPE *GetPassByIndex)(
   4750         ID3D10EffectTechnique *This,
   4751         UINT index);
   4752 
   4753     ID3D10EffectPass * (STDMETHODCALLTYPE *GetPassByName)(
   4754         ID3D10EffectTechnique *This,
   4755         const char *name);
   4756 
   4757     HRESULT (STDMETHODCALLTYPE *ComputeStateBlockMask)(
   4758         ID3D10EffectTechnique *This,
   4759         D3D10_STATE_BLOCK_MASK *mask);
   4760 
   4761     END_INTERFACE
   4762 } ID3D10EffectTechniqueVtbl;
   4763 
   4764 interface ID3D10EffectTechnique {
   4765     CONST_VTBL ID3D10EffectTechniqueVtbl* lpVtbl;
   4766 };
   4767 
   4768 #ifdef COBJMACROS
   4769 #ifndef WIDL_C_INLINE_WRAPPERS
   4770 /*** ID3D10EffectTechnique methods ***/
   4771 #define ID3D10EffectTechnique_IsValid(This) (This)->lpVtbl->IsValid(This)
   4772 #define ID3D10EffectTechnique_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   4773 #define ID3D10EffectTechnique_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   4774 #define ID3D10EffectTechnique_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   4775 #define ID3D10EffectTechnique_GetPassByIndex(This,index) (This)->lpVtbl->GetPassByIndex(This,index)
   4776 #define ID3D10EffectTechnique_GetPassByName(This,name) (This)->lpVtbl->GetPassByName(This,name)
   4777 #define ID3D10EffectTechnique_ComputeStateBlockMask(This,mask) (This)->lpVtbl->ComputeStateBlockMask(This,mask)
   4778 #else
   4779 /*** ID3D10EffectTechnique methods ***/
   4780 static inline WINBOOL ID3D10EffectTechnique_IsValid(ID3D10EffectTechnique* This) {
   4781     return This->lpVtbl->IsValid(This);
   4782 }
   4783 static inline HRESULT ID3D10EffectTechnique_GetDesc(ID3D10EffectTechnique* This,D3D10_TECHNIQUE_DESC *desc) {
   4784     return This->lpVtbl->GetDesc(This,desc);
   4785 }
   4786 static inline ID3D10EffectVariable * ID3D10EffectTechnique_GetAnnotationByIndex(ID3D10EffectTechnique* This,UINT index) {
   4787     return This->lpVtbl->GetAnnotationByIndex(This,index);
   4788 }
   4789 static inline ID3D10EffectVariable * ID3D10EffectTechnique_GetAnnotationByName(ID3D10EffectTechnique* This,const char *name) {
   4790     return This->lpVtbl->GetAnnotationByName(This,name);
   4791 }
   4792 static inline ID3D10EffectPass * ID3D10EffectTechnique_GetPassByIndex(ID3D10EffectTechnique* This,UINT index) {
   4793     return This->lpVtbl->GetPassByIndex(This,index);
   4794 }
   4795 static inline ID3D10EffectPass * ID3D10EffectTechnique_GetPassByName(ID3D10EffectTechnique* This,const char *name) {
   4796     return This->lpVtbl->GetPassByName(This,name);
   4797 }
   4798 static inline HRESULT ID3D10EffectTechnique_ComputeStateBlockMask(ID3D10EffectTechnique* This,D3D10_STATE_BLOCK_MASK *mask) {
   4799     return This->lpVtbl->ComputeStateBlockMask(This,mask);
   4800 }
   4801 #endif
   4802 #endif
   4803 
   4804 #endif
   4805 
   4806 
   4807 #endif  /* __ID3D10EffectTechnique_INTERFACE_DEFINED__ */
   4808 
   4809 /*****************************************************************************
   4810  * ID3D10Effect interface
   4811  */
   4812 #ifndef __ID3D10Effect_INTERFACE_DEFINED__
   4813 #define __ID3D10Effect_INTERFACE_DEFINED__
   4814 
   4815 DEFINE_GUID(IID_ID3D10Effect, 0x51b0ca8b, 0xec0b, 0x4519, 0x87,0x0d, 0x8e,0xe1,0xcb,0x50,0x17,0xc7);
   4816 #if defined(__cplusplus) && !defined(CINTERFACE)
   4817 MIDL_INTERFACE("51b0ca8b-ec0b-4519-870d-8ee1cb5017c7")
   4818 ID3D10Effect : public IUnknown
   4819 {
   4820     virtual WINBOOL STDMETHODCALLTYPE IsValid(
   4821         ) = 0;
   4822 
   4823     virtual WINBOOL STDMETHODCALLTYPE IsPool(
   4824         ) = 0;
   4825 
   4826     virtual HRESULT STDMETHODCALLTYPE GetDevice(
   4827         ID3D10Device **device) = 0;
   4828 
   4829     virtual HRESULT STDMETHODCALLTYPE GetDesc(
   4830         D3D10_EFFECT_DESC *desc) = 0;
   4831 
   4832     virtual ID3D10EffectConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByIndex(
   4833         UINT index) = 0;
   4834 
   4835     virtual ID3D10EffectConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByName(
   4836         const char *name) = 0;
   4837 
   4838     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetVariableByIndex(
   4839         UINT index) = 0;
   4840 
   4841     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetVariableByName(
   4842         const char *name) = 0;
   4843 
   4844     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetVariableBySemantic(
   4845         const char *semantic) = 0;
   4846 
   4847     virtual ID3D10EffectTechnique * STDMETHODCALLTYPE GetTechniqueByIndex(
   4848         UINT index) = 0;
   4849 
   4850     virtual ID3D10EffectTechnique * STDMETHODCALLTYPE GetTechniqueByName(
   4851         const char *name) = 0;
   4852 
   4853     virtual HRESULT STDMETHODCALLTYPE Optimize(
   4854         ) = 0;
   4855 
   4856     virtual WINBOOL STDMETHODCALLTYPE IsOptimized(
   4857         ) = 0;
   4858 
   4859 };
   4860 #ifdef __CRT_UUID_DECL
   4861 __CRT_UUID_DECL(ID3D10Effect, 0x51b0ca8b, 0xec0b, 0x4519, 0x87,0x0d, 0x8e,0xe1,0xcb,0x50,0x17,0xc7)
   4862 #endif
   4863 #else
   4864 typedef struct ID3D10EffectVtbl {
   4865     BEGIN_INTERFACE
   4866 
   4867     /*** IUnknown methods ***/
   4868     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4869         ID3D10Effect *This,
   4870         REFIID riid,
   4871         void **ppvObject);
   4872 
   4873     ULONG (STDMETHODCALLTYPE *AddRef)(
   4874         ID3D10Effect *This);
   4875 
   4876     ULONG (STDMETHODCALLTYPE *Release)(
   4877         ID3D10Effect *This);
   4878 
   4879     /*** ID3D10Effect methods ***/
   4880     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   4881         ID3D10Effect *This);
   4882 
   4883     WINBOOL (STDMETHODCALLTYPE *IsPool)(
   4884         ID3D10Effect *This);
   4885 
   4886     HRESULT (STDMETHODCALLTYPE *GetDevice)(
   4887         ID3D10Effect *This,
   4888         ID3D10Device **device);
   4889 
   4890     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   4891         ID3D10Effect *This,
   4892         D3D10_EFFECT_DESC *desc);
   4893 
   4894     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByIndex)(
   4895         ID3D10Effect *This,
   4896         UINT index);
   4897 
   4898     ID3D10EffectConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByName)(
   4899         ID3D10Effect *This,
   4900         const char *name);
   4901 
   4902     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetVariableByIndex)(
   4903         ID3D10Effect *This,
   4904         UINT index);
   4905 
   4906     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetVariableByName)(
   4907         ID3D10Effect *This,
   4908         const char *name);
   4909 
   4910     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetVariableBySemantic)(
   4911         ID3D10Effect *This,
   4912         const char *semantic);
   4913 
   4914     ID3D10EffectTechnique * (STDMETHODCALLTYPE *GetTechniqueByIndex)(
   4915         ID3D10Effect *This,
   4916         UINT index);
   4917 
   4918     ID3D10EffectTechnique * (STDMETHODCALLTYPE *GetTechniqueByName)(
   4919         ID3D10Effect *This,
   4920         const char *name);
   4921 
   4922     HRESULT (STDMETHODCALLTYPE *Optimize)(
   4923         ID3D10Effect *This);
   4924 
   4925     WINBOOL (STDMETHODCALLTYPE *IsOptimized)(
   4926         ID3D10Effect *This);
   4927 
   4928     END_INTERFACE
   4929 } ID3D10EffectVtbl;
   4930 
   4931 interface ID3D10Effect {
   4932     CONST_VTBL ID3D10EffectVtbl* lpVtbl;
   4933 };
   4934 
   4935 #ifdef COBJMACROS
   4936 #ifndef WIDL_C_INLINE_WRAPPERS
   4937 /*** IUnknown methods ***/
   4938 #define ID3D10Effect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4939 #define ID3D10Effect_AddRef(This) (This)->lpVtbl->AddRef(This)
   4940 #define ID3D10Effect_Release(This) (This)->lpVtbl->Release(This)
   4941 /*** ID3D10Effect methods ***/
   4942 #define ID3D10Effect_IsValid(This) (This)->lpVtbl->IsValid(This)
   4943 #define ID3D10Effect_IsPool(This) (This)->lpVtbl->IsPool(This)
   4944 #define ID3D10Effect_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device)
   4945 #define ID3D10Effect_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   4946 #define ID3D10Effect_GetConstantBufferByIndex(This,index) (This)->lpVtbl->GetConstantBufferByIndex(This,index)
   4947 #define ID3D10Effect_GetConstantBufferByName(This,name) (This)->lpVtbl->GetConstantBufferByName(This,name)
   4948 #define ID3D10Effect_GetVariableByIndex(This,index) (This)->lpVtbl->GetVariableByIndex(This,index)
   4949 #define ID3D10Effect_GetVariableByName(This,name) (This)->lpVtbl->GetVariableByName(This,name)
   4950 #define ID3D10Effect_GetVariableBySemantic(This,semantic) (This)->lpVtbl->GetVariableBySemantic(This,semantic)
   4951 #define ID3D10Effect_GetTechniqueByIndex(This,index) (This)->lpVtbl->GetTechniqueByIndex(This,index)
   4952 #define ID3D10Effect_GetTechniqueByName(This,name) (This)->lpVtbl->GetTechniqueByName(This,name)
   4953 #define ID3D10Effect_Optimize(This) (This)->lpVtbl->Optimize(This)
   4954 #define ID3D10Effect_IsOptimized(This) (This)->lpVtbl->IsOptimized(This)
   4955 #else
   4956 /*** IUnknown methods ***/
   4957 static inline HRESULT ID3D10Effect_QueryInterface(ID3D10Effect* This,REFIID riid,void **ppvObject) {
   4958     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4959 }
   4960 static inline ULONG ID3D10Effect_AddRef(ID3D10Effect* This) {
   4961     return This->lpVtbl->AddRef(This);
   4962 }
   4963 static inline ULONG ID3D10Effect_Release(ID3D10Effect* This) {
   4964     return This->lpVtbl->Release(This);
   4965 }
   4966 /*** ID3D10Effect methods ***/
   4967 static inline WINBOOL ID3D10Effect_IsValid(ID3D10Effect* This) {
   4968     return This->lpVtbl->IsValid(This);
   4969 }
   4970 static inline WINBOOL ID3D10Effect_IsPool(ID3D10Effect* This) {
   4971     return This->lpVtbl->IsPool(This);
   4972 }
   4973 static inline HRESULT ID3D10Effect_GetDevice(ID3D10Effect* This,ID3D10Device **device) {
   4974     return This->lpVtbl->GetDevice(This,device);
   4975 }
   4976 static inline HRESULT ID3D10Effect_GetDesc(ID3D10Effect* This,D3D10_EFFECT_DESC *desc) {
   4977     return This->lpVtbl->GetDesc(This,desc);
   4978 }
   4979 static inline ID3D10EffectConstantBuffer * ID3D10Effect_GetConstantBufferByIndex(ID3D10Effect* This,UINT index) {
   4980     return This->lpVtbl->GetConstantBufferByIndex(This,index);
   4981 }
   4982 static inline ID3D10EffectConstantBuffer * ID3D10Effect_GetConstantBufferByName(ID3D10Effect* This,const char *name) {
   4983     return This->lpVtbl->GetConstantBufferByName(This,name);
   4984 }
   4985 static inline ID3D10EffectVariable * ID3D10Effect_GetVariableByIndex(ID3D10Effect* This,UINT index) {
   4986     return This->lpVtbl->GetVariableByIndex(This,index);
   4987 }
   4988 static inline ID3D10EffectVariable * ID3D10Effect_GetVariableByName(ID3D10Effect* This,const char *name) {
   4989     return This->lpVtbl->GetVariableByName(This,name);
   4990 }
   4991 static inline ID3D10EffectVariable * ID3D10Effect_GetVariableBySemantic(ID3D10Effect* This,const char *semantic) {
   4992     return This->lpVtbl->GetVariableBySemantic(This,semantic);
   4993 }
   4994 static inline ID3D10EffectTechnique * ID3D10Effect_GetTechniqueByIndex(ID3D10Effect* This,UINT index) {
   4995     return This->lpVtbl->GetTechniqueByIndex(This,index);
   4996 }
   4997 static inline ID3D10EffectTechnique * ID3D10Effect_GetTechniqueByName(ID3D10Effect* This,const char *name) {
   4998     return This->lpVtbl->GetTechniqueByName(This,name);
   4999 }
   5000 static inline HRESULT ID3D10Effect_Optimize(ID3D10Effect* This) {
   5001     return This->lpVtbl->Optimize(This);
   5002 }
   5003 static inline WINBOOL ID3D10Effect_IsOptimized(ID3D10Effect* This) {
   5004     return This->lpVtbl->IsOptimized(This);
   5005 }
   5006 #endif
   5007 #endif
   5008 
   5009 #endif
   5010 
   5011 
   5012 #endif  /* __ID3D10Effect_INTERFACE_DEFINED__ */
   5013 
   5014 /*****************************************************************************
   5015  * ID3D10EffectPool interface
   5016  */
   5017 #ifndef __ID3D10EffectPool_INTERFACE_DEFINED__
   5018 #define __ID3D10EffectPool_INTERFACE_DEFINED__
   5019 
   5020 DEFINE_GUID(IID_ID3D10EffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82,0x13, 0xfc,0xd2,0xf8,0x67,0x79,0x33);
   5021 #if defined(__cplusplus) && !defined(CINTERFACE)
   5022 MIDL_INTERFACE("9537ab04-3250-412e-8213-fcd2f8677933")
   5023 ID3D10EffectPool : public IUnknown
   5024 {
   5025     virtual ID3D10Effect * STDMETHODCALLTYPE AsEffect(
   5026         ) = 0;
   5027 
   5028 };
   5029 #ifdef __CRT_UUID_DECL
   5030 __CRT_UUID_DECL(ID3D10EffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82,0x13, 0xfc,0xd2,0xf8,0x67,0x79,0x33)
   5031 #endif
   5032 #else
   5033 typedef struct ID3D10EffectPoolVtbl {
   5034     BEGIN_INTERFACE
   5035 
   5036     /*** IUnknown methods ***/
   5037     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5038         ID3D10EffectPool *This,
   5039         REFIID riid,
   5040         void **ppvObject);
   5041 
   5042     ULONG (STDMETHODCALLTYPE *AddRef)(
   5043         ID3D10EffectPool *This);
   5044 
   5045     ULONG (STDMETHODCALLTYPE *Release)(
   5046         ID3D10EffectPool *This);
   5047 
   5048     /*** ID3D10EffectPool methods ***/
   5049     ID3D10Effect * (STDMETHODCALLTYPE *AsEffect)(
   5050         ID3D10EffectPool *This);
   5051 
   5052     END_INTERFACE
   5053 } ID3D10EffectPoolVtbl;
   5054 
   5055 interface ID3D10EffectPool {
   5056     CONST_VTBL ID3D10EffectPoolVtbl* lpVtbl;
   5057 };
   5058 
   5059 #ifdef COBJMACROS
   5060 #ifndef WIDL_C_INLINE_WRAPPERS
   5061 /*** IUnknown methods ***/
   5062 #define ID3D10EffectPool_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5063 #define ID3D10EffectPool_AddRef(This) (This)->lpVtbl->AddRef(This)
   5064 #define ID3D10EffectPool_Release(This) (This)->lpVtbl->Release(This)
   5065 /*** ID3D10EffectPool methods ***/
   5066 #define ID3D10EffectPool_AsEffect(This) (This)->lpVtbl->AsEffect(This)
   5067 #else
   5068 /*** IUnknown methods ***/
   5069 static inline HRESULT ID3D10EffectPool_QueryInterface(ID3D10EffectPool* This,REFIID riid,void **ppvObject) {
   5070     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5071 }
   5072 static inline ULONG ID3D10EffectPool_AddRef(ID3D10EffectPool* This) {
   5073     return This->lpVtbl->AddRef(This);
   5074 }
   5075 static inline ULONG ID3D10EffectPool_Release(ID3D10EffectPool* This) {
   5076     return This->lpVtbl->Release(This);
   5077 }
   5078 /*** ID3D10EffectPool methods ***/
   5079 static inline ID3D10Effect * ID3D10EffectPool_AsEffect(ID3D10EffectPool* This) {
   5080     return This->lpVtbl->AsEffect(This);
   5081 }
   5082 #endif
   5083 #endif
   5084 
   5085 #endif
   5086 
   5087 
   5088 #endif  /* __ID3D10EffectPool_INTERFACE_DEFINED__ */
   5089 
   5090 /*****************************************************************************
   5091  * ID3D10EffectPass interface
   5092  */
   5093 #ifndef __ID3D10EffectPass_INTERFACE_DEFINED__
   5094 #define __ID3D10EffectPass_INTERFACE_DEFINED__
   5095 
   5096 DEFINE_GUID(IID_ID3D10EffectPass, 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2,0x82, 0xe3,0xf9,0xbf,0xa3,0x6a,0x54);
   5097 #if defined(__cplusplus) && !defined(CINTERFACE)
   5098 MIDL_INTERFACE("5cfbeb89-1a06-46e0-b282-e3f9bfa36a54")
   5099 ID3D10EffectPass
   5100 {
   5101 
   5102     BEGIN_INTERFACE
   5103 
   5104     virtual WINBOOL STDMETHODCALLTYPE IsValid(
   5105         ) = 0;
   5106 
   5107     virtual HRESULT STDMETHODCALLTYPE GetDesc(
   5108         D3D10_PASS_DESC *desc) = 0;
   5109 
   5110     virtual HRESULT STDMETHODCALLTYPE GetVertexShaderDesc(
   5111         D3D10_PASS_SHADER_DESC *desc) = 0;
   5112 
   5113     virtual HRESULT STDMETHODCALLTYPE GetGeometryShaderDesc(
   5114         D3D10_PASS_SHADER_DESC *desc) = 0;
   5115 
   5116     virtual HRESULT STDMETHODCALLTYPE GetPixelShaderDesc(
   5117         D3D10_PASS_SHADER_DESC *desc) = 0;
   5118 
   5119     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByIndex(
   5120         UINT index) = 0;
   5121 
   5122     virtual ID3D10EffectVariable * STDMETHODCALLTYPE GetAnnotationByName(
   5123         const char *name) = 0;
   5124 
   5125     virtual HRESULT STDMETHODCALLTYPE Apply(
   5126         UINT flags) = 0;
   5127 
   5128     virtual HRESULT STDMETHODCALLTYPE ComputeStateBlockMask(
   5129         D3D10_STATE_BLOCK_MASK *mask) = 0;
   5130 
   5131     END_INTERFACE
   5132 
   5133 };
   5134 #ifdef __CRT_UUID_DECL
   5135 __CRT_UUID_DECL(ID3D10EffectPass, 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2,0x82, 0xe3,0xf9,0xbf,0xa3,0x6a,0x54)
   5136 #endif
   5137 #else
   5138 typedef struct ID3D10EffectPassVtbl {
   5139     BEGIN_INTERFACE
   5140 
   5141     /*** ID3D10EffectPass methods ***/
   5142     WINBOOL (STDMETHODCALLTYPE *IsValid)(
   5143         ID3D10EffectPass *This);
   5144 
   5145     HRESULT (STDMETHODCALLTYPE *GetDesc)(
   5146         ID3D10EffectPass *This,
   5147         D3D10_PASS_DESC *desc);
   5148 
   5149     HRESULT (STDMETHODCALLTYPE *GetVertexShaderDesc)(
   5150         ID3D10EffectPass *This,
   5151         D3D10_PASS_SHADER_DESC *desc);
   5152 
   5153     HRESULT (STDMETHODCALLTYPE *GetGeometryShaderDesc)(
   5154         ID3D10EffectPass *This,
   5155         D3D10_PASS_SHADER_DESC *desc);
   5156 
   5157     HRESULT (STDMETHODCALLTYPE *GetPixelShaderDesc)(
   5158         ID3D10EffectPass *This,
   5159         D3D10_PASS_SHADER_DESC *desc);
   5160 
   5161     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByIndex)(
   5162         ID3D10EffectPass *This,
   5163         UINT index);
   5164 
   5165     ID3D10EffectVariable * (STDMETHODCALLTYPE *GetAnnotationByName)(
   5166         ID3D10EffectPass *This,
   5167         const char *name);
   5168 
   5169     HRESULT (STDMETHODCALLTYPE *Apply)(
   5170         ID3D10EffectPass *This,
   5171         UINT flags);
   5172 
   5173     HRESULT (STDMETHODCALLTYPE *ComputeStateBlockMask)(
   5174         ID3D10EffectPass *This,
   5175         D3D10_STATE_BLOCK_MASK *mask);
   5176 
   5177     END_INTERFACE
   5178 } ID3D10EffectPassVtbl;
   5179 
   5180 interface ID3D10EffectPass {
   5181     CONST_VTBL ID3D10EffectPassVtbl* lpVtbl;
   5182 };
   5183 
   5184 #ifdef COBJMACROS
   5185 #ifndef WIDL_C_INLINE_WRAPPERS
   5186 /*** ID3D10EffectPass methods ***/
   5187 #define ID3D10EffectPass_IsValid(This) (This)->lpVtbl->IsValid(This)
   5188 #define ID3D10EffectPass_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
   5189 #define ID3D10EffectPass_GetVertexShaderDesc(This,desc) (This)->lpVtbl->GetVertexShaderDesc(This,desc)
   5190 #define ID3D10EffectPass_GetGeometryShaderDesc(This,desc) (This)->lpVtbl->GetGeometryShaderDesc(This,desc)
   5191 #define ID3D10EffectPass_GetPixelShaderDesc(This,desc) (This)->lpVtbl->GetPixelShaderDesc(This,desc)
   5192 #define ID3D10EffectPass_GetAnnotationByIndex(This,index) (This)->lpVtbl->GetAnnotationByIndex(This,index)
   5193 #define ID3D10EffectPass_GetAnnotationByName(This,name) (This)->lpVtbl->GetAnnotationByName(This,name)
   5194 #define ID3D10EffectPass_Apply(This,flags) (This)->lpVtbl->Apply(This,flags)
   5195 #define ID3D10EffectPass_ComputeStateBlockMask(This,mask) (This)->lpVtbl->ComputeStateBlockMask(This,mask)
   5196 #else
   5197 /*** ID3D10EffectPass methods ***/
   5198 static inline WINBOOL ID3D10EffectPass_IsValid(ID3D10EffectPass* This) {
   5199     return This->lpVtbl->IsValid(This);
   5200 }
   5201 static inline HRESULT ID3D10EffectPass_GetDesc(ID3D10EffectPass* This,D3D10_PASS_DESC *desc) {
   5202     return This->lpVtbl->GetDesc(This,desc);
   5203 }
   5204 static inline HRESULT ID3D10EffectPass_GetVertexShaderDesc(ID3D10EffectPass* This,D3D10_PASS_SHADER_DESC *desc) {
   5205     return This->lpVtbl->GetVertexShaderDesc(This,desc);
   5206 }
   5207 static inline HRESULT ID3D10EffectPass_GetGeometryShaderDesc(ID3D10EffectPass* This,D3D10_PASS_SHADER_DESC *desc) {
   5208     return This->lpVtbl->GetGeometryShaderDesc(This,desc);
   5209 }
   5210 static inline HRESULT ID3D10EffectPass_GetPixelShaderDesc(ID3D10EffectPass* This,D3D10_PASS_SHADER_DESC *desc) {
   5211     return This->lpVtbl->GetPixelShaderDesc(This,desc);
   5212 }
   5213 static inline ID3D10EffectVariable * ID3D10EffectPass_GetAnnotationByIndex(ID3D10EffectPass* This,UINT index) {
   5214     return This->lpVtbl->GetAnnotationByIndex(This,index);
   5215 }
   5216 static inline ID3D10EffectVariable * ID3D10EffectPass_GetAnnotationByName(ID3D10EffectPass* This,const char *name) {
   5217     return This->lpVtbl->GetAnnotationByName(This,name);
   5218 }
   5219 static inline HRESULT ID3D10EffectPass_Apply(ID3D10EffectPass* This,UINT flags) {
   5220     return This->lpVtbl->Apply(This,flags);
   5221 }
   5222 static inline HRESULT ID3D10EffectPass_ComputeStateBlockMask(ID3D10EffectPass* This,D3D10_STATE_BLOCK_MASK *mask) {
   5223     return This->lpVtbl->ComputeStateBlockMask(This,mask);
   5224 }
   5225 #endif
   5226 #endif
   5227 
   5228 #endif
   5229 
   5230 
   5231 #endif  /* __ID3D10EffectPass_INTERFACE_DEFINED__ */
   5232 
   5233 /*****************************************************************************
   5234  * ID3D10StateBlock interface
   5235  */
   5236 #ifndef __ID3D10StateBlock_INTERFACE_DEFINED__
   5237 #define __ID3D10StateBlock_INTERFACE_DEFINED__
   5238 
   5239 DEFINE_GUID(IID_ID3D10StateBlock, 0x0803425a, 0x57f5, 0x4dd6, 0x94,0x65, 0xa8,0x75,0x70,0x83,0x4a,0x08);
   5240 #if defined(__cplusplus) && !defined(CINTERFACE)
   5241 MIDL_INTERFACE("0803425a-57f5-4dd6-9465-a87570834a08")
   5242 ID3D10StateBlock : public IUnknown
   5243 {
   5244     virtual HRESULT STDMETHODCALLTYPE Capture(
   5245         ) = 0;
   5246 
   5247     virtual HRESULT STDMETHODCALLTYPE Apply(
   5248         ) = 0;
   5249 
   5250     virtual HRESULT STDMETHODCALLTYPE ReleaseAllDeviceObjects(
   5251         ) = 0;
   5252 
   5253     virtual HRESULT STDMETHODCALLTYPE GetDevice(
   5254         ID3D10Device **device) = 0;
   5255 
   5256 };
   5257 #ifdef __CRT_UUID_DECL
   5258 __CRT_UUID_DECL(ID3D10StateBlock, 0x0803425a, 0x57f5, 0x4dd6, 0x94,0x65, 0xa8,0x75,0x70,0x83,0x4a,0x08)
   5259 #endif
   5260 #else
   5261 typedef struct ID3D10StateBlockVtbl {
   5262     BEGIN_INTERFACE
   5263 
   5264     /*** IUnknown methods ***/
   5265     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5266         ID3D10StateBlock *This,
   5267         REFIID riid,
   5268         void **ppvObject);
   5269 
   5270     ULONG (STDMETHODCALLTYPE *AddRef)(
   5271         ID3D10StateBlock *This);
   5272 
   5273     ULONG (STDMETHODCALLTYPE *Release)(
   5274         ID3D10StateBlock *This);
   5275 
   5276     /*** ID3D10StateBlock methods ***/
   5277     HRESULT (STDMETHODCALLTYPE *Capture)(
   5278         ID3D10StateBlock *This);
   5279 
   5280     HRESULT (STDMETHODCALLTYPE *Apply)(
   5281         ID3D10StateBlock *This);
   5282 
   5283     HRESULT (STDMETHODCALLTYPE *ReleaseAllDeviceObjects)(
   5284         ID3D10StateBlock *This);
   5285 
   5286     HRESULT (STDMETHODCALLTYPE *GetDevice)(
   5287         ID3D10StateBlock *This,
   5288         ID3D10Device **device);
   5289 
   5290     END_INTERFACE
   5291 } ID3D10StateBlockVtbl;
   5292 
   5293 interface ID3D10StateBlock {
   5294     CONST_VTBL ID3D10StateBlockVtbl* lpVtbl;
   5295 };
   5296 
   5297 #ifdef COBJMACROS
   5298 #ifndef WIDL_C_INLINE_WRAPPERS
   5299 /*** IUnknown methods ***/
   5300 #define ID3D10StateBlock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5301 #define ID3D10StateBlock_AddRef(This) (This)->lpVtbl->AddRef(This)
   5302 #define ID3D10StateBlock_Release(This) (This)->lpVtbl->Release(This)
   5303 /*** ID3D10StateBlock methods ***/
   5304 #define ID3D10StateBlock_Capture(This) (This)->lpVtbl->Capture(This)
   5305 #define ID3D10StateBlock_Apply(This) (This)->lpVtbl->Apply(This)
   5306 #define ID3D10StateBlock_ReleaseAllDeviceObjects(This) (This)->lpVtbl->ReleaseAllDeviceObjects(This)
   5307 #define ID3D10StateBlock_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device)
   5308 #else
   5309 /*** IUnknown methods ***/
   5310 static inline HRESULT ID3D10StateBlock_QueryInterface(ID3D10StateBlock* This,REFIID riid,void **ppvObject) {
   5311     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5312 }
   5313 static inline ULONG ID3D10StateBlock_AddRef(ID3D10StateBlock* This) {
   5314     return This->lpVtbl->AddRef(This);
   5315 }
   5316 static inline ULONG ID3D10StateBlock_Release(ID3D10StateBlock* This) {
   5317     return This->lpVtbl->Release(This);
   5318 }
   5319 /*** ID3D10StateBlock methods ***/
   5320 static inline HRESULT ID3D10StateBlock_Capture(ID3D10StateBlock* This) {
   5321     return This->lpVtbl->Capture(This);
   5322 }
   5323 static inline HRESULT ID3D10StateBlock_Apply(ID3D10StateBlock* This) {
   5324     return This->lpVtbl->Apply(This);
   5325 }
   5326 static inline HRESULT ID3D10StateBlock_ReleaseAllDeviceObjects(ID3D10StateBlock* This) {
   5327     return This->lpVtbl->ReleaseAllDeviceObjects(This);
   5328 }
   5329 static inline HRESULT ID3D10StateBlock_GetDevice(ID3D10StateBlock* This,ID3D10Device **device) {
   5330     return This->lpVtbl->GetDevice(This,device);
   5331 }
   5332 #endif
   5333 #endif
   5334 
   5335 #endif
   5336 
   5337 
   5338 #endif  /* __ID3D10StateBlock_INTERFACE_DEFINED__ */
   5339 
   5340 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);
   5341 
   5342 HRESULT __stdcall  D3D10CreateEffectFromMemory(void *data,SIZE_T data_size,UINT flags,ID3D10Device *device,ID3D10EffectPool *effect_pool,ID3D10Effect **effect);
   5343 
   5344 HRESULT __stdcall  D3D10CreateEffectPoolFromMemory(void *data,SIZE_T data_size,UINT fx_flags,ID3D10Device *device,ID3D10EffectPool **effect_pool);
   5345 
   5346 HRESULT __stdcall  D3D10CreateStateBlock(ID3D10Device *device,D3D10_STATE_BLOCK_MASK *mask,ID3D10StateBlock **stateblock);
   5347 
   5348 HRESULT __stdcall  D3D10StateBlockMaskDifference(D3D10_STATE_BLOCK_MASK *mask_x,D3D10_STATE_BLOCK_MASK *mask_y,D3D10_STATE_BLOCK_MASK *result);
   5349 
   5350 HRESULT __stdcall  D3D10StateBlockMaskDisableAll(D3D10_STATE_BLOCK_MASK *mask);
   5351 
   5352 HRESULT __stdcall  D3D10StateBlockMaskDisableCapture(D3D10_STATE_BLOCK_MASK *mask,D3D10_DEVICE_STATE_TYPES state_type,UINT start_idx,UINT count);
   5353 
   5354 HRESULT __stdcall  D3D10StateBlockMaskEnableAll(D3D10_STATE_BLOCK_MASK *mask);
   5355 
   5356 HRESULT __stdcall  D3D10StateBlockMaskEnableCapture(D3D10_STATE_BLOCK_MASK *mask,D3D10_DEVICE_STATE_TYPES state_type,UINT start_idx,UINT count);
   5357 
   5358 WINBOOL __stdcall  D3D10StateBlockMaskGetSetting(D3D10_STATE_BLOCK_MASK *mask,D3D10_DEVICE_STATE_TYPES state_type,UINT idx);
   5359 
   5360 HRESULT __stdcall  D3D10StateBlockMaskIntersect(D3D10_STATE_BLOCK_MASK *mask_x,D3D10_STATE_BLOCK_MASK *mask_y,D3D10_STATE_BLOCK_MASK *result);
   5361 
   5362 HRESULT __stdcall  D3D10StateBlockMaskUnion(D3D10_STATE_BLOCK_MASK *mask_x,D3D10_STATE_BLOCK_MASK *mask_y,D3D10_STATE_BLOCK_MASK *result);
   5363 
   5364 /* Begin additional prototypes for all interfaces */
   5365 
   5366 
   5367 /* End additional prototypes */
   5368 
   5369 #ifdef __cplusplus
   5370 }
   5371 #endif
   5372 
   5373 #endif /* __d3d10effect_h__ */