master
  1/*** Autogenerated by WIDL 10.4 from include/d3d10shader.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 __d3d10shader_h__
 17#define __d3d10shader_h__
 18
 19/* Forward declarations */
 20
 21#ifndef __ID3D10ShaderReflectionType_FWD_DEFINED__
 22#define __ID3D10ShaderReflectionType_FWD_DEFINED__
 23typedef interface ID3D10ShaderReflectionType ID3D10ShaderReflectionType;
 24#ifdef __cplusplus
 25interface ID3D10ShaderReflectionType;
 26#endif /* __cplusplus */
 27#endif
 28
 29#ifndef __ID3D10ShaderReflectionVariable_FWD_DEFINED__
 30#define __ID3D10ShaderReflectionVariable_FWD_DEFINED__
 31typedef interface ID3D10ShaderReflectionVariable ID3D10ShaderReflectionVariable;
 32#ifdef __cplusplus
 33interface ID3D10ShaderReflectionVariable;
 34#endif /* __cplusplus */
 35#endif
 36
 37#ifndef __ID3D10ShaderReflectionConstantBuffer_FWD_DEFINED__
 38#define __ID3D10ShaderReflectionConstantBuffer_FWD_DEFINED__
 39typedef interface ID3D10ShaderReflectionConstantBuffer ID3D10ShaderReflectionConstantBuffer;
 40#ifdef __cplusplus
 41interface ID3D10ShaderReflectionConstantBuffer;
 42#endif /* __cplusplus */
 43#endif
 44
 45#ifndef __ID3D10ShaderReflection_FWD_DEFINED__
 46#define __ID3D10ShaderReflection_FWD_DEFINED__
 47typedef interface ID3D10ShaderReflection ID3D10ShaderReflection;
 48#ifdef __cplusplus
 49interface ID3D10ShaderReflection;
 50#endif /* __cplusplus */
 51#endif
 52
 53/* Headers for imported files */
 54
 55#include <d3d10.h>
 56
 57#ifdef __cplusplus
 58extern "C" {
 59#endif
 60
 61#define D3D10_SHADER_DEBUG (0x1)
 62
 63#define D3D10_SHADER_SKIP_VALIDATION (0x2)
 64
 65#define D3D10_SHADER_SKIP_OPTIMIZATION (0x4)
 66
 67#define D3D10_SHADER_PACK_MATRIX_ROW_MAJOR (0x8)
 68
 69#define D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR (0x10)
 70
 71#define D3D10_SHADER_PARTIAL_PRECISION (0x20)
 72
 73#define D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT (0x40)
 74
 75#define D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT (0x80)
 76
 77#define D3D10_SHADER_NO_PRESHADER (0x100)
 78
 79#define D3D10_SHADER_AVOID_FLOW_CONTROL (0x200)
 80
 81#define D3D10_SHADER_PREFER_FLOW_CONTROL (0x400)
 82
 83#define D3D10_SHADER_ENABLE_STRICTNESS (0x800)
 84
 85#define D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY (0x1000)
 86
 87#define D3D10_SHADER_IEEE_STRICTNESS (0x2000)
 88
 89#define D3D10_SHADER_WARNINGS_ARE_ERRORS (0x40000)
 90
 91#define D3D10_SHADER_OPTIMIZATION_LEVEL0 (0x4000)
 92
 93#define D3D10_SHADER_OPTIMIZATION_LEVEL1 (0x0)
 94
 95#define D3D10_SHADER_OPTIMIZATION_LEVEL2 (0xc000)
 96
 97#define D3D10_SHADER_OPTIMIZATION_LEVEL3 (0x8000)
 98
 99typedef D3D_SHADER_MACRO D3D10_SHADER_MACRO;
100typedef D3D_SHADER_MACRO *LPD3D10_SHADER_MACRO;
101typedef D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS;
102typedef D3D_SHADER_VARIABLE_CLASS *LPD3D10_SHADER_VARIABLE_CLASS;
103typedef D3D_CBUFFER_TYPE D3D10_CBUFFER_TYPE;
104typedef D3D_CBUFFER_TYPE *LPD3D10_CBUFFER_TYPE;
105typedef D3D_REGISTER_COMPONENT_TYPE D3D10_REGISTER_COMPONENT_TYPE;
106typedef D3D_RESOURCE_RETURN_TYPE D3D10_RESOURCE_RETURN_TYPE;
107typedef D3D_NAME D3D10_NAME;
108typedef D3D_SHADER_INPUT_TYPE D3D10_SHADER_INPUT_TYPE;
109typedef D3D_SHADER_INPUT_TYPE *LPD3D10_SHADER_INPUT_TYPE;
110typedef D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE;
111typedef D3D_SHADER_VARIABLE_TYPE *LPD3D10_SHADER_VARIABLE_TYPE;
112typedef D3D_INCLUDE_TYPE D3D10_INCLUDE_TYPE;
113typedef ID3DInclude ID3D10Include;
114typedef ID3DInclude *LPD3D10INCLUDE;
115#define IID_ID3D10Include IID_ID3DInclude
116typedef struct _D3D10_SHADER_INPUT_BIND_DESC {
117    const char *Name;
118    D3D10_SHADER_INPUT_TYPE Type;
119    UINT BindPoint;
120    UINT BindCount;
121    UINT uFlags;
122    D3D10_RESOURCE_RETURN_TYPE ReturnType;
123    D3D10_SRV_DIMENSION Dimension;
124    UINT NumSamples;
125} D3D10_SHADER_INPUT_BIND_DESC;
126typedef struct _D3D10_SIGNATURE_PARAMETER_DESC {
127    const char *SemanticName;
128    UINT SemanticIndex;
129    UINT Register;
130    D3D10_NAME SystemValueType;
131    D3D10_REGISTER_COMPONENT_TYPE ComponentType;
132    BYTE Mask;
133    BYTE ReadWriteMask;
134} D3D10_SIGNATURE_PARAMETER_DESC;
135typedef struct _D3D10_SHADER_DESC {
136    UINT Version;
137    const char *Creator;
138    UINT Flags;
139    UINT ConstantBuffers;
140    UINT BoundResources;
141    UINT InputParameters;
142    UINT OutputParameters;
143    UINT InstructionCount;
144    UINT TempRegisterCount;
145    UINT TempArrayCount;
146    UINT DefCount;
147    UINT DclCount;
148    UINT TextureNormalInstructions;
149    UINT TextureLoadInstructions;
150    UINT TextureCompInstructions;
151    UINT TextureBiasInstructions;
152    UINT TextureGradientInstructions;
153    UINT FloatInstructionCount;
154    UINT IntInstructionCount;
155    UINT UintInstructionCount;
156    UINT StaticFlowControlCount;
157    UINT DynamicFlowControlCount;
158    UINT MacroInstructionCount;
159    UINT ArrayInstructionCount;
160    UINT CutInstructionCount;
161    UINT EmitInstructionCount;
162    D3D10_PRIMITIVE_TOPOLOGY GSOutputTopology;
163    UINT GSMaxOutputVertexCount;
164} D3D10_SHADER_DESC;
165typedef struct _D3D10_SHADER_BUFFER_DESC {
166    const char *Name;
167    D3D10_CBUFFER_TYPE Type;
168    UINT Variables;
169    UINT Size;
170    UINT uFlags;
171} D3D10_SHADER_BUFFER_DESC;
172typedef struct _D3D10_SHADER_VARIABLE_DESC {
173    const char *Name;
174    UINT StartOffset;
175    UINT Size;
176    UINT uFlags;
177    void *DefaultValue;
178} D3D10_SHADER_VARIABLE_DESC;
179typedef struct _D3D10_SHADER_TYPE_DESC {
180    D3D10_SHADER_VARIABLE_CLASS Class;
181    D3D10_SHADER_VARIABLE_TYPE Type;
182    UINT Rows;
183    UINT Columns;
184    UINT Elements;
185    UINT Members;
186    UINT Offset;
187} D3D10_SHADER_TYPE_DESC;
188/*****************************************************************************
189 * ID3D10ShaderReflectionType interface
190 */
191#ifndef __ID3D10ShaderReflectionType_INTERFACE_DEFINED__
192#define __ID3D10ShaderReflectionType_INTERFACE_DEFINED__
193
194DEFINE_GUID(IID_ID3D10ShaderReflectionType, 0xc530ad7d, 0x9b16, 0x4395, 0xa9,0x79, 0xba,0x2e,0xcf,0xf8,0x3a,0xdd);
195#if defined(__cplusplus) && !defined(CINTERFACE)
196MIDL_INTERFACE("c530ad7d-9b16-4395-a979-ba2ecff83add")
197ID3D10ShaderReflectionType
198{
199
200    BEGIN_INTERFACE
201
202    virtual HRESULT STDMETHODCALLTYPE GetDesc(
203        D3D10_SHADER_TYPE_DESC *desc) = 0;
204
205    virtual ID3D10ShaderReflectionType * STDMETHODCALLTYPE GetMemberTypeByIndex(
206        UINT index) = 0;
207
208    virtual ID3D10ShaderReflectionType * STDMETHODCALLTYPE GetMemberTypeByName(
209        const char *name) = 0;
210
211    virtual const char * STDMETHODCALLTYPE GetMemberTypeName(
212        UINT index) = 0;
213
214    END_INTERFACE
215
216};
217#ifdef __CRT_UUID_DECL
218__CRT_UUID_DECL(ID3D10ShaderReflectionType, 0xc530ad7d, 0x9b16, 0x4395, 0xa9,0x79, 0xba,0x2e,0xcf,0xf8,0x3a,0xdd)
219#endif
220#else
221typedef struct ID3D10ShaderReflectionTypeVtbl {
222    BEGIN_INTERFACE
223
224    /*** ID3D10ShaderReflectionType methods ***/
225    HRESULT (STDMETHODCALLTYPE *GetDesc)(
226        ID3D10ShaderReflectionType *This,
227        D3D10_SHADER_TYPE_DESC *desc);
228
229    ID3D10ShaderReflectionType * (STDMETHODCALLTYPE *GetMemberTypeByIndex)(
230        ID3D10ShaderReflectionType *This,
231        UINT index);
232
233    ID3D10ShaderReflectionType * (STDMETHODCALLTYPE *GetMemberTypeByName)(
234        ID3D10ShaderReflectionType *This,
235        const char *name);
236
237    const char * (STDMETHODCALLTYPE *GetMemberTypeName)(
238        ID3D10ShaderReflectionType *This,
239        UINT index);
240
241    END_INTERFACE
242} ID3D10ShaderReflectionTypeVtbl;
243
244interface ID3D10ShaderReflectionType {
245    CONST_VTBL ID3D10ShaderReflectionTypeVtbl* lpVtbl;
246};
247
248#ifdef COBJMACROS
249#ifndef WIDL_C_INLINE_WRAPPERS
250/*** ID3D10ShaderReflectionType methods ***/
251#define ID3D10ShaderReflectionType_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
252#define ID3D10ShaderReflectionType_GetMemberTypeByIndex(This,index) (This)->lpVtbl->GetMemberTypeByIndex(This,index)
253#define ID3D10ShaderReflectionType_GetMemberTypeByName(This,name) (This)->lpVtbl->GetMemberTypeByName(This,name)
254#define ID3D10ShaderReflectionType_GetMemberTypeName(This,index) (This)->lpVtbl->GetMemberTypeName(This,index)
255#else
256/*** ID3D10ShaderReflectionType methods ***/
257static inline HRESULT ID3D10ShaderReflectionType_GetDesc(ID3D10ShaderReflectionType* This,D3D10_SHADER_TYPE_DESC *desc) {
258    return This->lpVtbl->GetDesc(This,desc);
259}
260static inline ID3D10ShaderReflectionType * ID3D10ShaderReflectionType_GetMemberTypeByIndex(ID3D10ShaderReflectionType* This,UINT index) {
261    return This->lpVtbl->GetMemberTypeByIndex(This,index);
262}
263static inline ID3D10ShaderReflectionType * ID3D10ShaderReflectionType_GetMemberTypeByName(ID3D10ShaderReflectionType* This,const char *name) {
264    return This->lpVtbl->GetMemberTypeByName(This,name);
265}
266static inline const char * ID3D10ShaderReflectionType_GetMemberTypeName(ID3D10ShaderReflectionType* This,UINT index) {
267    return This->lpVtbl->GetMemberTypeName(This,index);
268}
269#endif
270#endif
271
272#endif
273
274
275#endif  /* __ID3D10ShaderReflectionType_INTERFACE_DEFINED__ */
276
277/*****************************************************************************
278 * ID3D10ShaderReflectionVariable interface
279 */
280#ifndef __ID3D10ShaderReflectionVariable_INTERFACE_DEFINED__
281#define __ID3D10ShaderReflectionVariable_INTERFACE_DEFINED__
282
283DEFINE_GUID(IID_ID3D10ShaderReflectionVariable, 0x1bf63c95, 0x2650, 0x405d, 0x99,0xc1, 0x36,0x36,0xbd,0x1d,0xa0,0xa1);
284#if defined(__cplusplus) && !defined(CINTERFACE)
285MIDL_INTERFACE("1bf63c95-2650-405d-99c1-3636bd1da0a1")
286ID3D10ShaderReflectionVariable
287{
288
289    BEGIN_INTERFACE
290
291    virtual HRESULT STDMETHODCALLTYPE GetDesc(
292        D3D10_SHADER_VARIABLE_DESC *desc) = 0;
293
294    virtual ID3D10ShaderReflectionType * STDMETHODCALLTYPE GetType(
295        ) = 0;
296
297    END_INTERFACE
298
299};
300#ifdef __CRT_UUID_DECL
301__CRT_UUID_DECL(ID3D10ShaderReflectionVariable, 0x1bf63c95, 0x2650, 0x405d, 0x99,0xc1, 0x36,0x36,0xbd,0x1d,0xa0,0xa1)
302#endif
303#else
304typedef struct ID3D10ShaderReflectionVariableVtbl {
305    BEGIN_INTERFACE
306
307    /*** ID3D10ShaderReflectionVariable methods ***/
308    HRESULT (STDMETHODCALLTYPE *GetDesc)(
309        ID3D10ShaderReflectionVariable *This,
310        D3D10_SHADER_VARIABLE_DESC *desc);
311
312    ID3D10ShaderReflectionType * (STDMETHODCALLTYPE *GetType)(
313        ID3D10ShaderReflectionVariable *This);
314
315    END_INTERFACE
316} ID3D10ShaderReflectionVariableVtbl;
317
318interface ID3D10ShaderReflectionVariable {
319    CONST_VTBL ID3D10ShaderReflectionVariableVtbl* lpVtbl;
320};
321
322#ifdef COBJMACROS
323#ifndef WIDL_C_INLINE_WRAPPERS
324/*** ID3D10ShaderReflectionVariable methods ***/
325#define ID3D10ShaderReflectionVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
326#define ID3D10ShaderReflectionVariable_GetType(This) (This)->lpVtbl->GetType(This)
327#else
328/*** ID3D10ShaderReflectionVariable methods ***/
329static inline HRESULT ID3D10ShaderReflectionVariable_GetDesc(ID3D10ShaderReflectionVariable* This,D3D10_SHADER_VARIABLE_DESC *desc) {
330    return This->lpVtbl->GetDesc(This,desc);
331}
332static inline ID3D10ShaderReflectionType * ID3D10ShaderReflectionVariable_GetType(ID3D10ShaderReflectionVariable* This) {
333    return This->lpVtbl->GetType(This);
334}
335#endif
336#endif
337
338#endif
339
340
341#endif  /* __ID3D10ShaderReflectionVariable_INTERFACE_DEFINED__ */
342
343/*****************************************************************************
344 * ID3D10ShaderReflectionConstantBuffer interface
345 */
346#ifndef __ID3D10ShaderReflectionConstantBuffer_INTERFACE_DEFINED__
347#define __ID3D10ShaderReflectionConstantBuffer_INTERFACE_DEFINED__
348
349DEFINE_GUID(IID_ID3D10ShaderReflectionConstantBuffer, 0x66c66a94, 0xdddd, 0x4b62, 0xa6,0x6a, 0xf0,0xda,0x33,0xc2,0xb4,0xd0);
350#if defined(__cplusplus) && !defined(CINTERFACE)
351MIDL_INTERFACE("66c66a94-dddd-4b62-a66a-f0da33c2b4d0")
352ID3D10ShaderReflectionConstantBuffer
353{
354
355    BEGIN_INTERFACE
356
357    virtual HRESULT STDMETHODCALLTYPE GetDesc(
358        D3D10_SHADER_BUFFER_DESC *desc) = 0;
359
360    virtual ID3D10ShaderReflectionVariable * STDMETHODCALLTYPE GetVariableByIndex(
361        UINT index) = 0;
362
363    virtual ID3D10ShaderReflectionVariable * STDMETHODCALLTYPE GetVariableByName(
364        const char *name) = 0;
365
366    END_INTERFACE
367
368};
369#ifdef __CRT_UUID_DECL
370__CRT_UUID_DECL(ID3D10ShaderReflectionConstantBuffer, 0x66c66a94, 0xdddd, 0x4b62, 0xa6,0x6a, 0xf0,0xda,0x33,0xc2,0xb4,0xd0)
371#endif
372#else
373typedef struct ID3D10ShaderReflectionConstantBufferVtbl {
374    BEGIN_INTERFACE
375
376    /*** ID3D10ShaderReflectionConstantBuffer methods ***/
377    HRESULT (STDMETHODCALLTYPE *GetDesc)(
378        ID3D10ShaderReflectionConstantBuffer *This,
379        D3D10_SHADER_BUFFER_DESC *desc);
380
381    ID3D10ShaderReflectionVariable * (STDMETHODCALLTYPE *GetVariableByIndex)(
382        ID3D10ShaderReflectionConstantBuffer *This,
383        UINT index);
384
385    ID3D10ShaderReflectionVariable * (STDMETHODCALLTYPE *GetVariableByName)(
386        ID3D10ShaderReflectionConstantBuffer *This,
387        const char *name);
388
389    END_INTERFACE
390} ID3D10ShaderReflectionConstantBufferVtbl;
391
392interface ID3D10ShaderReflectionConstantBuffer {
393    CONST_VTBL ID3D10ShaderReflectionConstantBufferVtbl* lpVtbl;
394};
395
396#ifdef COBJMACROS
397#ifndef WIDL_C_INLINE_WRAPPERS
398/*** ID3D10ShaderReflectionConstantBuffer methods ***/
399#define ID3D10ShaderReflectionConstantBuffer_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
400#define ID3D10ShaderReflectionConstantBuffer_GetVariableByIndex(This,index) (This)->lpVtbl->GetVariableByIndex(This,index)
401#define ID3D10ShaderReflectionConstantBuffer_GetVariableByName(This,name) (This)->lpVtbl->GetVariableByName(This,name)
402#else
403/*** ID3D10ShaderReflectionConstantBuffer methods ***/
404static inline HRESULT ID3D10ShaderReflectionConstantBuffer_GetDesc(ID3D10ShaderReflectionConstantBuffer* This,D3D10_SHADER_BUFFER_DESC *desc) {
405    return This->lpVtbl->GetDesc(This,desc);
406}
407static inline ID3D10ShaderReflectionVariable * ID3D10ShaderReflectionConstantBuffer_GetVariableByIndex(ID3D10ShaderReflectionConstantBuffer* This,UINT index) {
408    return This->lpVtbl->GetVariableByIndex(This,index);
409}
410static inline ID3D10ShaderReflectionVariable * ID3D10ShaderReflectionConstantBuffer_GetVariableByName(ID3D10ShaderReflectionConstantBuffer* This,const char *name) {
411    return This->lpVtbl->GetVariableByName(This,name);
412}
413#endif
414#endif
415
416#endif
417
418
419#endif  /* __ID3D10ShaderReflectionConstantBuffer_INTERFACE_DEFINED__ */
420
421/*****************************************************************************
422 * ID3D10ShaderReflection interface
423 */
424#ifndef __ID3D10ShaderReflection_INTERFACE_DEFINED__
425#define __ID3D10ShaderReflection_INTERFACE_DEFINED__
426
427DEFINE_GUID(IID_ID3D10ShaderReflection, 0xd40e20b6, 0xf8f7, 0x42ad, 0xab,0x20, 0x4b,0xaf,0x8f,0x15,0xdf,0xaa);
428#if defined(__cplusplus) && !defined(CINTERFACE)
429MIDL_INTERFACE("d40e20b6-f8f7-42ad-ab20-4baf8f15dfaa")
430ID3D10ShaderReflection : public IUnknown
431{
432    virtual HRESULT STDMETHODCALLTYPE GetDesc(
433        D3D10_SHADER_DESC *desc) = 0;
434
435    virtual ID3D10ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByIndex(
436        UINT index) = 0;
437
438    virtual ID3D10ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByName(
439        const char *name) = 0;
440
441    virtual HRESULT STDMETHODCALLTYPE GetResourceBindingDesc(
442        UINT index,
443        D3D10_SHADER_INPUT_BIND_DESC *desc) = 0;
444
445    virtual HRESULT STDMETHODCALLTYPE GetInputParameterDesc(
446        UINT index,
447        D3D10_SIGNATURE_PARAMETER_DESC *desc) = 0;
448
449    virtual HRESULT STDMETHODCALLTYPE GetOutputParameterDesc(
450        UINT index,
451        D3D10_SIGNATURE_PARAMETER_DESC *desc) = 0;
452
453};
454#ifdef __CRT_UUID_DECL
455__CRT_UUID_DECL(ID3D10ShaderReflection, 0xd40e20b6, 0xf8f7, 0x42ad, 0xab,0x20, 0x4b,0xaf,0x8f,0x15,0xdf,0xaa)
456#endif
457#else
458typedef struct ID3D10ShaderReflectionVtbl {
459    BEGIN_INTERFACE
460
461    /*** IUnknown methods ***/
462    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
463        ID3D10ShaderReflection *This,
464        REFIID riid,
465        void **ppvObject);
466
467    ULONG (STDMETHODCALLTYPE *AddRef)(
468        ID3D10ShaderReflection *This);
469
470    ULONG (STDMETHODCALLTYPE *Release)(
471        ID3D10ShaderReflection *This);
472
473    /*** ID3D10ShaderReflection methods ***/
474    HRESULT (STDMETHODCALLTYPE *GetDesc)(
475        ID3D10ShaderReflection *This,
476        D3D10_SHADER_DESC *desc);
477
478    ID3D10ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByIndex)(
479        ID3D10ShaderReflection *This,
480        UINT index);
481
482    ID3D10ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByName)(
483        ID3D10ShaderReflection *This,
484        const char *name);
485
486    HRESULT (STDMETHODCALLTYPE *GetResourceBindingDesc)(
487        ID3D10ShaderReflection *This,
488        UINT index,
489        D3D10_SHADER_INPUT_BIND_DESC *desc);
490
491    HRESULT (STDMETHODCALLTYPE *GetInputParameterDesc)(
492        ID3D10ShaderReflection *This,
493        UINT index,
494        D3D10_SIGNATURE_PARAMETER_DESC *desc);
495
496    HRESULT (STDMETHODCALLTYPE *GetOutputParameterDesc)(
497        ID3D10ShaderReflection *This,
498        UINT index,
499        D3D10_SIGNATURE_PARAMETER_DESC *desc);
500
501    END_INTERFACE
502} ID3D10ShaderReflectionVtbl;
503
504interface ID3D10ShaderReflection {
505    CONST_VTBL ID3D10ShaderReflectionVtbl* lpVtbl;
506};
507
508#ifdef COBJMACROS
509#ifndef WIDL_C_INLINE_WRAPPERS
510/*** IUnknown methods ***/
511#define ID3D10ShaderReflection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
512#define ID3D10ShaderReflection_AddRef(This) (This)->lpVtbl->AddRef(This)
513#define ID3D10ShaderReflection_Release(This) (This)->lpVtbl->Release(This)
514/*** ID3D10ShaderReflection methods ***/
515#define ID3D10ShaderReflection_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
516#define ID3D10ShaderReflection_GetConstantBufferByIndex(This,index) (This)->lpVtbl->GetConstantBufferByIndex(This,index)
517#define ID3D10ShaderReflection_GetConstantBufferByName(This,name) (This)->lpVtbl->GetConstantBufferByName(This,name)
518#define ID3D10ShaderReflection_GetResourceBindingDesc(This,index,desc) (This)->lpVtbl->GetResourceBindingDesc(This,index,desc)
519#define ID3D10ShaderReflection_GetInputParameterDesc(This,index,desc) (This)->lpVtbl->GetInputParameterDesc(This,index,desc)
520#define ID3D10ShaderReflection_GetOutputParameterDesc(This,index,desc) (This)->lpVtbl->GetOutputParameterDesc(This,index,desc)
521#else
522/*** IUnknown methods ***/
523static inline HRESULT ID3D10ShaderReflection_QueryInterface(ID3D10ShaderReflection* This,REFIID riid,void **ppvObject) {
524    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
525}
526static inline ULONG ID3D10ShaderReflection_AddRef(ID3D10ShaderReflection* This) {
527    return This->lpVtbl->AddRef(This);
528}
529static inline ULONG ID3D10ShaderReflection_Release(ID3D10ShaderReflection* This) {
530    return This->lpVtbl->Release(This);
531}
532/*** ID3D10ShaderReflection methods ***/
533static inline HRESULT ID3D10ShaderReflection_GetDesc(ID3D10ShaderReflection* This,D3D10_SHADER_DESC *desc) {
534    return This->lpVtbl->GetDesc(This,desc);
535}
536static inline ID3D10ShaderReflectionConstantBuffer * ID3D10ShaderReflection_GetConstantBufferByIndex(ID3D10ShaderReflection* This,UINT index) {
537    return This->lpVtbl->GetConstantBufferByIndex(This,index);
538}
539static inline ID3D10ShaderReflectionConstantBuffer * ID3D10ShaderReflection_GetConstantBufferByName(ID3D10ShaderReflection* This,const char *name) {
540    return This->lpVtbl->GetConstantBufferByName(This,name);
541}
542static inline HRESULT ID3D10ShaderReflection_GetResourceBindingDesc(ID3D10ShaderReflection* This,UINT index,D3D10_SHADER_INPUT_BIND_DESC *desc) {
543    return This->lpVtbl->GetResourceBindingDesc(This,index,desc);
544}
545static inline HRESULT ID3D10ShaderReflection_GetInputParameterDesc(ID3D10ShaderReflection* This,UINT index,D3D10_SIGNATURE_PARAMETER_DESC *desc) {
546    return This->lpVtbl->GetInputParameterDesc(This,index,desc);
547}
548static inline HRESULT ID3D10ShaderReflection_GetOutputParameterDesc(ID3D10ShaderReflection* This,UINT index,D3D10_SIGNATURE_PARAMETER_DESC *desc) {
549    return This->lpVtbl->GetOutputParameterDesc(This,index,desc);
550}
551#endif
552#endif
553
554#endif
555
556
557#endif  /* __ID3D10ShaderReflection_INTERFACE_DEFINED__ */
558
559HRESULT __stdcall  D3D10CompileShader(const char *data,SIZE_T data_size,const char *filename,const D3D10_SHADER_MACRO *defines,ID3D10Include *include,const char *entrypoint,const char *profile,UINT flags,ID3D10Blob **shader,ID3D10Blob **error_messages);
560
561HRESULT __stdcall  D3D10DisassembleShader(const void *data,SIZE_T data_size,WINBOOL color_code,const char *comments,ID3D10Blob **disassembly);
562
563const char * __stdcall  D3D10GetVertexShaderProfile(ID3D10Device *device);
564
565const char * __stdcall  D3D10GetGeometryShaderProfile(ID3D10Device *device);
566
567const char * __stdcall  D3D10GetPixelShaderProfile(ID3D10Device *device);
568
569HRESULT __stdcall  D3D10ReflectShader(const void *data,SIZE_T data_size,ID3D10ShaderReflection **reflector);
570
571HRESULT __stdcall  D3D10GetInputSignatureBlob(const void *data,SIZE_T data_size,ID3D10Blob **blob);
572
573HRESULT __stdcall  D3D10GetOutputSignatureBlob(const void *data,SIZE_T data_size,ID3D10Blob **blob);
574
575HRESULT __stdcall  D3D10GetInputAndOutputSignatureBlob(const void *data,SIZE_T data_size,ID3D10Blob **blob);
576
577HRESULT __stdcall  D3D10GetShaderDebugInfo(const void *data,SIZE_T data_size,ID3D10Blob **blob);
578
579/* Begin additional prototypes for all interfaces */
580
581
582/* End additional prototypes */
583
584#ifdef __cplusplus
585}
586#endif
587
588#endif /* __d3d10shader_h__ */