1 /*-------------------------------------------------------------------------------------
2  *
3  * Copyright (c) Microsoft Corporation
4  *
5  *-------------------------------------------------------------------------------------*/
6 
7 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
8 
9  /* File created by MIDL compiler version 8.00.0613 */
10 /* @@MIDL_FILE_HEADING(  ) */
11 
12 /* verify that the <rpcndr.h> version is high enough to compile this file*/
13 #ifndef __REQUIRED_RPCNDR_H_VERSION__
14 #define __REQUIRED_RPCNDR_H_VERSION__ 475
15 #endif
16 
17 /* verify that the <rpcsal.h> version is high enough to compile this file*/
18 #ifndef __REQUIRED_RPCSAL_H_VERSION__
19 #define __REQUIRED_RPCSAL_H_VERSION__ 100
20 #endif
21 
22 #include "rpc.h"
23 #include "rpcndr.h"
24 
25 #ifndef __RPCNDR_H_VERSION__
26 #error this stub requires an updated version of <rpcndr.h>
27 #endif /* __RPCNDR_H_VERSION__ */
28 
29 #ifndef COM_NO_WINDOWS_H
30 #include "windows.h"
31 #include "ole2.h"
32 #endif /*COM_NO_WINDOWS_H*/
33 
34 #ifndef __d3d10_h__
35 #define __d3d10_h__
36 
37 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
38 #pragma once
39 #endif
40 
41 /* Forward Declarations */
42 
43 #ifndef __ID3D10DeviceChild_FWD_DEFINED__
44 #define __ID3D10DeviceChild_FWD_DEFINED__
45 typedef interface ID3D10DeviceChild ID3D10DeviceChild;
46 
47 #endif 	/* __ID3D10DeviceChild_FWD_DEFINED__ */
48 
49 #ifndef __ID3D10DepthStencilState_FWD_DEFINED__
50 #define __ID3D10DepthStencilState_FWD_DEFINED__
51 typedef interface ID3D10DepthStencilState ID3D10DepthStencilState;
52 
53 #endif 	/* __ID3D10DepthStencilState_FWD_DEFINED__ */
54 
55 #ifndef __ID3D10BlendState_FWD_DEFINED__
56 #define __ID3D10BlendState_FWD_DEFINED__
57 typedef interface ID3D10BlendState ID3D10BlendState;
58 
59 #endif 	/* __ID3D10BlendState_FWD_DEFINED__ */
60 
61 #ifndef __ID3D10RasterizerState_FWD_DEFINED__
62 #define __ID3D10RasterizerState_FWD_DEFINED__
63 typedef interface ID3D10RasterizerState ID3D10RasterizerState;
64 
65 #endif 	/* __ID3D10RasterizerState_FWD_DEFINED__ */
66 
67 #ifndef __ID3D10Resource_FWD_DEFINED__
68 #define __ID3D10Resource_FWD_DEFINED__
69 typedef interface ID3D10Resource ID3D10Resource;
70 
71 #endif 	/* __ID3D10Resource_FWD_DEFINED__ */
72 
73 #ifndef __ID3D10Buffer_FWD_DEFINED__
74 #define __ID3D10Buffer_FWD_DEFINED__
75 typedef interface ID3D10Buffer ID3D10Buffer;
76 
77 #endif 	/* __ID3D10Buffer_FWD_DEFINED__ */
78 
79 #ifndef __ID3D10Texture1D_FWD_DEFINED__
80 #define __ID3D10Texture1D_FWD_DEFINED__
81 typedef interface ID3D10Texture1D ID3D10Texture1D;
82 
83 #endif 	/* __ID3D10Texture1D_FWD_DEFINED__ */
84 
85 #ifndef __ID3D10Texture2D_FWD_DEFINED__
86 #define __ID3D10Texture2D_FWD_DEFINED__
87 typedef interface ID3D10Texture2D ID3D10Texture2D;
88 
89 #endif 	/* __ID3D10Texture2D_FWD_DEFINED__ */
90 
91 #ifndef __ID3D10Texture3D_FWD_DEFINED__
92 #define __ID3D10Texture3D_FWD_DEFINED__
93 typedef interface ID3D10Texture3D ID3D10Texture3D;
94 
95 #endif 	/* __ID3D10Texture3D_FWD_DEFINED__ */
96 
97 #ifndef __ID3D10View_FWD_DEFINED__
98 #define __ID3D10View_FWD_DEFINED__
99 typedef interface ID3D10View ID3D10View;
100 
101 #endif 	/* __ID3D10View_FWD_DEFINED__ */
102 
103 #ifndef __ID3D10ShaderResourceView_FWD_DEFINED__
104 #define __ID3D10ShaderResourceView_FWD_DEFINED__
105 typedef interface ID3D10ShaderResourceView ID3D10ShaderResourceView;
106 
107 #endif 	/* __ID3D10ShaderResourceView_FWD_DEFINED__ */
108 
109 #ifndef __ID3D10RenderTargetView_FWD_DEFINED__
110 #define __ID3D10RenderTargetView_FWD_DEFINED__
111 typedef interface ID3D10RenderTargetView ID3D10RenderTargetView;
112 
113 #endif 	/* __ID3D10RenderTargetView_FWD_DEFINED__ */
114 
115 #ifndef __ID3D10DepthStencilView_FWD_DEFINED__
116 #define __ID3D10DepthStencilView_FWD_DEFINED__
117 typedef interface ID3D10DepthStencilView ID3D10DepthStencilView;
118 
119 #endif 	/* __ID3D10DepthStencilView_FWD_DEFINED__ */
120 
121 #ifndef __ID3D10VertexShader_FWD_DEFINED__
122 #define __ID3D10VertexShader_FWD_DEFINED__
123 typedef interface ID3D10VertexShader ID3D10VertexShader;
124 
125 #endif 	/* __ID3D10VertexShader_FWD_DEFINED__ */
126 
127 #ifndef __ID3D10GeometryShader_FWD_DEFINED__
128 #define __ID3D10GeometryShader_FWD_DEFINED__
129 typedef interface ID3D10GeometryShader ID3D10GeometryShader;
130 
131 #endif 	/* __ID3D10GeometryShader_FWD_DEFINED__ */
132 
133 #ifndef __ID3D10PixelShader_FWD_DEFINED__
134 #define __ID3D10PixelShader_FWD_DEFINED__
135 typedef interface ID3D10PixelShader ID3D10PixelShader;
136 
137 #endif 	/* __ID3D10PixelShader_FWD_DEFINED__ */
138 
139 #ifndef __ID3D10InputLayout_FWD_DEFINED__
140 #define __ID3D10InputLayout_FWD_DEFINED__
141 typedef interface ID3D10InputLayout ID3D10InputLayout;
142 
143 #endif 	/* __ID3D10InputLayout_FWD_DEFINED__ */
144 
145 #ifndef __ID3D10SamplerState_FWD_DEFINED__
146 #define __ID3D10SamplerState_FWD_DEFINED__
147 typedef interface ID3D10SamplerState ID3D10SamplerState;
148 
149 #endif 	/* __ID3D10SamplerState_FWD_DEFINED__ */
150 
151 #ifndef __ID3D10Asynchronous_FWD_DEFINED__
152 #define __ID3D10Asynchronous_FWD_DEFINED__
153 typedef interface ID3D10Asynchronous ID3D10Asynchronous;
154 
155 #endif 	/* __ID3D10Asynchronous_FWD_DEFINED__ */
156 
157 #ifndef __ID3D10Query_FWD_DEFINED__
158 #define __ID3D10Query_FWD_DEFINED__
159 typedef interface ID3D10Query ID3D10Query;
160 
161 #endif 	/* __ID3D10Query_FWD_DEFINED__ */
162 
163 #ifndef __ID3D10Predicate_FWD_DEFINED__
164 #define __ID3D10Predicate_FWD_DEFINED__
165 typedef interface ID3D10Predicate ID3D10Predicate;
166 
167 #endif 	/* __ID3D10Predicate_FWD_DEFINED__ */
168 
169 #ifndef __ID3D10Counter_FWD_DEFINED__
170 #define __ID3D10Counter_FWD_DEFINED__
171 typedef interface ID3D10Counter ID3D10Counter;
172 
173 #endif 	/* __ID3D10Counter_FWD_DEFINED__ */
174 
175 #ifndef __ID3D10Device_FWD_DEFINED__
176 #define __ID3D10Device_FWD_DEFINED__
177 typedef interface ID3D10Device ID3D10Device;
178 
179 #endif 	/* __ID3D10Device_FWD_DEFINED__ */
180 
181 #ifndef __ID3D10Multithread_FWD_DEFINED__
182 #define __ID3D10Multithread_FWD_DEFINED__
183 typedef interface ID3D10Multithread ID3D10Multithread;
184 
185 #endif 	/* __ID3D10Multithread_FWD_DEFINED__ */
186 
187 /* header files for imported files */
188 #include "oaidl.h"
189 #include "ocidl.h"
190 #include "dxgi.h"
191 #include "d3dcommon.h"
192 
193 #ifdef __cplusplus
194 extern "C"{
195 #endif
196 
197 /* interface __MIDL_itf_d3d10_0000_0000 */
198 /* [local] */
199 
200 #ifndef _D3D10_CONSTANTS
201 #define _D3D10_CONSTANTS
202 #define	D3D10_16BIT_INDEX_STRIP_CUT_VALUE	( 0xffff )
203 
204 #define	D3D10_32BIT_INDEX_STRIP_CUT_VALUE	( 0xffffffff )
205 
206 #define	D3D10_8BIT_INDEX_STRIP_CUT_VALUE	( 0xff )
207 
208 #define	D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT	( 9 )
209 
210 #define	D3D10_CLIP_OR_CULL_DISTANCE_COUNT	( 8 )
211 
212 #define	D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT	( 2 )
213 
214 #define	D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT	( 14 )
215 
216 #define	D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS	( 4 )
217 
218 #define	D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT	( 32 )
219 
220 #define	D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT	( 15 )
221 
222 #define	D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS	( 4 )
223 
224 #define	D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT	( 15 )
225 
226 #define	D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST	( 1 )
227 
228 #define	D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS	( 1 )
229 
230 #define	D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT	( 64 )
231 
232 #define	D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS	( 4 )
233 
234 #define	D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT	( 1 )
235 
236 #define	D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST	( 1 )
237 
238 #define	D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS	( 1 )
239 
240 #define	D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT	( 32 )
241 
242 #define	D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS	( 1 )
243 
244 #define	D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT	( 128 )
245 
246 #define	D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST	( 1 )
247 
248 #define	D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS	( 1 )
249 
250 #define	D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT	( 128 )
251 
252 #define	D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS	( 1 )
253 
254 #define	D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT	( 16 )
255 
256 #define	D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST	( 1 )
257 
258 #define	D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS	( 1 )
259 
260 #define	D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT	( 16 )
261 
262 #define	D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT	( 32 )
263 
264 #define	D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS	( 4 )
265 
266 #define	D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT	( 32 )
267 
268 #define	D3D10_COMMONSHADER_TEMP_REGISTER_COUNT	( 4096 )
269 
270 #define	D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST	( 3 )
271 
272 #define	D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS	( 3 )
273 
274 #define	D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX	( 10 )
275 
276 #define	D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN	( -10 )
277 
278 #define	D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE	( -8 )
279 
280 #define	D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE	( 7 )
281 
282 #define D3D10_DEFAULT_BLEND_FACTOR_ALPHA	( 1.0f )
283 #define D3D10_DEFAULT_BLEND_FACTOR_BLUE	( 1.0f )
284 #define D3D10_DEFAULT_BLEND_FACTOR_GREEN	( 1.0f )
285 #define D3D10_DEFAULT_BLEND_FACTOR_RED	( 1.0f )
286 #define D3D10_DEFAULT_BORDER_COLOR_COMPONENT	( 0.0f )
287 #define	D3D10_DEFAULT_DEPTH_BIAS	( 0 )
288 
289 #define D3D10_DEFAULT_DEPTH_BIAS_CLAMP	( 0.0f )
290 #define D3D10_DEFAULT_MAX_ANISOTROPY	( 16.0f )
291 #define D3D10_DEFAULT_MIP_LOD_BIAS	( 0.0f )
292 #define	D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX	( 0 )
293 
294 #define	D3D10_DEFAULT_SAMPLE_MASK	( 0xffffffff )
295 
296 #define	D3D10_DEFAULT_SCISSOR_ENDX	( 0 )
297 
298 #define	D3D10_DEFAULT_SCISSOR_ENDY	( 0 )
299 
300 #define	D3D10_DEFAULT_SCISSOR_STARTX	( 0 )
301 
302 #define	D3D10_DEFAULT_SCISSOR_STARTY	( 0 )
303 
304 #define D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS	( 0.0f )
305 #define	D3D10_DEFAULT_STENCIL_READ_MASK	( 0xff )
306 
307 #define	D3D10_DEFAULT_STENCIL_REFERENCE	( 0 )
308 
309 #define	D3D10_DEFAULT_STENCIL_WRITE_MASK	( 0xff )
310 
311 #define	D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX	( 0 )
312 
313 #define	D3D10_DEFAULT_VIEWPORT_HEIGHT	( 0 )
314 
315 #define D3D10_DEFAULT_VIEWPORT_MAX_DEPTH	( 0.0f )
316 #define D3D10_DEFAULT_VIEWPORT_MIN_DEPTH	( 0.0f )
317 #define	D3D10_DEFAULT_VIEWPORT_TOPLEFTX	( 0 )
318 
319 #define	D3D10_DEFAULT_VIEWPORT_TOPLEFTY	( 0 )
320 
321 #define	D3D10_DEFAULT_VIEWPORT_WIDTH	( 0 )
322 
323 #define D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP	( 0.6 )
324 #define D3D10_FLOAT32_MAX	( 3.402823466e+38f )
325 #define D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP	( 0.6f )
326 #define D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR	( 2.4f )
327 #define D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR	( 1.0f )
328 #define D3D10_FLOAT_TO_SRGB_OFFSET	( 0.055f )
329 #define D3D10_FLOAT_TO_SRGB_SCALE_1	( 12.92f )
330 #define D3D10_FLOAT_TO_SRGB_SCALE_2	( 1.055f )
331 #define D3D10_FLOAT_TO_SRGB_THRESHOLD	( 0.0031308f )
332 #define D3D10_FTOI_INSTRUCTION_MAX_INPUT	( 2147483647.999f )
333 #define D3D10_FTOI_INSTRUCTION_MIN_INPUT	( -2147483648.999f )
334 #define D3D10_FTOU_INSTRUCTION_MAX_INPUT	( 4294967295.999f )
335 #define D3D10_FTOU_INSTRUCTION_MIN_INPUT	( 0.0f )
336 #define	D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS	( 1 )
337 
338 #define	D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT	( 32 )
339 
340 #define	D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT	( 1 )
341 
342 #define	D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST	( 2 )
343 
344 #define	D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS	( 1 )
345 
346 #define	D3D10_GS_INPUT_REGISTER_COMPONENTS	( 4 )
347 
348 #define	D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT	( 32 )
349 
350 #define	D3D10_GS_INPUT_REGISTER_COUNT	( 16 )
351 
352 #define	D3D10_GS_INPUT_REGISTER_READS_PER_INST	( 2 )
353 
354 #define	D3D10_GS_INPUT_REGISTER_READ_PORTS	( 1 )
355 
356 #define	D3D10_GS_INPUT_REGISTER_VERTICES	( 6 )
357 
358 #define	D3D10_GS_OUTPUT_ELEMENTS	( 32 )
359 
360 #define	D3D10_GS_OUTPUT_REGISTER_COMPONENTS	( 4 )
361 
362 #define	D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT	( 32 )
363 
364 #define	D3D10_GS_OUTPUT_REGISTER_COUNT	( 32 )
365 
366 #define	D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES	( 0 )
367 
368 #define	D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY	( 0 )
369 
370 #define	D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES	( 0 )
371 
372 #define	D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT	( 1 )
373 
374 #define	D3D10_IA_INSTANCE_ID_BIT_COUNT	( 32 )
375 
376 #define	D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT	( 32 )
377 
378 #define	D3D10_IA_PRIMITIVE_ID_BIT_COUNT	( 32 )
379 
380 #define	D3D10_IA_VERTEX_ID_BIT_COUNT	( 32 )
381 
382 #define	D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT	( 16 )
383 
384 #define	D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS	( 64 )
385 
386 #define	D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT	( 16 )
387 
388 #define	D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT	( 0xffffffff )
389 
390 #define	D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER	( 0xffffffff )
391 
392 #define D3D10_LINEAR_GAMMA	( 1.0f )
393 #define D3D10_MAX_BORDER_COLOR_COMPONENT	( 1.0f )
394 #define D3D10_MAX_DEPTH	( 1.0f )
395 #define	D3D10_MAX_MAXANISOTROPY	( 16 )
396 
397 #define	D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT	( 32 )
398 
399 #define D3D10_MAX_POSITION_VALUE	( 3.402823466e+34f )
400 #define	D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP	( 17 )
401 
402 #define D3D10_MIN_BORDER_COLOR_COMPONENT	( 0.0f )
403 #define D3D10_MIN_DEPTH	( 0.0f )
404 #define	D3D10_MIN_MAXANISOTROPY	( 0 )
405 
406 #define D3D10_MIP_LOD_BIAS_MAX	( 15.99f )
407 #define D3D10_MIP_LOD_BIAS_MIN	( -16.0f )
408 #define	D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT	( 6 )
409 
410 #define	D3D10_MIP_LOD_RANGE_BIT_COUNT	( 8 )
411 
412 #define D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH	( 1.4f )
413 #define	D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT	( 0 )
414 
415 #define	D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT	( 13 )
416 
417 #define	D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT	( 15 )
418 
419 #define	D3D10_PS_FRONTFACING_DEFAULT_VALUE	( 0xffffffff )
420 
421 #define	D3D10_PS_FRONTFACING_FALSE_VALUE	( 0 )
422 
423 #define	D3D10_PS_FRONTFACING_TRUE_VALUE	( 0xffffffff )
424 
425 #define	D3D10_PS_INPUT_REGISTER_COMPONENTS	( 4 )
426 
427 #define	D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT	( 32 )
428 
429 #define	D3D10_PS_INPUT_REGISTER_COUNT	( 32 )
430 
431 #define	D3D10_PS_INPUT_REGISTER_READS_PER_INST	( 2 )
432 
433 #define	D3D10_PS_INPUT_REGISTER_READ_PORTS	( 1 )
434 
435 #define D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT	( 0.0f )
436 #define	D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS	( 1 )
437 
438 #define	D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT	( 32 )
439 
440 #define	D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT	( 1 )
441 
442 #define	D3D10_PS_OUTPUT_REGISTER_COMPONENTS	( 4 )
443 
444 #define	D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT	( 32 )
445 
446 #define	D3D10_PS_OUTPUT_REGISTER_COUNT	( 8 )
447 
448 #define D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT	( 0.5f )
449 #define	D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT	( 4096 )
450 
451 #define	D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP	( 27 )
452 
453 #define	D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT	( 4096 )
454 
455 #define	D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT	( 4096 )
456 
457 #define	D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP	( 32 )
458 
459 #define	D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP	( 32 )
460 
461 #define	D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION	( 8192 )
462 
463 #define	D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT	( 1024 )
464 
465 #define	D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT	( 4096 )
466 
467 #define	D3D10_REQ_MAXANISOTROPY	( 16 )
468 
469 #define	D3D10_REQ_MIP_LEVELS	( 14 )
470 
471 #define	D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES	( 2048 )
472 
473 #define	D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT	( 4096 )
474 
475 #define	D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH	( 8192 )
476 
477 #define	D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES	( 128 )
478 
479 #define	D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP	( 20 )
480 
481 #define	D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT	( 4096 )
482 
483 #define	D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION	( 512 )
484 
485 #define	D3D10_REQ_TEXTURE1D_U_DIMENSION	( 8192 )
486 
487 #define	D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION	( 512 )
488 
489 #define	D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION	( 8192 )
490 
491 #define	D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION	( 2048 )
492 
493 #define	D3D10_REQ_TEXTURECUBE_DIMENSION	( 8192 )
494 
495 #define	D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL	( 0 )
496 
497 #define	D3D10_SHADER_MAJOR_VERSION	( 4 )
498 
499 #define	D3D10_SHADER_MINOR_VERSION	( 0 )
500 
501 #define	D3D10_SHIFT_INSTRUCTION_PAD_VALUE	( 0 )
502 
503 #define	D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT	( 5 )
504 
505 #define	D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT	( 8 )
506 
507 #define	D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES	( 2048 )
508 
509 #define	D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES	( 256 )
510 
511 #define	D3D10_SO_BUFFER_SLOT_COUNT	( 4 )
512 
513 #define	D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP	( 0xffffffff )
514 
515 #define	D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER	( 1 )
516 
517 #define	D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT	( 64 )
518 
519 #define D3D10_SRGB_GAMMA	( 2.2f )
520 #define D3D10_SRGB_TO_FLOAT_DENOMINATOR_1	( 12.92f )
521 #define D3D10_SRGB_TO_FLOAT_DENOMINATOR_2	( 1.055f )
522 #define D3D10_SRGB_TO_FLOAT_EXPONENT	( 2.4f )
523 #define D3D10_SRGB_TO_FLOAT_OFFSET	( 0.055f )
524 #define D3D10_SRGB_TO_FLOAT_THRESHOLD	( 0.04045f )
525 #define D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP	( 0.5f )
526 #define	D3D10_STANDARD_COMPONENT_BIT_COUNT	( 32 )
527 
528 #define	D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED	( 64 )
529 
530 #define	D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE	( 4 )
531 
532 #define	D3D10_STANDARD_PIXEL_COMPONENT_COUNT	( 128 )
533 
534 #define	D3D10_STANDARD_PIXEL_ELEMENT_COUNT	( 32 )
535 
536 #define	D3D10_STANDARD_VECTOR_SIZE	( 4 )
537 
538 #define	D3D10_STANDARD_VERTEX_ELEMENT_COUNT	( 16 )
539 
540 #define	D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT	( 64 )
541 
542 #define	D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT	( 8 )
543 
544 #define	D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT	( 6 )
545 
546 #define	D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT	( 18 )
547 
548 #define	D3D10_UNBOUND_MEMORY_ACCESS_RESULT	( 0 )
549 
550 #define	D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX	( 15 )
551 
552 #define	D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE	( 16 )
553 
554 #define	D3D10_VIEWPORT_BOUNDS_MAX	( 16383 )
555 
556 #define	D3D10_VIEWPORT_BOUNDS_MIN	( -16384 )
557 
558 #define	D3D10_VS_INPUT_REGISTER_COMPONENTS	( 4 )
559 
560 #define	D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT	( 32 )
561 
562 #define	D3D10_VS_INPUT_REGISTER_COUNT	( 16 )
563 
564 #define	D3D10_VS_INPUT_REGISTER_READS_PER_INST	( 2 )
565 
566 #define	D3D10_VS_INPUT_REGISTER_READ_PORTS	( 1 )
567 
568 #define	D3D10_VS_OUTPUT_REGISTER_COMPONENTS	( 4 )
569 
570 #define	D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT	( 32 )
571 
572 #define	D3D10_VS_OUTPUT_REGISTER_COUNT	( 16 )
573 
574 #define	D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT	( 10 )
575 
576 #define	D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP	( 25 )
577 
578 #define	D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP	( 25 )
579 
580 #define	D3D_MAJOR_VERSION	( 10 )
581 
582 #define	D3D_MINOR_VERSION	( 0 )
583 
584 #define	D3D_SPEC_DATE_DAY	( 8 )
585 
586 #define	D3D_SPEC_DATE_MONTH	( 8 )
587 
588 #define	D3D_SPEC_DATE_YEAR	( 2006 )
589 
590 #define D3D_SPEC_VERSION	( 1.050005 )
591 #endif
592 /*#include <winapifamily.h>*/
593 /*#pragma region Desktop Family*/
594 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
595 #if !defined( __d3d10_1_h__ ) && !(D3D10_HEADER_MINOR_VERSION >= 1)
596 #define D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT
597 #define D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT
598 #endif
599 #define	_FACD3D10	( 0x879 )
600 
601 #define	_FACD3D10DEBUG	( ( _FACD3D10 + 1 )  )
602 
603 #define MAKE_D3D10_HRESULT( code )  MAKE_HRESULT( 1, _FACD3D10, code )
604 #define MAKE_D3D10_STATUS( code )    MAKE_HRESULT( 0, _FACD3D10, code )
605 /* Direct3D errors are now found in winerror.h */
606 typedef
607 enum D3D10_INPUT_CLASSIFICATION
608     {
609         D3D10_INPUT_PER_VERTEX_DATA	= 0,
610         D3D10_INPUT_PER_INSTANCE_DATA	= 1
611     } 	D3D10_INPUT_CLASSIFICATION;
612 
613 #define	D3D10_APPEND_ALIGNED_ELEMENT	( 0xffffffff )
614 
615 typedef struct D3D10_INPUT_ELEMENT_DESC
616     {
617     LPCSTR SemanticName;
618     UINT SemanticIndex;
619     DXGI_FORMAT Format;
620     UINT InputSlot;
621     UINT AlignedByteOffset;
622     D3D10_INPUT_CLASSIFICATION InputSlotClass;
623     UINT InstanceDataStepRate;
624     } 	D3D10_INPUT_ELEMENT_DESC;
625 
626 typedef
627 enum D3D10_FILL_MODE
628     {
629         D3D10_FILL_WIREFRAME	= 2,
630         D3D10_FILL_SOLID	= 3
631     } 	D3D10_FILL_MODE;
632 
633 typedef D3D_PRIMITIVE_TOPOLOGY D3D10_PRIMITIVE_TOPOLOGY;
634 
635 typedef D3D_PRIMITIVE D3D10_PRIMITIVE;
636 
637 typedef
638 enum D3D10_CULL_MODE
639     {
640         D3D10_CULL_NONE	= 1,
641         D3D10_CULL_FRONT	= 2,
642         D3D10_CULL_BACK	= 3
643     } 	D3D10_CULL_MODE;
644 
645 typedef struct D3D10_SO_DECLARATION_ENTRY
646     {
647     LPCSTR SemanticName;
648     UINT SemanticIndex;
649     BYTE StartComponent;
650     BYTE ComponentCount;
651     BYTE OutputSlot;
652     } 	D3D10_SO_DECLARATION_ENTRY;
653 
654 typedef struct D3D10_VIEWPORT
655     {
656     INT TopLeftX;
657     INT TopLeftY;
658     UINT Width;
659     UINT Height;
660     FLOAT MinDepth;
661     FLOAT MaxDepth;
662     } 	D3D10_VIEWPORT;
663 
664 typedef
665 enum D3D10_RESOURCE_DIMENSION
666     {
667         D3D10_RESOURCE_DIMENSION_UNKNOWN	= 0,
668         D3D10_RESOURCE_DIMENSION_BUFFER	= 1,
669         D3D10_RESOURCE_DIMENSION_TEXTURE1D	= 2,
670         D3D10_RESOURCE_DIMENSION_TEXTURE2D	= 3,
671         D3D10_RESOURCE_DIMENSION_TEXTURE3D	= 4
672     } 	D3D10_RESOURCE_DIMENSION;
673 
674 typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION;
675 
676 typedef
677 enum D3D10_DSV_DIMENSION
678     {
679         D3D10_DSV_DIMENSION_UNKNOWN	= 0,
680         D3D10_DSV_DIMENSION_TEXTURE1D	= 1,
681         D3D10_DSV_DIMENSION_TEXTURE1DARRAY	= 2,
682         D3D10_DSV_DIMENSION_TEXTURE2D	= 3,
683         D3D10_DSV_DIMENSION_TEXTURE2DARRAY	= 4,
684         D3D10_DSV_DIMENSION_TEXTURE2DMS	= 5,
685         D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY	= 6
686     } 	D3D10_DSV_DIMENSION;
687 
688 typedef
689 enum D3D10_RTV_DIMENSION
690     {
691         D3D10_RTV_DIMENSION_UNKNOWN	= 0,
692         D3D10_RTV_DIMENSION_BUFFER	= 1,
693         D3D10_RTV_DIMENSION_TEXTURE1D	= 2,
694         D3D10_RTV_DIMENSION_TEXTURE1DARRAY	= 3,
695         D3D10_RTV_DIMENSION_TEXTURE2D	= 4,
696         D3D10_RTV_DIMENSION_TEXTURE2DARRAY	= 5,
697         D3D10_RTV_DIMENSION_TEXTURE2DMS	= 6,
698         D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY	= 7,
699         D3D10_RTV_DIMENSION_TEXTURE3D	= 8
700     } 	D3D10_RTV_DIMENSION;
701 
702 typedef
703 enum D3D10_USAGE
704     {
705         D3D10_USAGE_DEFAULT	= 0,
706         D3D10_USAGE_IMMUTABLE	= 1,
707         D3D10_USAGE_DYNAMIC	= 2,
708         D3D10_USAGE_STAGING	= 3
709     } 	D3D10_USAGE;
710 
711 typedef
712 enum D3D10_BIND_FLAG
713     {
714         D3D10_BIND_VERTEX_BUFFER	= 0x1L,
715         D3D10_BIND_INDEX_BUFFER	= 0x2L,
716         D3D10_BIND_CONSTANT_BUFFER	= 0x4L,
717         D3D10_BIND_SHADER_RESOURCE	= 0x8L,
718         D3D10_BIND_STREAM_OUTPUT	= 0x10L,
719         D3D10_BIND_RENDER_TARGET	= 0x20L,
720         D3D10_BIND_DEPTH_STENCIL	= 0x40L
721     } 	D3D10_BIND_FLAG;
722 
723 typedef
724 enum D3D10_CPU_ACCESS_FLAG
725     {
726         D3D10_CPU_ACCESS_WRITE	= 0x10000L,
727         D3D10_CPU_ACCESS_READ	= 0x20000L
728     } 	D3D10_CPU_ACCESS_FLAG;
729 
730 typedef
731 enum D3D10_RESOURCE_MISC_FLAG
732     {
733         D3D10_RESOURCE_MISC_GENERATE_MIPS	= 0x1L,
734         D3D10_RESOURCE_MISC_SHARED	= 0x2L,
735         D3D10_RESOURCE_MISC_TEXTURECUBE	= 0x4L,
736         D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX	= 0x10L,
737         D3D10_RESOURCE_MISC_GDI_COMPATIBLE	= 0x20L
738     } 	D3D10_RESOURCE_MISC_FLAG;
739 
740 typedef
741 enum D3D10_MAP
742     {
743         D3D10_MAP_READ	= 1,
744         D3D10_MAP_WRITE	= 2,
745         D3D10_MAP_READ_WRITE	= 3,
746         D3D10_MAP_WRITE_DISCARD	= 4,
747         D3D10_MAP_WRITE_NO_OVERWRITE	= 5
748     } 	D3D10_MAP;
749 
750 typedef
751 enum D3D10_MAP_FLAG
752     {
753         D3D10_MAP_FLAG_DO_NOT_WAIT	= 0x100000L
754     } 	D3D10_MAP_FLAG;
755 
756 typedef
757 enum D3D10_RAISE_FLAG
758     {
759         D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR	= 0x1L
760     } 	D3D10_RAISE_FLAG;
761 
762 typedef
763 enum D3D10_CLEAR_FLAG
764     {
765         D3D10_CLEAR_DEPTH	= 0x1L,
766         D3D10_CLEAR_STENCIL	= 0x2L
767     } 	D3D10_CLEAR_FLAG;
768 
769 typedef RECT D3D10_RECT;
770 
771 typedef struct D3D10_BOX
772     {
773     UINT left;
774     UINT top;
775     UINT front;
776     UINT right;
777     UINT bottom;
778     UINT back;
779     } 	D3D10_BOX;
780 
781 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0000_v0_0_c_ifspec;
782 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0000_v0_0_s_ifspec;
783 
784 #ifndef __ID3D10DeviceChild_INTERFACE_DEFINED__
785 #define __ID3D10DeviceChild_INTERFACE_DEFINED__
786 
787 /* interface ID3D10DeviceChild */
788 /* [unique][local][object][uuid] */
789 
790 EXTERN_C const IID IID_ID3D10DeviceChild;
791 
792 #if defined(__cplusplus) && !defined(CINTERFACE)
793 
794     MIDL_INTERFACE("9B7E4C00-342C-4106-A19F-4F2704F689F0")
795     ID3D10DeviceChild : public IUnknown
796     {
797     public:
798         virtual void STDMETHODCALLTYPE GetDevice(
799             /* [annotation] */
800             _Out_  ID3D10Device **ppDevice) = 0;
801 
802         virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
803             /* [annotation] */
804             _In_  REFGUID guid,
805             /* [annotation] */
806             _Inout_  UINT *pDataSize,
807             /* [annotation] */
808             _Out_writes_bytes_opt_(*pDataSize)  void *pData) = 0;
809 
810         virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
811             /* [annotation] */
812             _In_  REFGUID guid,
813             /* [annotation] */
814             _In_  UINT DataSize,
815             /* [annotation] */
816             _In_reads_bytes_opt_(DataSize)  const void *pData) = 0;
817 
818         virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
819             /* [annotation] */
820             _In_  REFGUID guid,
821             /* [annotation] */
822             _In_opt_  const IUnknown *pData) = 0;
823 
824     };
825 
826 #else 	/* C style interface */
827 
828     typedef struct ID3D10DeviceChildVtbl
829     {
830         BEGIN_INTERFACE
831 
832         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
833             ID3D10DeviceChild * This,
834             /* [in] */ REFIID riid,
835             /* [annotation][iid_is][out] */
836             _COM_Outptr_  void **ppvObject);
837 
838         ULONG ( STDMETHODCALLTYPE *AddRef )(
839             ID3D10DeviceChild * This);
840 
841         ULONG ( STDMETHODCALLTYPE *Release )(
842             ID3D10DeviceChild * This);
843 
844         void ( STDMETHODCALLTYPE *GetDevice )(
845             ID3D10DeviceChild * This,
846             /* [annotation] */
847             _Out_  ID3D10Device **ppDevice);
848 
849         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
850             ID3D10DeviceChild * This,
851             /* [annotation] */
852             _In_  REFGUID guid,
853             /* [annotation] */
854             _Inout_  UINT *pDataSize,
855             /* [annotation] */
856             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
857 
858         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
859             ID3D10DeviceChild * This,
860             /* [annotation] */
861             _In_  REFGUID guid,
862             /* [annotation] */
863             _In_  UINT DataSize,
864             /* [annotation] */
865             _In_reads_bytes_opt_(DataSize)  const void *pData);
866 
867         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
868             ID3D10DeviceChild * This,
869             /* [annotation] */
870             _In_  REFGUID guid,
871             /* [annotation] */
872             _In_opt_  const IUnknown *pData);
873 
874         END_INTERFACE
875     } ID3D10DeviceChildVtbl;
876 
877     interface ID3D10DeviceChild
878     {
879         CONST_VTBL struct ID3D10DeviceChildVtbl *lpVtbl;
880     };
881 
882 #ifdef COBJMACROS
883 
884 #define ID3D10DeviceChild_QueryInterface(This,riid,ppvObject)	\
885     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
886 
887 #define ID3D10DeviceChild_AddRef(This)	\
888     ( (This)->lpVtbl -> AddRef(This) )
889 
890 #define ID3D10DeviceChild_Release(This)	\
891     ( (This)->lpVtbl -> Release(This) )
892 
893 #define ID3D10DeviceChild_GetDevice(This,ppDevice)	\
894     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
895 
896 #define ID3D10DeviceChild_GetPrivateData(This,guid,pDataSize,pData)	\
897     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
898 
899 #define ID3D10DeviceChild_SetPrivateData(This,guid,DataSize,pData)	\
900     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
901 
902 #define ID3D10DeviceChild_SetPrivateDataInterface(This,guid,pData)	\
903     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
904 
905 #endif /* COBJMACROS */
906 
907 #endif 	/* C style interface */
908 
909 #endif 	/* __ID3D10DeviceChild_INTERFACE_DEFINED__ */
910 
911 /* interface __MIDL_itf_d3d10_0000_0001 */
912 /* [local] */
913 
914 typedef
915 enum D3D10_COMPARISON_FUNC
916     {
917         D3D10_COMPARISON_NEVER	= 1,
918         D3D10_COMPARISON_LESS	= 2,
919         D3D10_COMPARISON_EQUAL	= 3,
920         D3D10_COMPARISON_LESS_EQUAL	= 4,
921         D3D10_COMPARISON_GREATER	= 5,
922         D3D10_COMPARISON_NOT_EQUAL	= 6,
923         D3D10_COMPARISON_GREATER_EQUAL	= 7,
924         D3D10_COMPARISON_ALWAYS	= 8
925     } 	D3D10_COMPARISON_FUNC;
926 
927 typedef
928 enum D3D10_DEPTH_WRITE_MASK
929     {
930         D3D10_DEPTH_WRITE_MASK_ZERO	= 0,
931         D3D10_DEPTH_WRITE_MASK_ALL	= 1
932     } 	D3D10_DEPTH_WRITE_MASK;
933 
934 typedef
935 enum D3D10_STENCIL_OP
936     {
937         D3D10_STENCIL_OP_KEEP	= 1,
938         D3D10_STENCIL_OP_ZERO	= 2,
939         D3D10_STENCIL_OP_REPLACE	= 3,
940         D3D10_STENCIL_OP_INCR_SAT	= 4,
941         D3D10_STENCIL_OP_DECR_SAT	= 5,
942         D3D10_STENCIL_OP_INVERT	= 6,
943         D3D10_STENCIL_OP_INCR	= 7,
944         D3D10_STENCIL_OP_DECR	= 8
945     } 	D3D10_STENCIL_OP;
946 
947 typedef struct D3D10_DEPTH_STENCILOP_DESC
948     {
949     D3D10_STENCIL_OP StencilFailOp;
950     D3D10_STENCIL_OP StencilDepthFailOp;
951     D3D10_STENCIL_OP StencilPassOp;
952     D3D10_COMPARISON_FUNC StencilFunc;
953     } 	D3D10_DEPTH_STENCILOP_DESC;
954 
955 typedef struct D3D10_DEPTH_STENCIL_DESC
956     {
957     BOOL DepthEnable;
958     D3D10_DEPTH_WRITE_MASK DepthWriteMask;
959     D3D10_COMPARISON_FUNC DepthFunc;
960     BOOL StencilEnable;
961     UINT8 StencilReadMask;
962     UINT8 StencilWriteMask;
963     D3D10_DEPTH_STENCILOP_DESC FrontFace;
964     D3D10_DEPTH_STENCILOP_DESC BackFace;
965     } 	D3D10_DEPTH_STENCIL_DESC;
966 
967 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0001_v0_0_c_ifspec;
968 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0001_v0_0_s_ifspec;
969 
970 #ifndef __ID3D10DepthStencilState_INTERFACE_DEFINED__
971 #define __ID3D10DepthStencilState_INTERFACE_DEFINED__
972 
973 /* interface ID3D10DepthStencilState */
974 /* [unique][local][object][uuid] */
975 
976 EXTERN_C const IID IID_ID3D10DepthStencilState;
977 
978 #if defined(__cplusplus) && !defined(CINTERFACE)
979 
980     MIDL_INTERFACE("2B4B1CC8-A4AD-41f8-8322-CA86FC3EC675")
981     ID3D10DepthStencilState : public ID3D10DeviceChild
982     {
983     public:
984         virtual void STDMETHODCALLTYPE GetDesc(
985             /* [annotation] */
986             _Out_  D3D10_DEPTH_STENCIL_DESC *pDesc) = 0;
987 
988     };
989 
990 #else 	/* C style interface */
991 
992     typedef struct ID3D10DepthStencilStateVtbl
993     {
994         BEGIN_INTERFACE
995 
996         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
997             ID3D10DepthStencilState * This,
998             /* [in] */ REFIID riid,
999             /* [annotation][iid_is][out] */
1000             _COM_Outptr_  void **ppvObject);
1001 
1002         ULONG ( STDMETHODCALLTYPE *AddRef )(
1003             ID3D10DepthStencilState * This);
1004 
1005         ULONG ( STDMETHODCALLTYPE *Release )(
1006             ID3D10DepthStencilState * This);
1007 
1008         void ( STDMETHODCALLTYPE *GetDevice )(
1009             ID3D10DepthStencilState * This,
1010             /* [annotation] */
1011             _Out_  ID3D10Device **ppDevice);
1012 
1013         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1014             ID3D10DepthStencilState * This,
1015             /* [annotation] */
1016             _In_  REFGUID guid,
1017             /* [annotation] */
1018             _Inout_  UINT *pDataSize,
1019             /* [annotation] */
1020             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
1021 
1022         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1023             ID3D10DepthStencilState * This,
1024             /* [annotation] */
1025             _In_  REFGUID guid,
1026             /* [annotation] */
1027             _In_  UINT DataSize,
1028             /* [annotation] */
1029             _In_reads_bytes_opt_(DataSize)  const void *pData);
1030 
1031         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1032             ID3D10DepthStencilState * This,
1033             /* [annotation] */
1034             _In_  REFGUID guid,
1035             /* [annotation] */
1036             _In_opt_  const IUnknown *pData);
1037 
1038         void ( STDMETHODCALLTYPE *GetDesc )(
1039             ID3D10DepthStencilState * This,
1040             /* [annotation] */
1041             _Out_  D3D10_DEPTH_STENCIL_DESC *pDesc);
1042 
1043         END_INTERFACE
1044     } ID3D10DepthStencilStateVtbl;
1045 
1046     interface ID3D10DepthStencilState
1047     {
1048         CONST_VTBL struct ID3D10DepthStencilStateVtbl *lpVtbl;
1049     };
1050 
1051 #ifdef COBJMACROS
1052 
1053 #define ID3D10DepthStencilState_QueryInterface(This,riid,ppvObject)	\
1054     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1055 
1056 #define ID3D10DepthStencilState_AddRef(This)	\
1057     ( (This)->lpVtbl -> AddRef(This) )
1058 
1059 #define ID3D10DepthStencilState_Release(This)	\
1060     ( (This)->lpVtbl -> Release(This) )
1061 
1062 #define ID3D10DepthStencilState_GetDevice(This,ppDevice)	\
1063     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
1064 
1065 #define ID3D10DepthStencilState_GetPrivateData(This,guid,pDataSize,pData)	\
1066     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1067 
1068 #define ID3D10DepthStencilState_SetPrivateData(This,guid,DataSize,pData)	\
1069     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1070 
1071 #define ID3D10DepthStencilState_SetPrivateDataInterface(This,guid,pData)	\
1072     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1073 
1074 #define ID3D10DepthStencilState_GetDesc(This,pDesc)	\
1075     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1076 
1077 #endif /* COBJMACROS */
1078 
1079 #endif 	/* C style interface */
1080 
1081 #endif 	/* __ID3D10DepthStencilState_INTERFACE_DEFINED__ */
1082 
1083 /* interface __MIDL_itf_d3d10_0000_0002 */
1084 /* [local] */
1085 
1086 typedef
1087 enum D3D10_BLEND
1088     {
1089         D3D10_BLEND_ZERO	= 1,
1090         D3D10_BLEND_ONE	= 2,
1091         D3D10_BLEND_SRC_COLOR	= 3,
1092         D3D10_BLEND_INV_SRC_COLOR	= 4,
1093         D3D10_BLEND_SRC_ALPHA	= 5,
1094         D3D10_BLEND_INV_SRC_ALPHA	= 6,
1095         D3D10_BLEND_DEST_ALPHA	= 7,
1096         D3D10_BLEND_INV_DEST_ALPHA	= 8,
1097         D3D10_BLEND_DEST_COLOR	= 9,
1098         D3D10_BLEND_INV_DEST_COLOR	= 10,
1099         D3D10_BLEND_SRC_ALPHA_SAT	= 11,
1100         D3D10_BLEND_BLEND_FACTOR	= 14,
1101         D3D10_BLEND_INV_BLEND_FACTOR	= 15,
1102         D3D10_BLEND_SRC1_COLOR	= 16,
1103         D3D10_BLEND_INV_SRC1_COLOR	= 17,
1104         D3D10_BLEND_SRC1_ALPHA	= 18,
1105         D3D10_BLEND_INV_SRC1_ALPHA	= 19
1106     } 	D3D10_BLEND;
1107 
1108 typedef
1109 enum D3D10_BLEND_OP
1110     {
1111         D3D10_BLEND_OP_ADD	= 1,
1112         D3D10_BLEND_OP_SUBTRACT	= 2,
1113         D3D10_BLEND_OP_REV_SUBTRACT	= 3,
1114         D3D10_BLEND_OP_MIN	= 4,
1115         D3D10_BLEND_OP_MAX	= 5
1116     } 	D3D10_BLEND_OP;
1117 
1118 typedef
1119 enum D3D10_COLOR_WRITE_ENABLE
1120     {
1121         D3D10_COLOR_WRITE_ENABLE_RED	= 1,
1122         D3D10_COLOR_WRITE_ENABLE_GREEN	= 2,
1123         D3D10_COLOR_WRITE_ENABLE_BLUE	= 4,
1124         D3D10_COLOR_WRITE_ENABLE_ALPHA	= 8,
1125         D3D10_COLOR_WRITE_ENABLE_ALL	= ( ( ( D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN )  | D3D10_COLOR_WRITE_ENABLE_BLUE )  | D3D10_COLOR_WRITE_ENABLE_ALPHA )
1126     } 	D3D10_COLOR_WRITE_ENABLE;
1127 
1128 typedef struct D3D10_BLEND_DESC
1129     {
1130     BOOL AlphaToCoverageEnable;
1131     BOOL BlendEnable[ 8 ];
1132     D3D10_BLEND SrcBlend;
1133     D3D10_BLEND DestBlend;
1134     D3D10_BLEND_OP BlendOp;
1135     D3D10_BLEND SrcBlendAlpha;
1136     D3D10_BLEND DestBlendAlpha;
1137     D3D10_BLEND_OP BlendOpAlpha;
1138     UINT8 RenderTargetWriteMask[ 8 ];
1139     } 	D3D10_BLEND_DESC;
1140 
1141 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0002_v0_0_c_ifspec;
1142 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0002_v0_0_s_ifspec;
1143 
1144 #ifndef __ID3D10BlendState_INTERFACE_DEFINED__
1145 #define __ID3D10BlendState_INTERFACE_DEFINED__
1146 
1147 /* interface ID3D10BlendState */
1148 /* [unique][local][object][uuid] */
1149 
1150 EXTERN_C const IID IID_ID3D10BlendState;
1151 
1152 #if defined(__cplusplus) && !defined(CINTERFACE)
1153 
1154     MIDL_INTERFACE("EDAD8D19-8A35-4d6d-8566-2EA276CDE161")
1155     ID3D10BlendState : public ID3D10DeviceChild
1156     {
1157     public:
1158         virtual void STDMETHODCALLTYPE GetDesc(
1159             /* [annotation] */
1160             _Out_  D3D10_BLEND_DESC *pDesc) = 0;
1161 
1162     };
1163 
1164 #else 	/* C style interface */
1165 
1166     typedef struct ID3D10BlendStateVtbl
1167     {
1168         BEGIN_INTERFACE
1169 
1170         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1171             ID3D10BlendState * This,
1172             /* [in] */ REFIID riid,
1173             /* [annotation][iid_is][out] */
1174             _COM_Outptr_  void **ppvObject);
1175 
1176         ULONG ( STDMETHODCALLTYPE *AddRef )(
1177             ID3D10BlendState * This);
1178 
1179         ULONG ( STDMETHODCALLTYPE *Release )(
1180             ID3D10BlendState * This);
1181 
1182         void ( STDMETHODCALLTYPE *GetDevice )(
1183             ID3D10BlendState * This,
1184             /* [annotation] */
1185             _Out_  ID3D10Device **ppDevice);
1186 
1187         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1188             ID3D10BlendState * This,
1189             /* [annotation] */
1190             _In_  REFGUID guid,
1191             /* [annotation] */
1192             _Inout_  UINT *pDataSize,
1193             /* [annotation] */
1194             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
1195 
1196         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1197             ID3D10BlendState * This,
1198             /* [annotation] */
1199             _In_  REFGUID guid,
1200             /* [annotation] */
1201             _In_  UINT DataSize,
1202             /* [annotation] */
1203             _In_reads_bytes_opt_(DataSize)  const void *pData);
1204 
1205         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1206             ID3D10BlendState * This,
1207             /* [annotation] */
1208             _In_  REFGUID guid,
1209             /* [annotation] */
1210             _In_opt_  const IUnknown *pData);
1211 
1212         void ( STDMETHODCALLTYPE *GetDesc )(
1213             ID3D10BlendState * This,
1214             /* [annotation] */
1215             _Out_  D3D10_BLEND_DESC *pDesc);
1216 
1217         END_INTERFACE
1218     } ID3D10BlendStateVtbl;
1219 
1220     interface ID3D10BlendState
1221     {
1222         CONST_VTBL struct ID3D10BlendStateVtbl *lpVtbl;
1223     };
1224 
1225 #ifdef COBJMACROS
1226 
1227 #define ID3D10BlendState_QueryInterface(This,riid,ppvObject)	\
1228     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1229 
1230 #define ID3D10BlendState_AddRef(This)	\
1231     ( (This)->lpVtbl -> AddRef(This) )
1232 
1233 #define ID3D10BlendState_Release(This)	\
1234     ( (This)->lpVtbl -> Release(This) )
1235 
1236 #define ID3D10BlendState_GetDevice(This,ppDevice)	\
1237     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
1238 
1239 #define ID3D10BlendState_GetPrivateData(This,guid,pDataSize,pData)	\
1240     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1241 
1242 #define ID3D10BlendState_SetPrivateData(This,guid,DataSize,pData)	\
1243     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1244 
1245 #define ID3D10BlendState_SetPrivateDataInterface(This,guid,pData)	\
1246     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1247 
1248 #define ID3D10BlendState_GetDesc(This,pDesc)	\
1249     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1250 
1251 #endif /* COBJMACROS */
1252 
1253 #endif 	/* C style interface */
1254 
1255 #endif 	/* __ID3D10BlendState_INTERFACE_DEFINED__ */
1256 
1257 /* interface __MIDL_itf_d3d10_0000_0003 */
1258 /* [local] */
1259 
1260 typedef struct D3D10_RASTERIZER_DESC
1261     {
1262     D3D10_FILL_MODE FillMode;
1263     D3D10_CULL_MODE CullMode;
1264     BOOL FrontCounterClockwise;
1265     INT DepthBias;
1266     FLOAT DepthBiasClamp;
1267     FLOAT SlopeScaledDepthBias;
1268     BOOL DepthClipEnable;
1269     BOOL ScissorEnable;
1270     BOOL MultisampleEnable;
1271     BOOL AntialiasedLineEnable;
1272     } 	D3D10_RASTERIZER_DESC;
1273 
1274 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0003_v0_0_c_ifspec;
1275 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0003_v0_0_s_ifspec;
1276 
1277 #ifndef __ID3D10RasterizerState_INTERFACE_DEFINED__
1278 #define __ID3D10RasterizerState_INTERFACE_DEFINED__
1279 
1280 /* interface ID3D10RasterizerState */
1281 /* [unique][local][object][uuid] */
1282 
1283 EXTERN_C const IID IID_ID3D10RasterizerState;
1284 
1285 #if defined(__cplusplus) && !defined(CINTERFACE)
1286 
1287     MIDL_INTERFACE("A2A07292-89AF-4345-BE2E-C53D9FBB6E9F")
1288     ID3D10RasterizerState : public ID3D10DeviceChild
1289     {
1290     public:
1291         virtual void STDMETHODCALLTYPE GetDesc(
1292             /* [annotation] */
1293             _Out_  D3D10_RASTERIZER_DESC *pDesc) = 0;
1294 
1295     };
1296 
1297 #else 	/* C style interface */
1298 
1299     typedef struct ID3D10RasterizerStateVtbl
1300     {
1301         BEGIN_INTERFACE
1302 
1303         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1304             ID3D10RasterizerState * This,
1305             /* [in] */ REFIID riid,
1306             /* [annotation][iid_is][out] */
1307             _COM_Outptr_  void **ppvObject);
1308 
1309         ULONG ( STDMETHODCALLTYPE *AddRef )(
1310             ID3D10RasterizerState * This);
1311 
1312         ULONG ( STDMETHODCALLTYPE *Release )(
1313             ID3D10RasterizerState * This);
1314 
1315         void ( STDMETHODCALLTYPE *GetDevice )(
1316             ID3D10RasterizerState * This,
1317             /* [annotation] */
1318             _Out_  ID3D10Device **ppDevice);
1319 
1320         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1321             ID3D10RasterizerState * This,
1322             /* [annotation] */
1323             _In_  REFGUID guid,
1324             /* [annotation] */
1325             _Inout_  UINT *pDataSize,
1326             /* [annotation] */
1327             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
1328 
1329         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1330             ID3D10RasterizerState * This,
1331             /* [annotation] */
1332             _In_  REFGUID guid,
1333             /* [annotation] */
1334             _In_  UINT DataSize,
1335             /* [annotation] */
1336             _In_reads_bytes_opt_(DataSize)  const void *pData);
1337 
1338         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1339             ID3D10RasterizerState * This,
1340             /* [annotation] */
1341             _In_  REFGUID guid,
1342             /* [annotation] */
1343             _In_opt_  const IUnknown *pData);
1344 
1345         void ( STDMETHODCALLTYPE *GetDesc )(
1346             ID3D10RasterizerState * This,
1347             /* [annotation] */
1348             _Out_  D3D10_RASTERIZER_DESC *pDesc);
1349 
1350         END_INTERFACE
1351     } ID3D10RasterizerStateVtbl;
1352 
1353     interface ID3D10RasterizerState
1354     {
1355         CONST_VTBL struct ID3D10RasterizerStateVtbl *lpVtbl;
1356     };
1357 
1358 #ifdef COBJMACROS
1359 
1360 #define ID3D10RasterizerState_QueryInterface(This,riid,ppvObject)	\
1361     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1362 
1363 #define ID3D10RasterizerState_AddRef(This)	\
1364     ( (This)->lpVtbl -> AddRef(This) )
1365 
1366 #define ID3D10RasterizerState_Release(This)	\
1367     ( (This)->lpVtbl -> Release(This) )
1368 
1369 #define ID3D10RasterizerState_GetDevice(This,ppDevice)	\
1370     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
1371 
1372 #define ID3D10RasterizerState_GetPrivateData(This,guid,pDataSize,pData)	\
1373     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1374 
1375 #define ID3D10RasterizerState_SetPrivateData(This,guid,DataSize,pData)	\
1376     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1377 
1378 #define ID3D10RasterizerState_SetPrivateDataInterface(This,guid,pData)	\
1379     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1380 
1381 #define ID3D10RasterizerState_GetDesc(This,pDesc)	\
1382     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1383 
1384 #endif /* COBJMACROS */
1385 
1386 #endif 	/* C style interface */
1387 
1388 #endif 	/* __ID3D10RasterizerState_INTERFACE_DEFINED__ */
1389 
1390 /* interface __MIDL_itf_d3d10_0000_0004 */
1391 /* [local] */
1392 
1393 #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
D3D10CalcSubresource(UINT MipSlice,UINT ArraySlice,UINT MipLevels)1394 inline UINT D3D10CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT MipLevels )
1395 { return MipSlice + ArraySlice * MipLevels; }
1396 #endif
1397 typedef struct D3D10_SUBRESOURCE_DATA
1398     {
1399     const void *pSysMem;
1400     UINT SysMemPitch;
1401     UINT SysMemSlicePitch;
1402     } 	D3D10_SUBRESOURCE_DATA;
1403 
1404 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0004_v0_0_c_ifspec;
1405 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0004_v0_0_s_ifspec;
1406 
1407 #ifndef __ID3D10Resource_INTERFACE_DEFINED__
1408 #define __ID3D10Resource_INTERFACE_DEFINED__
1409 
1410 /* interface ID3D10Resource */
1411 /* [unique][local][object][uuid] */
1412 
1413 EXTERN_C const IID IID_ID3D10Resource;
1414 
1415 #if defined(__cplusplus) && !defined(CINTERFACE)
1416 
1417     MIDL_INTERFACE("9B7E4C01-342C-4106-A19F-4F2704F689F0")
1418     ID3D10Resource : public ID3D10DeviceChild
1419     {
1420     public:
1421         virtual void STDMETHODCALLTYPE GetType(
1422             /* [annotation] */
1423             _Out_  D3D10_RESOURCE_DIMENSION *rType) = 0;
1424 
1425         virtual void STDMETHODCALLTYPE SetEvictionPriority(
1426             /* [annotation] */
1427             _In_  UINT EvictionPriority) = 0;
1428 
1429         virtual UINT STDMETHODCALLTYPE GetEvictionPriority( void) = 0;
1430 
1431     };
1432 
1433 #else 	/* C style interface */
1434 
1435     typedef struct ID3D10ResourceVtbl
1436     {
1437         BEGIN_INTERFACE
1438 
1439         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1440             ID3D10Resource * This,
1441             /* [in] */ REFIID riid,
1442             /* [annotation][iid_is][out] */
1443             _COM_Outptr_  void **ppvObject);
1444 
1445         ULONG ( STDMETHODCALLTYPE *AddRef )(
1446             ID3D10Resource * This);
1447 
1448         ULONG ( STDMETHODCALLTYPE *Release )(
1449             ID3D10Resource * This);
1450 
1451         void ( STDMETHODCALLTYPE *GetDevice )(
1452             ID3D10Resource * This,
1453             /* [annotation] */
1454             _Out_  ID3D10Device **ppDevice);
1455 
1456         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1457             ID3D10Resource * This,
1458             /* [annotation] */
1459             _In_  REFGUID guid,
1460             /* [annotation] */
1461             _Inout_  UINT *pDataSize,
1462             /* [annotation] */
1463             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
1464 
1465         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1466             ID3D10Resource * This,
1467             /* [annotation] */
1468             _In_  REFGUID guid,
1469             /* [annotation] */
1470             _In_  UINT DataSize,
1471             /* [annotation] */
1472             _In_reads_bytes_opt_(DataSize)  const void *pData);
1473 
1474         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1475             ID3D10Resource * This,
1476             /* [annotation] */
1477             _In_  REFGUID guid,
1478             /* [annotation] */
1479             _In_opt_  const IUnknown *pData);
1480 
1481         void ( STDMETHODCALLTYPE *GetType )(
1482             ID3D10Resource * This,
1483             /* [annotation] */
1484             _Out_  D3D10_RESOURCE_DIMENSION *rType);
1485 
1486         void ( STDMETHODCALLTYPE *SetEvictionPriority )(
1487             ID3D10Resource * This,
1488             /* [annotation] */
1489             _In_  UINT EvictionPriority);
1490 
1491         UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
1492             ID3D10Resource * This);
1493 
1494         END_INTERFACE
1495     } ID3D10ResourceVtbl;
1496 
1497     interface ID3D10Resource
1498     {
1499         CONST_VTBL struct ID3D10ResourceVtbl *lpVtbl;
1500     };
1501 
1502 #ifdef COBJMACROS
1503 
1504 #define ID3D10Resource_QueryInterface(This,riid,ppvObject)	\
1505     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1506 
1507 #define ID3D10Resource_AddRef(This)	\
1508     ( (This)->lpVtbl -> AddRef(This) )
1509 
1510 #define ID3D10Resource_Release(This)	\
1511     ( (This)->lpVtbl -> Release(This) )
1512 
1513 #define ID3D10Resource_GetDevice(This,ppDevice)	\
1514     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
1515 
1516 #define ID3D10Resource_GetPrivateData(This,guid,pDataSize,pData)	\
1517     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1518 
1519 #define ID3D10Resource_SetPrivateData(This,guid,DataSize,pData)	\
1520     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1521 
1522 #define ID3D10Resource_SetPrivateDataInterface(This,guid,pData)	\
1523     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1524 
1525 #define ID3D10Resource_GetType(This,rType)	\
1526     ( (This)->lpVtbl -> GetType(This,rType) )
1527 
1528 #define ID3D10Resource_SetEvictionPriority(This,EvictionPriority)	\
1529     ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
1530 
1531 #define ID3D10Resource_GetEvictionPriority(This)	\
1532     ( (This)->lpVtbl -> GetEvictionPriority(This) )
1533 
1534 #endif /* COBJMACROS */
1535 
1536 #endif 	/* C style interface */
1537 
1538 #endif 	/* __ID3D10Resource_INTERFACE_DEFINED__ */
1539 
1540 /* interface __MIDL_itf_d3d10_0000_0005 */
1541 /* [local] */
1542 
1543 typedef struct D3D10_BUFFER_DESC
1544     {
1545     UINT ByteWidth;
1546     D3D10_USAGE Usage;
1547     UINT BindFlags;
1548     UINT CPUAccessFlags;
1549     UINT MiscFlags;
1550     } 	D3D10_BUFFER_DESC;
1551 
1552 #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
1553 struct CD3D10_BUFFER_DESC : public D3D10_BUFFER_DESC
1554 {
CD3D10_BUFFER_DESCCD3D10_BUFFER_DESC1555     CD3D10_BUFFER_DESC()
1556     {}
CD3D10_BUFFER_DESCCD3D10_BUFFER_DESC1557     explicit CD3D10_BUFFER_DESC( const D3D10_BUFFER_DESC& o ) :
1558         D3D10_BUFFER_DESC( o )
1559     {}
1560     explicit CD3D10_BUFFER_DESC(
1561         UINT byteWidth,
1562         UINT bindFlags,
1563         D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
1564         UINT cpuaccessFlags = 0,
1565         UINT miscFlags = 0 )
1566     {
1567         ByteWidth = byteWidth;
1568         Usage = usage;
1569         BindFlags = bindFlags;
1570         CPUAccessFlags = cpuaccessFlags ;
1571         MiscFlags = miscFlags;
1572     }
~CD3D10_BUFFER_DESCCD3D10_BUFFER_DESC1573     ~CD3D10_BUFFER_DESC() {}
1574     operator const D3D10_BUFFER_DESC&() const { return *this; }
1575 };
1576 #endif
1577 
1578 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0005_v0_0_c_ifspec;
1579 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0005_v0_0_s_ifspec;
1580 
1581 #ifndef __ID3D10Buffer_INTERFACE_DEFINED__
1582 #define __ID3D10Buffer_INTERFACE_DEFINED__
1583 
1584 /* interface ID3D10Buffer */
1585 /* [unique][local][object][uuid] */
1586 
1587 EXTERN_C const IID IID_ID3D10Buffer;
1588 
1589 #if defined(__cplusplus) && !defined(CINTERFACE)
1590 
1591     MIDL_INTERFACE("9B7E4C02-342C-4106-A19F-4F2704F689F0")
1592     ID3D10Buffer : public ID3D10Resource
1593     {
1594     public:
1595         virtual HRESULT STDMETHODCALLTYPE Map(
1596             /* [annotation] */
1597             _In_  D3D10_MAP MapType,
1598             /* [annotation] */
1599             _In_  UINT MapFlags,
1600             /* [annotation] */
1601             _Out_  void **ppData) = 0;
1602 
1603         virtual void STDMETHODCALLTYPE Unmap( void) = 0;
1604 
1605         virtual void STDMETHODCALLTYPE GetDesc(
1606             /* [annotation] */
1607             _Out_  D3D10_BUFFER_DESC *pDesc) = 0;
1608 
1609     };
1610 
1611 #else 	/* C style interface */
1612 
1613     typedef struct ID3D10BufferVtbl
1614     {
1615         BEGIN_INTERFACE
1616 
1617         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1618             ID3D10Buffer * This,
1619             /* [in] */ REFIID riid,
1620             /* [annotation][iid_is][out] */
1621             _COM_Outptr_  void **ppvObject);
1622 
1623         ULONG ( STDMETHODCALLTYPE *AddRef )(
1624             ID3D10Buffer * This);
1625 
1626         ULONG ( STDMETHODCALLTYPE *Release )(
1627             ID3D10Buffer * This);
1628 
1629         void ( STDMETHODCALLTYPE *GetDevice )(
1630             ID3D10Buffer * This,
1631             /* [annotation] */
1632             _Out_  ID3D10Device **ppDevice);
1633 
1634         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1635             ID3D10Buffer * This,
1636             /* [annotation] */
1637             _In_  REFGUID guid,
1638             /* [annotation] */
1639             _Inout_  UINT *pDataSize,
1640             /* [annotation] */
1641             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
1642 
1643         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1644             ID3D10Buffer * This,
1645             /* [annotation] */
1646             _In_  REFGUID guid,
1647             /* [annotation] */
1648             _In_  UINT DataSize,
1649             /* [annotation] */
1650             _In_reads_bytes_opt_(DataSize)  const void *pData);
1651 
1652         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1653             ID3D10Buffer * This,
1654             /* [annotation] */
1655             _In_  REFGUID guid,
1656             /* [annotation] */
1657             _In_opt_  const IUnknown *pData);
1658 
1659         void ( STDMETHODCALLTYPE *GetType )(
1660             ID3D10Buffer * This,
1661             /* [annotation] */
1662             _Out_  D3D10_RESOURCE_DIMENSION *rType);
1663 
1664         void ( STDMETHODCALLTYPE *SetEvictionPriority )(
1665             ID3D10Buffer * This,
1666             /* [annotation] */
1667             _In_  UINT EvictionPriority);
1668 
1669         UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
1670             ID3D10Buffer * This);
1671 
1672         HRESULT ( STDMETHODCALLTYPE *Map )(
1673             ID3D10Buffer * This,
1674             /* [annotation] */
1675             _In_  D3D10_MAP MapType,
1676             /* [annotation] */
1677             _In_  UINT MapFlags,
1678             /* [annotation] */
1679             _Out_  void **ppData);
1680 
1681         void ( STDMETHODCALLTYPE *Unmap )(
1682             ID3D10Buffer * This);
1683 
1684         void ( STDMETHODCALLTYPE *GetDesc )(
1685             ID3D10Buffer * This,
1686             /* [annotation] */
1687             _Out_  D3D10_BUFFER_DESC *pDesc);
1688 
1689         END_INTERFACE
1690     } ID3D10BufferVtbl;
1691 
1692     interface ID3D10Buffer
1693     {
1694         CONST_VTBL struct ID3D10BufferVtbl *lpVtbl;
1695     };
1696 
1697 #ifdef COBJMACROS
1698 
1699 #define ID3D10Buffer_QueryInterface(This,riid,ppvObject)	\
1700     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1701 
1702 #define ID3D10Buffer_AddRef(This)	\
1703     ( (This)->lpVtbl -> AddRef(This) )
1704 
1705 #define ID3D10Buffer_Release(This)	\
1706     ( (This)->lpVtbl -> Release(This) )
1707 
1708 #define ID3D10Buffer_GetDevice(This,ppDevice)	\
1709     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
1710 
1711 #define ID3D10Buffer_GetPrivateData(This,guid,pDataSize,pData)	\
1712     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1713 
1714 #define ID3D10Buffer_SetPrivateData(This,guid,DataSize,pData)	\
1715     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1716 
1717 #define ID3D10Buffer_SetPrivateDataInterface(This,guid,pData)	\
1718     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1719 
1720 #define ID3D10Buffer_GetType(This,rType)	\
1721     ( (This)->lpVtbl -> GetType(This,rType) )
1722 
1723 #define ID3D10Buffer_SetEvictionPriority(This,EvictionPriority)	\
1724     ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
1725 
1726 #define ID3D10Buffer_GetEvictionPriority(This)	\
1727     ( (This)->lpVtbl -> GetEvictionPriority(This) )
1728 
1729 #define ID3D10Buffer_Map(This,MapType,MapFlags,ppData)	\
1730     ( (This)->lpVtbl -> Map(This,MapType,MapFlags,ppData) )
1731 
1732 #define ID3D10Buffer_Unmap(This)	\
1733     ( (This)->lpVtbl -> Unmap(This) )
1734 
1735 #define ID3D10Buffer_GetDesc(This,pDesc)	\
1736     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1737 
1738 #endif /* COBJMACROS */
1739 
1740 #endif 	/* C style interface */
1741 
1742 #endif 	/* __ID3D10Buffer_INTERFACE_DEFINED__ */
1743 
1744 /* interface __MIDL_itf_d3d10_0000_0006 */
1745 /* [local] */
1746 
1747 typedef struct D3D10_TEXTURE1D_DESC
1748     {
1749     UINT Width;
1750     UINT MipLevels;
1751     UINT ArraySize;
1752     DXGI_FORMAT Format;
1753     D3D10_USAGE Usage;
1754     UINT BindFlags;
1755     UINT CPUAccessFlags;
1756     UINT MiscFlags;
1757     } 	D3D10_TEXTURE1D_DESC;
1758 
1759 #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
1760 struct CD3D10_TEXTURE1D_DESC : public D3D10_TEXTURE1D_DESC
1761 {
CD3D10_TEXTURE1D_DESCCD3D10_TEXTURE1D_DESC1762     CD3D10_TEXTURE1D_DESC()
1763     {}
CD3D10_TEXTURE1D_DESCCD3D10_TEXTURE1D_DESC1764     explicit CD3D10_TEXTURE1D_DESC( const D3D10_TEXTURE1D_DESC& o ) :
1765         D3D10_TEXTURE1D_DESC( o )
1766     {}
1767     explicit CD3D10_TEXTURE1D_DESC(
1768         DXGI_FORMAT format,
1769         UINT width,
1770         UINT arraySize = 1,
1771         UINT mipLevels = 0,
1772         UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
1773         D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
1774         UINT cpuaccessFlags= 0,
1775         UINT miscFlags = 0 )
1776     {
1777         Width = width;
1778         MipLevels = mipLevels;
1779         ArraySize = arraySize;
1780         Format = format;
1781         Usage = usage;
1782         BindFlags = bindFlags;
1783         CPUAccessFlags = cpuaccessFlags;
1784         MiscFlags = miscFlags;
1785     }
~CD3D10_TEXTURE1D_DESCCD3D10_TEXTURE1D_DESC1786     ~CD3D10_TEXTURE1D_DESC() {}
1787     operator const D3D10_TEXTURE1D_DESC&() const { return *this; }
1788 };
1789 #endif
1790 
1791 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0006_v0_0_c_ifspec;
1792 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0006_v0_0_s_ifspec;
1793 
1794 #ifndef __ID3D10Texture1D_INTERFACE_DEFINED__
1795 #define __ID3D10Texture1D_INTERFACE_DEFINED__
1796 
1797 /* interface ID3D10Texture1D */
1798 /* [unique][local][object][uuid] */
1799 
1800 EXTERN_C const IID IID_ID3D10Texture1D;
1801 
1802 #if defined(__cplusplus) && !defined(CINTERFACE)
1803 
1804     MIDL_INTERFACE("9B7E4C03-342C-4106-A19F-4F2704F689F0")
1805     ID3D10Texture1D : public ID3D10Resource
1806     {
1807     public:
1808         virtual HRESULT STDMETHODCALLTYPE Map(
1809             /* [annotation] */
1810             _In_  UINT Subresource,
1811             /* [annotation] */
1812             _In_  D3D10_MAP MapType,
1813             /* [annotation] */
1814             _In_  UINT MapFlags,
1815             /* [annotation] */
1816             _Out_  void **ppData) = 0;
1817 
1818         virtual void STDMETHODCALLTYPE Unmap(
1819             /* [annotation] */
1820             _In_  UINT Subresource) = 0;
1821 
1822         virtual void STDMETHODCALLTYPE GetDesc(
1823             /* [annotation] */
1824             _Out_  D3D10_TEXTURE1D_DESC *pDesc) = 0;
1825 
1826     };
1827 
1828 #else 	/* C style interface */
1829 
1830     typedef struct ID3D10Texture1DVtbl
1831     {
1832         BEGIN_INTERFACE
1833 
1834         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1835             ID3D10Texture1D * This,
1836             /* [in] */ REFIID riid,
1837             /* [annotation][iid_is][out] */
1838             _COM_Outptr_  void **ppvObject);
1839 
1840         ULONG ( STDMETHODCALLTYPE *AddRef )(
1841             ID3D10Texture1D * This);
1842 
1843         ULONG ( STDMETHODCALLTYPE *Release )(
1844             ID3D10Texture1D * This);
1845 
1846         void ( STDMETHODCALLTYPE *GetDevice )(
1847             ID3D10Texture1D * This,
1848             /* [annotation] */
1849             _Out_  ID3D10Device **ppDevice);
1850 
1851         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1852             ID3D10Texture1D * This,
1853             /* [annotation] */
1854             _In_  REFGUID guid,
1855             /* [annotation] */
1856             _Inout_  UINT *pDataSize,
1857             /* [annotation] */
1858             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
1859 
1860         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1861             ID3D10Texture1D * This,
1862             /* [annotation] */
1863             _In_  REFGUID guid,
1864             /* [annotation] */
1865             _In_  UINT DataSize,
1866             /* [annotation] */
1867             _In_reads_bytes_opt_(DataSize)  const void *pData);
1868 
1869         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1870             ID3D10Texture1D * This,
1871             /* [annotation] */
1872             _In_  REFGUID guid,
1873             /* [annotation] */
1874             _In_opt_  const IUnknown *pData);
1875 
1876         void ( STDMETHODCALLTYPE *GetType )(
1877             ID3D10Texture1D * This,
1878             /* [annotation] */
1879             _Out_  D3D10_RESOURCE_DIMENSION *rType);
1880 
1881         void ( STDMETHODCALLTYPE *SetEvictionPriority )(
1882             ID3D10Texture1D * This,
1883             /* [annotation] */
1884             _In_  UINT EvictionPriority);
1885 
1886         UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
1887             ID3D10Texture1D * This);
1888 
1889         HRESULT ( STDMETHODCALLTYPE *Map )(
1890             ID3D10Texture1D * This,
1891             /* [annotation] */
1892             _In_  UINT Subresource,
1893             /* [annotation] */
1894             _In_  D3D10_MAP MapType,
1895             /* [annotation] */
1896             _In_  UINT MapFlags,
1897             /* [annotation] */
1898             _Out_  void **ppData);
1899 
1900         void ( STDMETHODCALLTYPE *Unmap )(
1901             ID3D10Texture1D * This,
1902             /* [annotation] */
1903             _In_  UINT Subresource);
1904 
1905         void ( STDMETHODCALLTYPE *GetDesc )(
1906             ID3D10Texture1D * This,
1907             /* [annotation] */
1908             _Out_  D3D10_TEXTURE1D_DESC *pDesc);
1909 
1910         END_INTERFACE
1911     } ID3D10Texture1DVtbl;
1912 
1913     interface ID3D10Texture1D
1914     {
1915         CONST_VTBL struct ID3D10Texture1DVtbl *lpVtbl;
1916     };
1917 
1918 #ifdef COBJMACROS
1919 
1920 #define ID3D10Texture1D_QueryInterface(This,riid,ppvObject)	\
1921     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1922 
1923 #define ID3D10Texture1D_AddRef(This)	\
1924     ( (This)->lpVtbl -> AddRef(This) )
1925 
1926 #define ID3D10Texture1D_Release(This)	\
1927     ( (This)->lpVtbl -> Release(This) )
1928 
1929 #define ID3D10Texture1D_GetDevice(This,ppDevice)	\
1930     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
1931 
1932 #define ID3D10Texture1D_GetPrivateData(This,guid,pDataSize,pData)	\
1933     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1934 
1935 #define ID3D10Texture1D_SetPrivateData(This,guid,DataSize,pData)	\
1936     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1937 
1938 #define ID3D10Texture1D_SetPrivateDataInterface(This,guid,pData)	\
1939     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1940 
1941 #define ID3D10Texture1D_GetType(This,rType)	\
1942     ( (This)->lpVtbl -> GetType(This,rType) )
1943 
1944 #define ID3D10Texture1D_SetEvictionPriority(This,EvictionPriority)	\
1945     ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
1946 
1947 #define ID3D10Texture1D_GetEvictionPriority(This)	\
1948     ( (This)->lpVtbl -> GetEvictionPriority(This) )
1949 
1950 #define ID3D10Texture1D_Map(This,Subresource,MapType,MapFlags,ppData)	\
1951     ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,ppData) )
1952 
1953 #define ID3D10Texture1D_Unmap(This,Subresource)	\
1954     ( (This)->lpVtbl -> Unmap(This,Subresource) )
1955 
1956 #define ID3D10Texture1D_GetDesc(This,pDesc)	\
1957     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1958 
1959 #endif /* COBJMACROS */
1960 
1961 #endif 	/* C style interface */
1962 
1963 #endif 	/* __ID3D10Texture1D_INTERFACE_DEFINED__ */
1964 
1965 /* interface __MIDL_itf_d3d10_0000_0007 */
1966 /* [local] */
1967 
1968 typedef struct D3D10_TEXTURE2D_DESC
1969     {
1970     UINT Width;
1971     UINT Height;
1972     UINT MipLevels;
1973     UINT ArraySize;
1974     DXGI_FORMAT Format;
1975     DXGI_SAMPLE_DESC SampleDesc;
1976     D3D10_USAGE Usage;
1977     UINT BindFlags;
1978     UINT CPUAccessFlags;
1979     UINT MiscFlags;
1980     } 	D3D10_TEXTURE2D_DESC;
1981 
1982 #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
1983 struct CD3D10_TEXTURE2D_DESC : public D3D10_TEXTURE2D_DESC
1984 {
CD3D10_TEXTURE2D_DESCCD3D10_TEXTURE2D_DESC1985     CD3D10_TEXTURE2D_DESC()
1986     {}
CD3D10_TEXTURE2D_DESCCD3D10_TEXTURE2D_DESC1987     explicit CD3D10_TEXTURE2D_DESC( const D3D10_TEXTURE2D_DESC& o ) :
1988         D3D10_TEXTURE2D_DESC( o )
1989     {}
1990     explicit CD3D10_TEXTURE2D_DESC(
1991         DXGI_FORMAT format,
1992         UINT width,
1993         UINT height,
1994         UINT arraySize = 1,
1995         UINT mipLevels = 0,
1996         UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
1997         D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
1998         UINT cpuaccessFlags = 0,
1999         UINT sampleCount = 1,
2000         UINT sampleQuality = 0,
2001         UINT miscFlags = 0 )
2002     {
2003         Width = width;
2004         Height = height;
2005         MipLevels = mipLevels;
2006         ArraySize = arraySize;
2007         Format = format;
2008         SampleDesc.Count = sampleCount;
2009         SampleDesc.Quality = sampleQuality;
2010         Usage = usage;
2011         BindFlags = bindFlags;
2012         CPUAccessFlags = cpuaccessFlags;
2013         MiscFlags = miscFlags;
2014     }
~CD3D10_TEXTURE2D_DESCCD3D10_TEXTURE2D_DESC2015     ~CD3D10_TEXTURE2D_DESC() {}
2016     operator const D3D10_TEXTURE2D_DESC&() const { return *this; }
2017 };
2018 #endif
2019 typedef struct D3D10_MAPPED_TEXTURE2D
2020     {
2021     void *pData;
2022     UINT RowPitch;
2023     } 	D3D10_MAPPED_TEXTURE2D;
2024 
2025 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0007_v0_0_c_ifspec;
2026 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0007_v0_0_s_ifspec;
2027 
2028 #ifndef __ID3D10Texture2D_INTERFACE_DEFINED__
2029 #define __ID3D10Texture2D_INTERFACE_DEFINED__
2030 
2031 /* interface ID3D10Texture2D */
2032 /* [unique][local][object][uuid] */
2033 
2034 EXTERN_C const IID IID_ID3D10Texture2D;
2035 
2036 #if defined(__cplusplus) && !defined(CINTERFACE)
2037 
2038     MIDL_INTERFACE("9B7E4C04-342C-4106-A19F-4F2704F689F0")
2039     ID3D10Texture2D : public ID3D10Resource
2040     {
2041     public:
2042         virtual HRESULT STDMETHODCALLTYPE Map(
2043             /* [annotation] */
2044             _In_  UINT Subresource,
2045             /* [annotation] */
2046             _In_  D3D10_MAP MapType,
2047             /* [annotation] */
2048             _In_  UINT MapFlags,
2049             /* [annotation] */
2050             _Out_  D3D10_MAPPED_TEXTURE2D *pMappedTex2D) = 0;
2051 
2052         virtual void STDMETHODCALLTYPE Unmap(
2053             /* [annotation] */
2054             _In_  UINT Subresource) = 0;
2055 
2056         virtual void STDMETHODCALLTYPE GetDesc(
2057             /* [annotation] */
2058             _Out_  D3D10_TEXTURE2D_DESC *pDesc) = 0;
2059 
2060     };
2061 
2062 #else 	/* C style interface */
2063 
2064     typedef struct ID3D10Texture2DVtbl
2065     {
2066         BEGIN_INTERFACE
2067 
2068         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2069             ID3D10Texture2D * This,
2070             /* [in] */ REFIID riid,
2071             /* [annotation][iid_is][out] */
2072             _COM_Outptr_  void **ppvObject);
2073 
2074         ULONG ( STDMETHODCALLTYPE *AddRef )(
2075             ID3D10Texture2D * This);
2076 
2077         ULONG ( STDMETHODCALLTYPE *Release )(
2078             ID3D10Texture2D * This);
2079 
2080         void ( STDMETHODCALLTYPE *GetDevice )(
2081             ID3D10Texture2D * This,
2082             /* [annotation] */
2083             _Out_  ID3D10Device **ppDevice);
2084 
2085         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2086             ID3D10Texture2D * This,
2087             /* [annotation] */
2088             _In_  REFGUID guid,
2089             /* [annotation] */
2090             _Inout_  UINT *pDataSize,
2091             /* [annotation] */
2092             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
2093 
2094         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2095             ID3D10Texture2D * This,
2096             /* [annotation] */
2097             _In_  REFGUID guid,
2098             /* [annotation] */
2099             _In_  UINT DataSize,
2100             /* [annotation] */
2101             _In_reads_bytes_opt_(DataSize)  const void *pData);
2102 
2103         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2104             ID3D10Texture2D * This,
2105             /* [annotation] */
2106             _In_  REFGUID guid,
2107             /* [annotation] */
2108             _In_opt_  const IUnknown *pData);
2109 
2110         void ( STDMETHODCALLTYPE *GetType )(
2111             ID3D10Texture2D * This,
2112             /* [annotation] */
2113             _Out_  D3D10_RESOURCE_DIMENSION *rType);
2114 
2115         void ( STDMETHODCALLTYPE *SetEvictionPriority )(
2116             ID3D10Texture2D * This,
2117             /* [annotation] */
2118             _In_  UINT EvictionPriority);
2119 
2120         UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
2121             ID3D10Texture2D * This);
2122 
2123         HRESULT ( STDMETHODCALLTYPE *Map )(
2124             ID3D10Texture2D * This,
2125             /* [annotation] */
2126             _In_  UINT Subresource,
2127             /* [annotation] */
2128             _In_  D3D10_MAP MapType,
2129             /* [annotation] */
2130             _In_  UINT MapFlags,
2131             /* [annotation] */
2132             _Out_  D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
2133 
2134         void ( STDMETHODCALLTYPE *Unmap )(
2135             ID3D10Texture2D * This,
2136             /* [annotation] */
2137             _In_  UINT Subresource);
2138 
2139         void ( STDMETHODCALLTYPE *GetDesc )(
2140             ID3D10Texture2D * This,
2141             /* [annotation] */
2142             _Out_  D3D10_TEXTURE2D_DESC *pDesc);
2143 
2144         END_INTERFACE
2145     } ID3D10Texture2DVtbl;
2146 
2147     interface ID3D10Texture2D
2148     {
2149         CONST_VTBL struct ID3D10Texture2DVtbl *lpVtbl;
2150     };
2151 
2152 #ifdef COBJMACROS
2153 
2154 #define ID3D10Texture2D_QueryInterface(This,riid,ppvObject)	\
2155     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2156 
2157 #define ID3D10Texture2D_AddRef(This)	\
2158     ( (This)->lpVtbl -> AddRef(This) )
2159 
2160 #define ID3D10Texture2D_Release(This)	\
2161     ( (This)->lpVtbl -> Release(This) )
2162 
2163 #define ID3D10Texture2D_GetDevice(This,ppDevice)	\
2164     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
2165 
2166 #define ID3D10Texture2D_GetPrivateData(This,guid,pDataSize,pData)	\
2167     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
2168 
2169 #define ID3D10Texture2D_SetPrivateData(This,guid,DataSize,pData)	\
2170     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
2171 
2172 #define ID3D10Texture2D_SetPrivateDataInterface(This,guid,pData)	\
2173     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
2174 
2175 #define ID3D10Texture2D_GetType(This,rType)	\
2176     ( (This)->lpVtbl -> GetType(This,rType) )
2177 
2178 #define ID3D10Texture2D_SetEvictionPriority(This,EvictionPriority)	\
2179     ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
2180 
2181 #define ID3D10Texture2D_GetEvictionPriority(This)	\
2182     ( (This)->lpVtbl -> GetEvictionPriority(This) )
2183 
2184 #define ID3D10Texture2D_Map(This,Subresource,MapType,MapFlags,pMappedTex2D)	\
2185     ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,pMappedTex2D) )
2186 
2187 #define ID3D10Texture2D_Unmap(This,Subresource)	\
2188     ( (This)->lpVtbl -> Unmap(This,Subresource) )
2189 
2190 #define ID3D10Texture2D_GetDesc(This,pDesc)	\
2191     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
2192 
2193 #endif /* COBJMACROS */
2194 
2195 #endif 	/* C style interface */
2196 
2197 #endif 	/* __ID3D10Texture2D_INTERFACE_DEFINED__ */
2198 
2199 /* interface __MIDL_itf_d3d10_0000_0008 */
2200 /* [local] */
2201 
2202 typedef struct D3D10_TEXTURE3D_DESC
2203     {
2204     UINT Width;
2205     UINT Height;
2206     UINT Depth;
2207     UINT MipLevels;
2208     DXGI_FORMAT Format;
2209     D3D10_USAGE Usage;
2210     UINT BindFlags;
2211     UINT CPUAccessFlags;
2212     UINT MiscFlags;
2213     } 	D3D10_TEXTURE3D_DESC;
2214 
2215 #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
2216 struct CD3D10_TEXTURE3D_DESC : public D3D10_TEXTURE3D_DESC
2217 {
CD3D10_TEXTURE3D_DESCCD3D10_TEXTURE3D_DESC2218     CD3D10_TEXTURE3D_DESC()
2219     {}
CD3D10_TEXTURE3D_DESCCD3D10_TEXTURE3D_DESC2220     explicit CD3D10_TEXTURE3D_DESC( const D3D10_TEXTURE3D_DESC& o ) :
2221         D3D10_TEXTURE3D_DESC( o )
2222     {}
2223     explicit CD3D10_TEXTURE3D_DESC(
2224         DXGI_FORMAT format,
2225         UINT width,
2226         UINT height,
2227         UINT depth,
2228         UINT mipLevels = 0,
2229         UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
2230         D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
2231         UINT cpuaccessFlags = 0,
2232         UINT miscFlags = 0 )
2233     {
2234         Width = width;
2235         Height = height;
2236         Depth = depth;
2237         MipLevels = mipLevels;
2238         Format = format;
2239         Usage = usage;
2240         BindFlags = bindFlags;
2241         CPUAccessFlags = cpuaccessFlags;
2242         MiscFlags = miscFlags;
2243     }
~CD3D10_TEXTURE3D_DESCCD3D10_TEXTURE3D_DESC2244     ~CD3D10_TEXTURE3D_DESC() {}
2245     operator const D3D10_TEXTURE3D_DESC&() const { return *this; }
2246 };
2247 #endif
2248 typedef struct D3D10_MAPPED_TEXTURE3D
2249     {
2250     void *pData;
2251     UINT RowPitch;
2252     UINT DepthPitch;
2253     } 	D3D10_MAPPED_TEXTURE3D;
2254 
2255 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0008_v0_0_c_ifspec;
2256 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0008_v0_0_s_ifspec;
2257 
2258 #ifndef __ID3D10Texture3D_INTERFACE_DEFINED__
2259 #define __ID3D10Texture3D_INTERFACE_DEFINED__
2260 
2261 /* interface ID3D10Texture3D */
2262 /* [unique][local][object][uuid] */
2263 
2264 EXTERN_C const IID IID_ID3D10Texture3D;
2265 
2266 #if defined(__cplusplus) && !defined(CINTERFACE)
2267 
2268     MIDL_INTERFACE("9B7E4C05-342C-4106-A19F-4F2704F689F0")
2269     ID3D10Texture3D : public ID3D10Resource
2270     {
2271     public:
2272         virtual HRESULT STDMETHODCALLTYPE Map(
2273             /* [annotation] */
2274             _In_  UINT Subresource,
2275             /* [annotation] */
2276             _In_  D3D10_MAP MapType,
2277             /* [annotation] */
2278             _In_  UINT MapFlags,
2279             /* [annotation] */
2280             _Out_  D3D10_MAPPED_TEXTURE3D *pMappedTex3D) = 0;
2281 
2282         virtual void STDMETHODCALLTYPE Unmap(
2283             /* [annotation] */
2284             _In_  UINT Subresource) = 0;
2285 
2286         virtual void STDMETHODCALLTYPE GetDesc(
2287             /* [annotation] */
2288             _Out_  D3D10_TEXTURE3D_DESC *pDesc) = 0;
2289 
2290     };
2291 
2292 #else 	/* C style interface */
2293 
2294     typedef struct ID3D10Texture3DVtbl
2295     {
2296         BEGIN_INTERFACE
2297 
2298         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2299             ID3D10Texture3D * This,
2300             /* [in] */ REFIID riid,
2301             /* [annotation][iid_is][out] */
2302             _COM_Outptr_  void **ppvObject);
2303 
2304         ULONG ( STDMETHODCALLTYPE *AddRef )(
2305             ID3D10Texture3D * This);
2306 
2307         ULONG ( STDMETHODCALLTYPE *Release )(
2308             ID3D10Texture3D * This);
2309 
2310         void ( STDMETHODCALLTYPE *GetDevice )(
2311             ID3D10Texture3D * This,
2312             /* [annotation] */
2313             _Out_  ID3D10Device **ppDevice);
2314 
2315         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2316             ID3D10Texture3D * This,
2317             /* [annotation] */
2318             _In_  REFGUID guid,
2319             /* [annotation] */
2320             _Inout_  UINT *pDataSize,
2321             /* [annotation] */
2322             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
2323 
2324         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2325             ID3D10Texture3D * This,
2326             /* [annotation] */
2327             _In_  REFGUID guid,
2328             /* [annotation] */
2329             _In_  UINT DataSize,
2330             /* [annotation] */
2331             _In_reads_bytes_opt_(DataSize)  const void *pData);
2332 
2333         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2334             ID3D10Texture3D * This,
2335             /* [annotation] */
2336             _In_  REFGUID guid,
2337             /* [annotation] */
2338             _In_opt_  const IUnknown *pData);
2339 
2340         void ( STDMETHODCALLTYPE *GetType )(
2341             ID3D10Texture3D * This,
2342             /* [annotation] */
2343             _Out_  D3D10_RESOURCE_DIMENSION *rType);
2344 
2345         void ( STDMETHODCALLTYPE *SetEvictionPriority )(
2346             ID3D10Texture3D * This,
2347             /* [annotation] */
2348             _In_  UINT EvictionPriority);
2349 
2350         UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
2351             ID3D10Texture3D * This);
2352 
2353         HRESULT ( STDMETHODCALLTYPE *Map )(
2354             ID3D10Texture3D * This,
2355             /* [annotation] */
2356             _In_  UINT Subresource,
2357             /* [annotation] */
2358             _In_  D3D10_MAP MapType,
2359             /* [annotation] */
2360             _In_  UINT MapFlags,
2361             /* [annotation] */
2362             _Out_  D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
2363 
2364         void ( STDMETHODCALLTYPE *Unmap )(
2365             ID3D10Texture3D * This,
2366             /* [annotation] */
2367             _In_  UINT Subresource);
2368 
2369         void ( STDMETHODCALLTYPE *GetDesc )(
2370             ID3D10Texture3D * This,
2371             /* [annotation] */
2372             _Out_  D3D10_TEXTURE3D_DESC *pDesc);
2373 
2374         END_INTERFACE
2375     } ID3D10Texture3DVtbl;
2376 
2377     interface ID3D10Texture3D
2378     {
2379         CONST_VTBL struct ID3D10Texture3DVtbl *lpVtbl;
2380     };
2381 
2382 #ifdef COBJMACROS
2383 
2384 #define ID3D10Texture3D_QueryInterface(This,riid,ppvObject)	\
2385     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2386 
2387 #define ID3D10Texture3D_AddRef(This)	\
2388     ( (This)->lpVtbl -> AddRef(This) )
2389 
2390 #define ID3D10Texture3D_Release(This)	\
2391     ( (This)->lpVtbl -> Release(This) )
2392 
2393 #define ID3D10Texture3D_GetDevice(This,ppDevice)	\
2394     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
2395 
2396 #define ID3D10Texture3D_GetPrivateData(This,guid,pDataSize,pData)	\
2397     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
2398 
2399 #define ID3D10Texture3D_SetPrivateData(This,guid,DataSize,pData)	\
2400     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
2401 
2402 #define ID3D10Texture3D_SetPrivateDataInterface(This,guid,pData)	\
2403     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
2404 
2405 #define ID3D10Texture3D_GetType(This,rType)	\
2406     ( (This)->lpVtbl -> GetType(This,rType) )
2407 
2408 #define ID3D10Texture3D_SetEvictionPriority(This,EvictionPriority)	\
2409     ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
2410 
2411 #define ID3D10Texture3D_GetEvictionPriority(This)	\
2412     ( (This)->lpVtbl -> GetEvictionPriority(This) )
2413 
2414 #define ID3D10Texture3D_Map(This,Subresource,MapType,MapFlags,pMappedTex3D)	\
2415     ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,pMappedTex3D) )
2416 
2417 #define ID3D10Texture3D_Unmap(This,Subresource)	\
2418     ( (This)->lpVtbl -> Unmap(This,Subresource) )
2419 
2420 #define ID3D10Texture3D_GetDesc(This,pDesc)	\
2421     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
2422 
2423 #endif /* COBJMACROS */
2424 
2425 #endif 	/* C style interface */
2426 
2427 #endif 	/* __ID3D10Texture3D_INTERFACE_DEFINED__ */
2428 
2429 /* interface __MIDL_itf_d3d10_0000_0009 */
2430 /* [local] */
2431 
2432 typedef
2433 enum D3D10_TEXTURECUBE_FACE
2434     {
2435         D3D10_TEXTURECUBE_FACE_POSITIVE_X	= 0,
2436         D3D10_TEXTURECUBE_FACE_NEGATIVE_X	= 1,
2437         D3D10_TEXTURECUBE_FACE_POSITIVE_Y	= 2,
2438         D3D10_TEXTURECUBE_FACE_NEGATIVE_Y	= 3,
2439         D3D10_TEXTURECUBE_FACE_POSITIVE_Z	= 4,
2440         D3D10_TEXTURECUBE_FACE_NEGATIVE_Z	= 5
2441     } 	D3D10_TEXTURECUBE_FACE;
2442 
2443 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0009_v0_0_c_ifspec;
2444 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0009_v0_0_s_ifspec;
2445 
2446 #ifndef __ID3D10View_INTERFACE_DEFINED__
2447 #define __ID3D10View_INTERFACE_DEFINED__
2448 
2449 /* interface ID3D10View */
2450 /* [unique][local][object][uuid] */
2451 
2452 EXTERN_C const IID IID_ID3D10View;
2453 
2454 #if defined(__cplusplus) && !defined(CINTERFACE)
2455 
2456     MIDL_INTERFACE("C902B03F-60A7-49BA-9936-2A3AB37A7E33")
2457     ID3D10View : public ID3D10DeviceChild
2458     {
2459     public:
2460         virtual void STDMETHODCALLTYPE GetResource(
2461             /* [annotation] */
2462             _Out_  ID3D10Resource **ppResource) = 0;
2463 
2464     };
2465 
2466 #else 	/* C style interface */
2467 
2468     typedef struct ID3D10ViewVtbl
2469     {
2470         BEGIN_INTERFACE
2471 
2472         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2473             ID3D10View * This,
2474             /* [in] */ REFIID riid,
2475             /* [annotation][iid_is][out] */
2476             _COM_Outptr_  void **ppvObject);
2477 
2478         ULONG ( STDMETHODCALLTYPE *AddRef )(
2479             ID3D10View * This);
2480 
2481         ULONG ( STDMETHODCALLTYPE *Release )(
2482             ID3D10View * This);
2483 
2484         void ( STDMETHODCALLTYPE *GetDevice )(
2485             ID3D10View * This,
2486             /* [annotation] */
2487             _Out_  ID3D10Device **ppDevice);
2488 
2489         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2490             ID3D10View * This,
2491             /* [annotation] */
2492             _In_  REFGUID guid,
2493             /* [annotation] */
2494             _Inout_  UINT *pDataSize,
2495             /* [annotation] */
2496             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
2497 
2498         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2499             ID3D10View * This,
2500             /* [annotation] */
2501             _In_  REFGUID guid,
2502             /* [annotation] */
2503             _In_  UINT DataSize,
2504             /* [annotation] */
2505             _In_reads_bytes_opt_(DataSize)  const void *pData);
2506 
2507         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2508             ID3D10View * This,
2509             /* [annotation] */
2510             _In_  REFGUID guid,
2511             /* [annotation] */
2512             _In_opt_  const IUnknown *pData);
2513 
2514         void ( STDMETHODCALLTYPE *GetResource )(
2515             ID3D10View * This,
2516             /* [annotation] */
2517             _Out_  ID3D10Resource **ppResource);
2518 
2519         END_INTERFACE
2520     } ID3D10ViewVtbl;
2521 
2522     interface ID3D10View
2523     {
2524         CONST_VTBL struct ID3D10ViewVtbl *lpVtbl;
2525     };
2526 
2527 #ifdef COBJMACROS
2528 
2529 #define ID3D10View_QueryInterface(This,riid,ppvObject)	\
2530     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2531 
2532 #define ID3D10View_AddRef(This)	\
2533     ( (This)->lpVtbl -> AddRef(This) )
2534 
2535 #define ID3D10View_Release(This)	\
2536     ( (This)->lpVtbl -> Release(This) )
2537 
2538 #define ID3D10View_GetDevice(This,ppDevice)	\
2539     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
2540 
2541 #define ID3D10View_GetPrivateData(This,guid,pDataSize,pData)	\
2542     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
2543 
2544 #define ID3D10View_SetPrivateData(This,guid,DataSize,pData)	\
2545     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
2546 
2547 #define ID3D10View_SetPrivateDataInterface(This,guid,pData)	\
2548     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
2549 
2550 #define ID3D10View_GetResource(This,ppResource)	\
2551     ( (This)->lpVtbl -> GetResource(This,ppResource) )
2552 
2553 #endif /* COBJMACROS */
2554 
2555 #endif 	/* C style interface */
2556 
2557 #endif 	/* __ID3D10View_INTERFACE_DEFINED__ */
2558 
2559 /* interface __MIDL_itf_d3d10_0000_0010 */
2560 /* [local] */
2561 
2562 typedef struct D3D10_BUFFER_SRV
2563     {
2564     union
2565         {
2566         UINT FirstElement;
2567         UINT ElementOffset;
2568         } 	;
2569     union
2570         {
2571         UINT NumElements;
2572         UINT ElementWidth;
2573         } 	;
2574     } 	D3D10_BUFFER_SRV;
2575 
2576 typedef struct D3D10_TEX1D_SRV
2577     {
2578     UINT MostDetailedMip;
2579     UINT MipLevels;
2580     } 	D3D10_TEX1D_SRV;
2581 
2582 typedef struct D3D10_TEX1D_ARRAY_SRV
2583     {
2584     UINT MostDetailedMip;
2585     UINT MipLevels;
2586     UINT FirstArraySlice;
2587     UINT ArraySize;
2588     } 	D3D10_TEX1D_ARRAY_SRV;
2589 
2590 typedef struct D3D10_TEX2D_SRV
2591     {
2592     UINT MostDetailedMip;
2593     UINT MipLevels;
2594     } 	D3D10_TEX2D_SRV;
2595 
2596 typedef struct D3D10_TEX2D_ARRAY_SRV
2597     {
2598     UINT MostDetailedMip;
2599     UINT MipLevels;
2600     UINT FirstArraySlice;
2601     UINT ArraySize;
2602     } 	D3D10_TEX2D_ARRAY_SRV;
2603 
2604 typedef struct D3D10_TEX3D_SRV
2605     {
2606     UINT MostDetailedMip;
2607     UINT MipLevels;
2608     } 	D3D10_TEX3D_SRV;
2609 
2610 typedef struct D3D10_TEXCUBE_SRV
2611     {
2612     UINT MostDetailedMip;
2613     UINT MipLevels;
2614     } 	D3D10_TEXCUBE_SRV;
2615 
2616 typedef struct D3D10_TEX2DMS_SRV
2617     {
2618     UINT UnusedField_NothingToDefine;
2619     } 	D3D10_TEX2DMS_SRV;
2620 
2621 typedef struct D3D10_TEX2DMS_ARRAY_SRV
2622     {
2623     UINT FirstArraySlice;
2624     UINT ArraySize;
2625     } 	D3D10_TEX2DMS_ARRAY_SRV;
2626 
2627 typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC
2628     {
2629     DXGI_FORMAT Format;
2630     D3D10_SRV_DIMENSION ViewDimension;
2631     union
2632         {
2633         D3D10_BUFFER_SRV Buffer;
2634         D3D10_TEX1D_SRV Texture1D;
2635         D3D10_TEX1D_ARRAY_SRV Texture1DArray;
2636         D3D10_TEX2D_SRV Texture2D;
2637         D3D10_TEX2D_ARRAY_SRV Texture2DArray;
2638         D3D10_TEX2DMS_SRV Texture2DMS;
2639         D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
2640         D3D10_TEX3D_SRV Texture3D;
2641         D3D10_TEXCUBE_SRV TextureCube;
2642         } 	;
2643     } 	D3D10_SHADER_RESOURCE_VIEW_DESC;
2644 
2645 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0010_v0_0_c_ifspec;
2646 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0010_v0_0_s_ifspec;
2647 
2648 #ifndef __ID3D10ShaderResourceView_INTERFACE_DEFINED__
2649 #define __ID3D10ShaderResourceView_INTERFACE_DEFINED__
2650 
2651 /* interface ID3D10ShaderResourceView */
2652 /* [unique][local][object][uuid] */
2653 
2654 EXTERN_C const IID IID_ID3D10ShaderResourceView;
2655 
2656 #if defined(__cplusplus) && !defined(CINTERFACE)
2657 
2658     MIDL_INTERFACE("9B7E4C07-342C-4106-A19F-4F2704F689F0")
2659     ID3D10ShaderResourceView : public ID3D10View
2660     {
2661     public:
2662         virtual void STDMETHODCALLTYPE GetDesc(
2663             /* [annotation] */
2664             _Out_  D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
2665 
2666     };
2667 
2668 #else 	/* C style interface */
2669 
2670     typedef struct ID3D10ShaderResourceViewVtbl
2671     {
2672         BEGIN_INTERFACE
2673 
2674         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2675             ID3D10ShaderResourceView * This,
2676             /* [in] */ REFIID riid,
2677             /* [annotation][iid_is][out] */
2678             _COM_Outptr_  void **ppvObject);
2679 
2680         ULONG ( STDMETHODCALLTYPE *AddRef )(
2681             ID3D10ShaderResourceView * This);
2682 
2683         ULONG ( STDMETHODCALLTYPE *Release )(
2684             ID3D10ShaderResourceView * This);
2685 
2686         void ( STDMETHODCALLTYPE *GetDevice )(
2687             ID3D10ShaderResourceView * This,
2688             /* [annotation] */
2689             _Out_  ID3D10Device **ppDevice);
2690 
2691         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2692             ID3D10ShaderResourceView * This,
2693             /* [annotation] */
2694             _In_  REFGUID guid,
2695             /* [annotation] */
2696             _Inout_  UINT *pDataSize,
2697             /* [annotation] */
2698             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
2699 
2700         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2701             ID3D10ShaderResourceView * This,
2702             /* [annotation] */
2703             _In_  REFGUID guid,
2704             /* [annotation] */
2705             _In_  UINT DataSize,
2706             /* [annotation] */
2707             _In_reads_bytes_opt_(DataSize)  const void *pData);
2708 
2709         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2710             ID3D10ShaderResourceView * This,
2711             /* [annotation] */
2712             _In_  REFGUID guid,
2713             /* [annotation] */
2714             _In_opt_  const IUnknown *pData);
2715 
2716         void ( STDMETHODCALLTYPE *GetResource )(
2717             ID3D10ShaderResourceView * This,
2718             /* [annotation] */
2719             _Out_  ID3D10Resource **ppResource);
2720 
2721         void ( STDMETHODCALLTYPE *GetDesc )(
2722             ID3D10ShaderResourceView * This,
2723             /* [annotation] */
2724             _Out_  D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
2725 
2726         END_INTERFACE
2727     } ID3D10ShaderResourceViewVtbl;
2728 
2729     interface ID3D10ShaderResourceView
2730     {
2731         CONST_VTBL struct ID3D10ShaderResourceViewVtbl *lpVtbl;
2732     };
2733 
2734 #ifdef COBJMACROS
2735 
2736 #define ID3D10ShaderResourceView_QueryInterface(This,riid,ppvObject)	\
2737     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2738 
2739 #define ID3D10ShaderResourceView_AddRef(This)	\
2740     ( (This)->lpVtbl -> AddRef(This) )
2741 
2742 #define ID3D10ShaderResourceView_Release(This)	\
2743     ( (This)->lpVtbl -> Release(This) )
2744 
2745 #define ID3D10ShaderResourceView_GetDevice(This,ppDevice)	\
2746     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
2747 
2748 #define ID3D10ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData)	\
2749     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
2750 
2751 #define ID3D10ShaderResourceView_SetPrivateData(This,guid,DataSize,pData)	\
2752     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
2753 
2754 #define ID3D10ShaderResourceView_SetPrivateDataInterface(This,guid,pData)	\
2755     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
2756 
2757 #define ID3D10ShaderResourceView_GetResource(This,ppResource)	\
2758     ( (This)->lpVtbl -> GetResource(This,ppResource) )
2759 
2760 #define ID3D10ShaderResourceView_GetDesc(This,pDesc)	\
2761     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
2762 
2763 #endif /* COBJMACROS */
2764 
2765 #endif 	/* C style interface */
2766 
2767 #endif 	/* __ID3D10ShaderResourceView_INTERFACE_DEFINED__ */
2768 
2769 /* interface __MIDL_itf_d3d10_0000_0011 */
2770 /* [local] */
2771 
2772 typedef struct D3D10_BUFFER_RTV
2773     {
2774     union
2775         {
2776         UINT FirstElement;
2777         UINT ElementOffset;
2778         } 	;
2779     union
2780         {
2781         UINT NumElements;
2782         UINT ElementWidth;
2783         } 	;
2784     } 	D3D10_BUFFER_RTV;
2785 
2786 typedef struct D3D10_TEX1D_RTV
2787     {
2788     UINT MipSlice;
2789     } 	D3D10_TEX1D_RTV;
2790 
2791 typedef struct D3D10_TEX1D_ARRAY_RTV
2792     {
2793     UINT MipSlice;
2794     UINT FirstArraySlice;
2795     UINT ArraySize;
2796     } 	D3D10_TEX1D_ARRAY_RTV;
2797 
2798 typedef struct D3D10_TEX2D_RTV
2799     {
2800     UINT MipSlice;
2801     } 	D3D10_TEX2D_RTV;
2802 
2803 typedef struct D3D10_TEX2DMS_RTV
2804     {
2805     UINT UnusedField_NothingToDefine;
2806     } 	D3D10_TEX2DMS_RTV;
2807 
2808 typedef struct D3D10_TEX2D_ARRAY_RTV
2809     {
2810     UINT MipSlice;
2811     UINT FirstArraySlice;
2812     UINT ArraySize;
2813     } 	D3D10_TEX2D_ARRAY_RTV;
2814 
2815 typedef struct D3D10_TEX2DMS_ARRAY_RTV
2816     {
2817     UINT FirstArraySlice;
2818     UINT ArraySize;
2819     } 	D3D10_TEX2DMS_ARRAY_RTV;
2820 
2821 typedef struct D3D10_TEX3D_RTV
2822     {
2823     UINT MipSlice;
2824     UINT FirstWSlice;
2825     UINT WSize;
2826     } 	D3D10_TEX3D_RTV;
2827 
2828 typedef struct D3D10_RENDER_TARGET_VIEW_DESC
2829     {
2830     DXGI_FORMAT Format;
2831     D3D10_RTV_DIMENSION ViewDimension;
2832     union
2833         {
2834         D3D10_BUFFER_RTV Buffer;
2835         D3D10_TEX1D_RTV Texture1D;
2836         D3D10_TEX1D_ARRAY_RTV Texture1DArray;
2837         D3D10_TEX2D_RTV Texture2D;
2838         D3D10_TEX2D_ARRAY_RTV Texture2DArray;
2839         D3D10_TEX2DMS_RTV Texture2DMS;
2840         D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
2841         D3D10_TEX3D_RTV Texture3D;
2842         } 	;
2843     } 	D3D10_RENDER_TARGET_VIEW_DESC;
2844 
2845 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0011_v0_0_c_ifspec;
2846 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0011_v0_0_s_ifspec;
2847 
2848 #ifndef __ID3D10RenderTargetView_INTERFACE_DEFINED__
2849 #define __ID3D10RenderTargetView_INTERFACE_DEFINED__
2850 
2851 /* interface ID3D10RenderTargetView */
2852 /* [unique][local][object][uuid] */
2853 
2854 EXTERN_C const IID IID_ID3D10RenderTargetView;
2855 
2856 #if defined(__cplusplus) && !defined(CINTERFACE)
2857 
2858     MIDL_INTERFACE("9B7E4C08-342C-4106-A19F-4F2704F689F0")
2859     ID3D10RenderTargetView : public ID3D10View
2860     {
2861     public:
2862         virtual void STDMETHODCALLTYPE GetDesc(
2863             /* [annotation] */
2864             _Out_  D3D10_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
2865 
2866     };
2867 
2868 #else 	/* C style interface */
2869 
2870     typedef struct ID3D10RenderTargetViewVtbl
2871     {
2872         BEGIN_INTERFACE
2873 
2874         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2875             ID3D10RenderTargetView * This,
2876             /* [in] */ REFIID riid,
2877             /* [annotation][iid_is][out] */
2878             _COM_Outptr_  void **ppvObject);
2879 
2880         ULONG ( STDMETHODCALLTYPE *AddRef )(
2881             ID3D10RenderTargetView * This);
2882 
2883         ULONG ( STDMETHODCALLTYPE *Release )(
2884             ID3D10RenderTargetView * This);
2885 
2886         void ( STDMETHODCALLTYPE *GetDevice )(
2887             ID3D10RenderTargetView * This,
2888             /* [annotation] */
2889             _Out_  ID3D10Device **ppDevice);
2890 
2891         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2892             ID3D10RenderTargetView * This,
2893             /* [annotation] */
2894             _In_  REFGUID guid,
2895             /* [annotation] */
2896             _Inout_  UINT *pDataSize,
2897             /* [annotation] */
2898             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
2899 
2900         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2901             ID3D10RenderTargetView * This,
2902             /* [annotation] */
2903             _In_  REFGUID guid,
2904             /* [annotation] */
2905             _In_  UINT DataSize,
2906             /* [annotation] */
2907             _In_reads_bytes_opt_(DataSize)  const void *pData);
2908 
2909         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2910             ID3D10RenderTargetView * This,
2911             /* [annotation] */
2912             _In_  REFGUID guid,
2913             /* [annotation] */
2914             _In_opt_  const IUnknown *pData);
2915 
2916         void ( STDMETHODCALLTYPE *GetResource )(
2917             ID3D10RenderTargetView * This,
2918             /* [annotation] */
2919             _Out_  ID3D10Resource **ppResource);
2920 
2921         void ( STDMETHODCALLTYPE *GetDesc )(
2922             ID3D10RenderTargetView * This,
2923             /* [annotation] */
2924             _Out_  D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
2925 
2926         END_INTERFACE
2927     } ID3D10RenderTargetViewVtbl;
2928 
2929     interface ID3D10RenderTargetView
2930     {
2931         CONST_VTBL struct ID3D10RenderTargetViewVtbl *lpVtbl;
2932     };
2933 
2934 #ifdef COBJMACROS
2935 
2936 #define ID3D10RenderTargetView_QueryInterface(This,riid,ppvObject)	\
2937     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2938 
2939 #define ID3D10RenderTargetView_AddRef(This)	\
2940     ( (This)->lpVtbl -> AddRef(This) )
2941 
2942 #define ID3D10RenderTargetView_Release(This)	\
2943     ( (This)->lpVtbl -> Release(This) )
2944 
2945 #define ID3D10RenderTargetView_GetDevice(This,ppDevice)	\
2946     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
2947 
2948 #define ID3D10RenderTargetView_GetPrivateData(This,guid,pDataSize,pData)	\
2949     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
2950 
2951 #define ID3D10RenderTargetView_SetPrivateData(This,guid,DataSize,pData)	\
2952     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
2953 
2954 #define ID3D10RenderTargetView_SetPrivateDataInterface(This,guid,pData)	\
2955     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
2956 
2957 #define ID3D10RenderTargetView_GetResource(This,ppResource)	\
2958     ( (This)->lpVtbl -> GetResource(This,ppResource) )
2959 
2960 #define ID3D10RenderTargetView_GetDesc(This,pDesc)	\
2961     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
2962 
2963 #endif /* COBJMACROS */
2964 
2965 #endif 	/* C style interface */
2966 
2967 #endif 	/* __ID3D10RenderTargetView_INTERFACE_DEFINED__ */
2968 
2969 /* interface __MIDL_itf_d3d10_0000_0012 */
2970 /* [local] */
2971 
2972 typedef struct D3D10_TEX1D_DSV
2973     {
2974     UINT MipSlice;
2975     } 	D3D10_TEX1D_DSV;
2976 
2977 typedef struct D3D10_TEX1D_ARRAY_DSV
2978     {
2979     UINT MipSlice;
2980     UINT FirstArraySlice;
2981     UINT ArraySize;
2982     } 	D3D10_TEX1D_ARRAY_DSV;
2983 
2984 typedef struct D3D10_TEX2D_DSV
2985     {
2986     UINT MipSlice;
2987     } 	D3D10_TEX2D_DSV;
2988 
2989 typedef struct D3D10_TEX2D_ARRAY_DSV
2990     {
2991     UINT MipSlice;
2992     UINT FirstArraySlice;
2993     UINT ArraySize;
2994     } 	D3D10_TEX2D_ARRAY_DSV;
2995 
2996 typedef struct D3D10_TEX2DMS_DSV
2997     {
2998     UINT UnusedField_NothingToDefine;
2999     } 	D3D10_TEX2DMS_DSV;
3000 
3001 typedef struct D3D10_TEX2DMS_ARRAY_DSV
3002     {
3003     UINT FirstArraySlice;
3004     UINT ArraySize;
3005     } 	D3D10_TEX2DMS_ARRAY_DSV;
3006 
3007 typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC
3008     {
3009     DXGI_FORMAT Format;
3010     D3D10_DSV_DIMENSION ViewDimension;
3011     union
3012         {
3013         D3D10_TEX1D_DSV Texture1D;
3014         D3D10_TEX1D_ARRAY_DSV Texture1DArray;
3015         D3D10_TEX2D_DSV Texture2D;
3016         D3D10_TEX2D_ARRAY_DSV Texture2DArray;
3017         D3D10_TEX2DMS_DSV Texture2DMS;
3018         D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
3019         } 	;
3020     } 	D3D10_DEPTH_STENCIL_VIEW_DESC;
3021 
3022 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0012_v0_0_c_ifspec;
3023 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0012_v0_0_s_ifspec;
3024 
3025 #ifndef __ID3D10DepthStencilView_INTERFACE_DEFINED__
3026 #define __ID3D10DepthStencilView_INTERFACE_DEFINED__
3027 
3028 /* interface ID3D10DepthStencilView */
3029 /* [unique][local][object][uuid] */
3030 
3031 EXTERN_C const IID IID_ID3D10DepthStencilView;
3032 
3033 #if defined(__cplusplus) && !defined(CINTERFACE)
3034 
3035     MIDL_INTERFACE("9B7E4C09-342C-4106-A19F-4F2704F689F0")
3036     ID3D10DepthStencilView : public ID3D10View
3037     {
3038     public:
3039         virtual void STDMETHODCALLTYPE GetDesc(
3040             /* [annotation] */
3041             _Out_  D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
3042 
3043     };
3044 
3045 #else 	/* C style interface */
3046 
3047     typedef struct ID3D10DepthStencilViewVtbl
3048     {
3049         BEGIN_INTERFACE
3050 
3051         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3052             ID3D10DepthStencilView * This,
3053             /* [in] */ REFIID riid,
3054             /* [annotation][iid_is][out] */
3055             _COM_Outptr_  void **ppvObject);
3056 
3057         ULONG ( STDMETHODCALLTYPE *AddRef )(
3058             ID3D10DepthStencilView * This);
3059 
3060         ULONG ( STDMETHODCALLTYPE *Release )(
3061             ID3D10DepthStencilView * This);
3062 
3063         void ( STDMETHODCALLTYPE *GetDevice )(
3064             ID3D10DepthStencilView * This,
3065             /* [annotation] */
3066             _Out_  ID3D10Device **ppDevice);
3067 
3068         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3069             ID3D10DepthStencilView * This,
3070             /* [annotation] */
3071             _In_  REFGUID guid,
3072             /* [annotation] */
3073             _Inout_  UINT *pDataSize,
3074             /* [annotation] */
3075             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
3076 
3077         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3078             ID3D10DepthStencilView * This,
3079             /* [annotation] */
3080             _In_  REFGUID guid,
3081             /* [annotation] */
3082             _In_  UINT DataSize,
3083             /* [annotation] */
3084             _In_reads_bytes_opt_(DataSize)  const void *pData);
3085 
3086         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3087             ID3D10DepthStencilView * This,
3088             /* [annotation] */
3089             _In_  REFGUID guid,
3090             /* [annotation] */
3091             _In_opt_  const IUnknown *pData);
3092 
3093         void ( STDMETHODCALLTYPE *GetResource )(
3094             ID3D10DepthStencilView * This,
3095             /* [annotation] */
3096             _Out_  ID3D10Resource **ppResource);
3097 
3098         void ( STDMETHODCALLTYPE *GetDesc )(
3099             ID3D10DepthStencilView * This,
3100             /* [annotation] */
3101             _Out_  D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
3102 
3103         END_INTERFACE
3104     } ID3D10DepthStencilViewVtbl;
3105 
3106     interface ID3D10DepthStencilView
3107     {
3108         CONST_VTBL struct ID3D10DepthStencilViewVtbl *lpVtbl;
3109     };
3110 
3111 #ifdef COBJMACROS
3112 
3113 #define ID3D10DepthStencilView_QueryInterface(This,riid,ppvObject)	\
3114     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3115 
3116 #define ID3D10DepthStencilView_AddRef(This)	\
3117     ( (This)->lpVtbl -> AddRef(This) )
3118 
3119 #define ID3D10DepthStencilView_Release(This)	\
3120     ( (This)->lpVtbl -> Release(This) )
3121 
3122 #define ID3D10DepthStencilView_GetDevice(This,ppDevice)	\
3123     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
3124 
3125 #define ID3D10DepthStencilView_GetPrivateData(This,guid,pDataSize,pData)	\
3126     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3127 
3128 #define ID3D10DepthStencilView_SetPrivateData(This,guid,DataSize,pData)	\
3129     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3130 
3131 #define ID3D10DepthStencilView_SetPrivateDataInterface(This,guid,pData)	\
3132     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3133 
3134 #define ID3D10DepthStencilView_GetResource(This,ppResource)	\
3135     ( (This)->lpVtbl -> GetResource(This,ppResource) )
3136 
3137 #define ID3D10DepthStencilView_GetDesc(This,pDesc)	\
3138     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
3139 
3140 #endif /* COBJMACROS */
3141 
3142 #endif 	/* C style interface */
3143 
3144 #endif 	/* __ID3D10DepthStencilView_INTERFACE_DEFINED__ */
3145 
3146 #ifndef __ID3D10VertexShader_INTERFACE_DEFINED__
3147 #define __ID3D10VertexShader_INTERFACE_DEFINED__
3148 
3149 /* interface ID3D10VertexShader */
3150 /* [unique][local][object][uuid] */
3151 
3152 EXTERN_C const IID IID_ID3D10VertexShader;
3153 
3154 #if defined(__cplusplus) && !defined(CINTERFACE)
3155 
3156     MIDL_INTERFACE("9B7E4C0A-342C-4106-A19F-4F2704F689F0")
3157     ID3D10VertexShader : public ID3D10DeviceChild
3158     {
3159     public:
3160     };
3161 
3162 #else 	/* C style interface */
3163 
3164     typedef struct ID3D10VertexShaderVtbl
3165     {
3166         BEGIN_INTERFACE
3167 
3168         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3169             ID3D10VertexShader * This,
3170             /* [in] */ REFIID riid,
3171             /* [annotation][iid_is][out] */
3172             _COM_Outptr_  void **ppvObject);
3173 
3174         ULONG ( STDMETHODCALLTYPE *AddRef )(
3175             ID3D10VertexShader * This);
3176 
3177         ULONG ( STDMETHODCALLTYPE *Release )(
3178             ID3D10VertexShader * This);
3179 
3180         void ( STDMETHODCALLTYPE *GetDevice )(
3181             ID3D10VertexShader * This,
3182             /* [annotation] */
3183             _Out_  ID3D10Device **ppDevice);
3184 
3185         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3186             ID3D10VertexShader * This,
3187             /* [annotation] */
3188             _In_  REFGUID guid,
3189             /* [annotation] */
3190             _Inout_  UINT *pDataSize,
3191             /* [annotation] */
3192             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
3193 
3194         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3195             ID3D10VertexShader * This,
3196             /* [annotation] */
3197             _In_  REFGUID guid,
3198             /* [annotation] */
3199             _In_  UINT DataSize,
3200             /* [annotation] */
3201             _In_reads_bytes_opt_(DataSize)  const void *pData);
3202 
3203         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3204             ID3D10VertexShader * This,
3205             /* [annotation] */
3206             _In_  REFGUID guid,
3207             /* [annotation] */
3208             _In_opt_  const IUnknown *pData);
3209 
3210         END_INTERFACE
3211     } ID3D10VertexShaderVtbl;
3212 
3213     interface ID3D10VertexShader
3214     {
3215         CONST_VTBL struct ID3D10VertexShaderVtbl *lpVtbl;
3216     };
3217 
3218 #ifdef COBJMACROS
3219 
3220 #define ID3D10VertexShader_QueryInterface(This,riid,ppvObject)	\
3221     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3222 
3223 #define ID3D10VertexShader_AddRef(This)	\
3224     ( (This)->lpVtbl -> AddRef(This) )
3225 
3226 #define ID3D10VertexShader_Release(This)	\
3227     ( (This)->lpVtbl -> Release(This) )
3228 
3229 #define ID3D10VertexShader_GetDevice(This,ppDevice)	\
3230     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
3231 
3232 #define ID3D10VertexShader_GetPrivateData(This,guid,pDataSize,pData)	\
3233     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3234 
3235 #define ID3D10VertexShader_SetPrivateData(This,guid,DataSize,pData)	\
3236     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3237 
3238 #define ID3D10VertexShader_SetPrivateDataInterface(This,guid,pData)	\
3239     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3240 
3241 #endif /* COBJMACROS */
3242 
3243 #endif 	/* C style interface */
3244 
3245 #endif 	/* __ID3D10VertexShader_INTERFACE_DEFINED__ */
3246 
3247 #ifndef __ID3D10GeometryShader_INTERFACE_DEFINED__
3248 #define __ID3D10GeometryShader_INTERFACE_DEFINED__
3249 
3250 /* interface ID3D10GeometryShader */
3251 /* [unique][local][object][uuid] */
3252 
3253 EXTERN_C const IID IID_ID3D10GeometryShader;
3254 
3255 #if defined(__cplusplus) && !defined(CINTERFACE)
3256 
3257     MIDL_INTERFACE("6316BE88-54CD-4040-AB44-20461BC81F68")
3258     ID3D10GeometryShader : public ID3D10DeviceChild
3259     {
3260     public:
3261     };
3262 
3263 #else 	/* C style interface */
3264 
3265     typedef struct ID3D10GeometryShaderVtbl
3266     {
3267         BEGIN_INTERFACE
3268 
3269         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3270             ID3D10GeometryShader * This,
3271             /* [in] */ REFIID riid,
3272             /* [annotation][iid_is][out] */
3273             _COM_Outptr_  void **ppvObject);
3274 
3275         ULONG ( STDMETHODCALLTYPE *AddRef )(
3276             ID3D10GeometryShader * This);
3277 
3278         ULONG ( STDMETHODCALLTYPE *Release )(
3279             ID3D10GeometryShader * This);
3280 
3281         void ( STDMETHODCALLTYPE *GetDevice )(
3282             ID3D10GeometryShader * This,
3283             /* [annotation] */
3284             _Out_  ID3D10Device **ppDevice);
3285 
3286         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3287             ID3D10GeometryShader * This,
3288             /* [annotation] */
3289             _In_  REFGUID guid,
3290             /* [annotation] */
3291             _Inout_  UINT *pDataSize,
3292             /* [annotation] */
3293             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
3294 
3295         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3296             ID3D10GeometryShader * This,
3297             /* [annotation] */
3298             _In_  REFGUID guid,
3299             /* [annotation] */
3300             _In_  UINT DataSize,
3301             /* [annotation] */
3302             _In_reads_bytes_opt_(DataSize)  const void *pData);
3303 
3304         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3305             ID3D10GeometryShader * This,
3306             /* [annotation] */
3307             _In_  REFGUID guid,
3308             /* [annotation] */
3309             _In_opt_  const IUnknown *pData);
3310 
3311         END_INTERFACE
3312     } ID3D10GeometryShaderVtbl;
3313 
3314     interface ID3D10GeometryShader
3315     {
3316         CONST_VTBL struct ID3D10GeometryShaderVtbl *lpVtbl;
3317     };
3318 
3319 #ifdef COBJMACROS
3320 
3321 #define ID3D10GeometryShader_QueryInterface(This,riid,ppvObject)	\
3322     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3323 
3324 #define ID3D10GeometryShader_AddRef(This)	\
3325     ( (This)->lpVtbl -> AddRef(This) )
3326 
3327 #define ID3D10GeometryShader_Release(This)	\
3328     ( (This)->lpVtbl -> Release(This) )
3329 
3330 #define ID3D10GeometryShader_GetDevice(This,ppDevice)	\
3331     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
3332 
3333 #define ID3D10GeometryShader_GetPrivateData(This,guid,pDataSize,pData)	\
3334     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3335 
3336 #define ID3D10GeometryShader_SetPrivateData(This,guid,DataSize,pData)	\
3337     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3338 
3339 #define ID3D10GeometryShader_SetPrivateDataInterface(This,guid,pData)	\
3340     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3341 
3342 #endif /* COBJMACROS */
3343 
3344 #endif 	/* C style interface */
3345 
3346 #endif 	/* __ID3D10GeometryShader_INTERFACE_DEFINED__ */
3347 
3348 #ifndef __ID3D10PixelShader_INTERFACE_DEFINED__
3349 #define __ID3D10PixelShader_INTERFACE_DEFINED__
3350 
3351 /* interface ID3D10PixelShader */
3352 /* [unique][local][object][uuid] */
3353 
3354 EXTERN_C const IID IID_ID3D10PixelShader;
3355 
3356 #if defined(__cplusplus) && !defined(CINTERFACE)
3357 
3358     MIDL_INTERFACE("4968B601-9D00-4cde-8346-8E7F675819B6")
3359     ID3D10PixelShader : public ID3D10DeviceChild
3360     {
3361     public:
3362     };
3363 
3364 #else 	/* C style interface */
3365 
3366     typedef struct ID3D10PixelShaderVtbl
3367     {
3368         BEGIN_INTERFACE
3369 
3370         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3371             ID3D10PixelShader * This,
3372             /* [in] */ REFIID riid,
3373             /* [annotation][iid_is][out] */
3374             _COM_Outptr_  void **ppvObject);
3375 
3376         ULONG ( STDMETHODCALLTYPE *AddRef )(
3377             ID3D10PixelShader * This);
3378 
3379         ULONG ( STDMETHODCALLTYPE *Release )(
3380             ID3D10PixelShader * This);
3381 
3382         void ( STDMETHODCALLTYPE *GetDevice )(
3383             ID3D10PixelShader * This,
3384             /* [annotation] */
3385             _Out_  ID3D10Device **ppDevice);
3386 
3387         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3388             ID3D10PixelShader * This,
3389             /* [annotation] */
3390             _In_  REFGUID guid,
3391             /* [annotation] */
3392             _Inout_  UINT *pDataSize,
3393             /* [annotation] */
3394             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
3395 
3396         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3397             ID3D10PixelShader * This,
3398             /* [annotation] */
3399             _In_  REFGUID guid,
3400             /* [annotation] */
3401             _In_  UINT DataSize,
3402             /* [annotation] */
3403             _In_reads_bytes_opt_(DataSize)  const void *pData);
3404 
3405         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3406             ID3D10PixelShader * This,
3407             /* [annotation] */
3408             _In_  REFGUID guid,
3409             /* [annotation] */
3410             _In_opt_  const IUnknown *pData);
3411 
3412         END_INTERFACE
3413     } ID3D10PixelShaderVtbl;
3414 
3415     interface ID3D10PixelShader
3416     {
3417         CONST_VTBL struct ID3D10PixelShaderVtbl *lpVtbl;
3418     };
3419 
3420 #ifdef COBJMACROS
3421 
3422 #define ID3D10PixelShader_QueryInterface(This,riid,ppvObject)	\
3423     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3424 
3425 #define ID3D10PixelShader_AddRef(This)	\
3426     ( (This)->lpVtbl -> AddRef(This) )
3427 
3428 #define ID3D10PixelShader_Release(This)	\
3429     ( (This)->lpVtbl -> Release(This) )
3430 
3431 #define ID3D10PixelShader_GetDevice(This,ppDevice)	\
3432     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
3433 
3434 #define ID3D10PixelShader_GetPrivateData(This,guid,pDataSize,pData)	\
3435     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3436 
3437 #define ID3D10PixelShader_SetPrivateData(This,guid,DataSize,pData)	\
3438     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3439 
3440 #define ID3D10PixelShader_SetPrivateDataInterface(This,guid,pData)	\
3441     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3442 
3443 #endif /* COBJMACROS */
3444 
3445 #endif 	/* C style interface */
3446 
3447 #endif 	/* __ID3D10PixelShader_INTERFACE_DEFINED__ */
3448 
3449 #ifndef __ID3D10InputLayout_INTERFACE_DEFINED__
3450 #define __ID3D10InputLayout_INTERFACE_DEFINED__
3451 
3452 /* interface ID3D10InputLayout */
3453 /* [unique][local][object][uuid] */
3454 
3455 EXTERN_C const IID IID_ID3D10InputLayout;
3456 
3457 #if defined(__cplusplus) && !defined(CINTERFACE)
3458 
3459     MIDL_INTERFACE("9B7E4C0B-342C-4106-A19F-4F2704F689F0")
3460     ID3D10InputLayout : public ID3D10DeviceChild
3461     {
3462     public:
3463     };
3464 
3465 #else 	/* C style interface */
3466 
3467     typedef struct ID3D10InputLayoutVtbl
3468     {
3469         BEGIN_INTERFACE
3470 
3471         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3472             ID3D10InputLayout * This,
3473             /* [in] */ REFIID riid,
3474             /* [annotation][iid_is][out] */
3475             _COM_Outptr_  void **ppvObject);
3476 
3477         ULONG ( STDMETHODCALLTYPE *AddRef )(
3478             ID3D10InputLayout * This);
3479 
3480         ULONG ( STDMETHODCALLTYPE *Release )(
3481             ID3D10InputLayout * This);
3482 
3483         void ( STDMETHODCALLTYPE *GetDevice )(
3484             ID3D10InputLayout * This,
3485             /* [annotation] */
3486             _Out_  ID3D10Device **ppDevice);
3487 
3488         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3489             ID3D10InputLayout * This,
3490             /* [annotation] */
3491             _In_  REFGUID guid,
3492             /* [annotation] */
3493             _Inout_  UINT *pDataSize,
3494             /* [annotation] */
3495             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
3496 
3497         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3498             ID3D10InputLayout * This,
3499             /* [annotation] */
3500             _In_  REFGUID guid,
3501             /* [annotation] */
3502             _In_  UINT DataSize,
3503             /* [annotation] */
3504             _In_reads_bytes_opt_(DataSize)  const void *pData);
3505 
3506         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3507             ID3D10InputLayout * This,
3508             /* [annotation] */
3509             _In_  REFGUID guid,
3510             /* [annotation] */
3511             _In_opt_  const IUnknown *pData);
3512 
3513         END_INTERFACE
3514     } ID3D10InputLayoutVtbl;
3515 
3516     interface ID3D10InputLayout
3517     {
3518         CONST_VTBL struct ID3D10InputLayoutVtbl *lpVtbl;
3519     };
3520 
3521 #ifdef COBJMACROS
3522 
3523 #define ID3D10InputLayout_QueryInterface(This,riid,ppvObject)	\
3524     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3525 
3526 #define ID3D10InputLayout_AddRef(This)	\
3527     ( (This)->lpVtbl -> AddRef(This) )
3528 
3529 #define ID3D10InputLayout_Release(This)	\
3530     ( (This)->lpVtbl -> Release(This) )
3531 
3532 #define ID3D10InputLayout_GetDevice(This,ppDevice)	\
3533     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
3534 
3535 #define ID3D10InputLayout_GetPrivateData(This,guid,pDataSize,pData)	\
3536     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3537 
3538 #define ID3D10InputLayout_SetPrivateData(This,guid,DataSize,pData)	\
3539     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3540 
3541 #define ID3D10InputLayout_SetPrivateDataInterface(This,guid,pData)	\
3542     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3543 
3544 #endif /* COBJMACROS */
3545 
3546 #endif 	/* C style interface */
3547 
3548 #endif 	/* __ID3D10InputLayout_INTERFACE_DEFINED__ */
3549 
3550 /* interface __MIDL_itf_d3d10_0000_0017 */
3551 /* [local] */
3552 
3553 typedef
3554 enum D3D10_FILTER
3555     {
3556         D3D10_FILTER_MIN_MAG_MIP_POINT	= 0,
3557         D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR	= 0x1,
3558         D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT	= 0x4,
3559         D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR	= 0x5,
3560         D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT	= 0x10,
3561         D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR	= 0x11,
3562         D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT	= 0x14,
3563         D3D10_FILTER_MIN_MAG_MIP_LINEAR	= 0x15,
3564         D3D10_FILTER_ANISOTROPIC	= 0x55,
3565         D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT	= 0x80,
3566         D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR	= 0x81,
3567         D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT	= 0x84,
3568         D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR	= 0x85,
3569         D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT	= 0x90,
3570         D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR	= 0x91,
3571         D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT	= 0x94,
3572         D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR	= 0x95,
3573         D3D10_FILTER_COMPARISON_ANISOTROPIC	= 0xd5,
3574         D3D10_FILTER_TEXT_1BIT	= 0x80000000
3575     } 	D3D10_FILTER;
3576 
3577 typedef
3578 enum D3D10_FILTER_TYPE
3579     {
3580         D3D10_FILTER_TYPE_POINT	= 0,
3581         D3D10_FILTER_TYPE_LINEAR	= 1
3582     } 	D3D10_FILTER_TYPE;
3583 
3584 #define	D3D10_FILTER_TYPE_MASK	( 0x3 )
3585 
3586 #define	D3D10_MIN_FILTER_SHIFT	( 4 )
3587 
3588 #define	D3D10_MAG_FILTER_SHIFT	( 2 )
3589 
3590 #define	D3D10_MIP_FILTER_SHIFT	( 0 )
3591 
3592 #define	D3D10_COMPARISON_FILTERING_BIT	( 0x80 )
3593 
3594 #define	D3D10_ANISOTROPIC_FILTERING_BIT	( 0x40 )
3595 
3596 #define	D3D10_TEXT_1BIT_BIT	( 0x80000000 )
3597 
3598 #define D3D10_ENCODE_BASIC_FILTER( min, mag, mip, bComparison )                                           \
3599                                    ( ( D3D10_FILTER ) (                                                   \
3600                                    ( ( bComparison ) ? D3D10_COMPARISON_FILTERING_BIT : 0 ) |             \
3601                                    ( ( ( min ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MIN_FILTER_SHIFT ) |   \
3602                                    ( ( ( mag ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MAG_FILTER_SHIFT ) |   \
3603                                    ( ( ( mip ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MIP_FILTER_SHIFT ) ) )
3604 #define D3D10_ENCODE_ANISOTROPIC_FILTER( bComparison )                                                \
3605                                          ( ( D3D10_FILTER ) (                                         \
3606                                          D3D10_ANISOTROPIC_FILTERING_BIT |                            \
3607                                          D3D10_ENCODE_BASIC_FILTER( D3D10_FILTER_TYPE_LINEAR,         \
3608                                                                     D3D10_FILTER_TYPE_LINEAR,         \
3609                                                                     D3D10_FILTER_TYPE_LINEAR,         \
3610                                                                     bComparison ) ) )
3611 #define D3D10_DECODE_MIN_FILTER( d3d10Filter )                                                              \
3612                                  ( ( D3D10_FILTER_TYPE )                                                    \
3613                                  ( ( ( d3d10Filter ) >> D3D10_MIN_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
3614 #define D3D10_DECODE_MAG_FILTER( d3d10Filter )                                                              \
3615                                  ( ( D3D10_FILTER_TYPE )                                                    \
3616                                  ( ( ( d3d10Filter ) >> D3D10_MAG_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
3617 #define D3D10_DECODE_MIP_FILTER( d3d10Filter )                                                              \
3618                                  ( ( D3D10_FILTER_TYPE )                                                    \
3619                                  ( ( ( d3d10Filter ) >> D3D10_MIP_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
3620 #define D3D10_DECODE_IS_COMPARISON_FILTER( d3d10Filter )                                                    \
3621                                  ( ( d3d10Filter ) & D3D10_COMPARISON_FILTERING_BIT )
3622 #define D3D10_DECODE_IS_ANISOTROPIC_FILTER( d3d10Filter )                                               \
3623                             ( ( ( d3d10Filter ) & D3D10_ANISOTROPIC_FILTERING_BIT ) &&                  \
3624                             ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIN_FILTER( d3d10Filter ) ) &&   \
3625                             ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MAG_FILTER( d3d10Filter ) ) &&   \
3626                             ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIP_FILTER( d3d10Filter ) ) )
3627 #define D3D10_DECODE_IS_TEXT_1BIT_FILTER( d3d10Filter )                                             \
3628                                  ( ( d3d10Filter ) == D3D10_TEXT_1BIT_BIT )
3629 typedef
3630 enum D3D10_TEXTURE_ADDRESS_MODE
3631     {
3632         D3D10_TEXTURE_ADDRESS_WRAP	= 1,
3633         D3D10_TEXTURE_ADDRESS_MIRROR	= 2,
3634         D3D10_TEXTURE_ADDRESS_CLAMP	= 3,
3635         D3D10_TEXTURE_ADDRESS_BORDER	= 4,
3636         D3D10_TEXTURE_ADDRESS_MIRROR_ONCE	= 5
3637     } 	D3D10_TEXTURE_ADDRESS_MODE;
3638 
3639 typedef struct D3D10_SAMPLER_DESC
3640     {
3641     D3D10_FILTER Filter;
3642     D3D10_TEXTURE_ADDRESS_MODE AddressU;
3643     D3D10_TEXTURE_ADDRESS_MODE AddressV;
3644     D3D10_TEXTURE_ADDRESS_MODE AddressW;
3645     FLOAT MipLODBias;
3646     UINT MaxAnisotropy;
3647     D3D10_COMPARISON_FUNC ComparisonFunc;
3648     FLOAT BorderColor[ 4 ];
3649     FLOAT MinLOD;
3650     FLOAT MaxLOD;
3651     } 	D3D10_SAMPLER_DESC;
3652 
3653 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0017_v0_0_c_ifspec;
3654 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0017_v0_0_s_ifspec;
3655 
3656 #ifndef __ID3D10SamplerState_INTERFACE_DEFINED__
3657 #define __ID3D10SamplerState_INTERFACE_DEFINED__
3658 
3659 /* interface ID3D10SamplerState */
3660 /* [unique][local][object][uuid] */
3661 
3662 EXTERN_C const IID IID_ID3D10SamplerState;
3663 
3664 #if defined(__cplusplus) && !defined(CINTERFACE)
3665 
3666     MIDL_INTERFACE("9B7E4C0C-342C-4106-A19F-4F2704F689F0")
3667     ID3D10SamplerState : public ID3D10DeviceChild
3668     {
3669     public:
3670         virtual void STDMETHODCALLTYPE GetDesc(
3671             /* [annotation] */
3672             _Out_  D3D10_SAMPLER_DESC *pDesc) = 0;
3673 
3674     };
3675 
3676 #else 	/* C style interface */
3677 
3678     typedef struct ID3D10SamplerStateVtbl
3679     {
3680         BEGIN_INTERFACE
3681 
3682         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3683             ID3D10SamplerState * This,
3684             /* [in] */ REFIID riid,
3685             /* [annotation][iid_is][out] */
3686             _COM_Outptr_  void **ppvObject);
3687 
3688         ULONG ( STDMETHODCALLTYPE *AddRef )(
3689             ID3D10SamplerState * This);
3690 
3691         ULONG ( STDMETHODCALLTYPE *Release )(
3692             ID3D10SamplerState * This);
3693 
3694         void ( STDMETHODCALLTYPE *GetDevice )(
3695             ID3D10SamplerState * This,
3696             /* [annotation] */
3697             _Out_  ID3D10Device **ppDevice);
3698 
3699         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3700             ID3D10SamplerState * This,
3701             /* [annotation] */
3702             _In_  REFGUID guid,
3703             /* [annotation] */
3704             _Inout_  UINT *pDataSize,
3705             /* [annotation] */
3706             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
3707 
3708         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3709             ID3D10SamplerState * This,
3710             /* [annotation] */
3711             _In_  REFGUID guid,
3712             /* [annotation] */
3713             _In_  UINT DataSize,
3714             /* [annotation] */
3715             _In_reads_bytes_opt_(DataSize)  const void *pData);
3716 
3717         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3718             ID3D10SamplerState * This,
3719             /* [annotation] */
3720             _In_  REFGUID guid,
3721             /* [annotation] */
3722             _In_opt_  const IUnknown *pData);
3723 
3724         void ( STDMETHODCALLTYPE *GetDesc )(
3725             ID3D10SamplerState * This,
3726             /* [annotation] */
3727             _Out_  D3D10_SAMPLER_DESC *pDesc);
3728 
3729         END_INTERFACE
3730     } ID3D10SamplerStateVtbl;
3731 
3732     interface ID3D10SamplerState
3733     {
3734         CONST_VTBL struct ID3D10SamplerStateVtbl *lpVtbl;
3735     };
3736 
3737 #ifdef COBJMACROS
3738 
3739 #define ID3D10SamplerState_QueryInterface(This,riid,ppvObject)	\
3740     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3741 
3742 #define ID3D10SamplerState_AddRef(This)	\
3743     ( (This)->lpVtbl -> AddRef(This) )
3744 
3745 #define ID3D10SamplerState_Release(This)	\
3746     ( (This)->lpVtbl -> Release(This) )
3747 
3748 #define ID3D10SamplerState_GetDevice(This,ppDevice)	\
3749     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
3750 
3751 #define ID3D10SamplerState_GetPrivateData(This,guid,pDataSize,pData)	\
3752     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3753 
3754 #define ID3D10SamplerState_SetPrivateData(This,guid,DataSize,pData)	\
3755     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3756 
3757 #define ID3D10SamplerState_SetPrivateDataInterface(This,guid,pData)	\
3758     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3759 
3760 #define ID3D10SamplerState_GetDesc(This,pDesc)	\
3761     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
3762 
3763 #endif /* COBJMACROS */
3764 
3765 #endif 	/* C style interface */
3766 
3767 #endif 	/* __ID3D10SamplerState_INTERFACE_DEFINED__ */
3768 
3769 /* interface __MIDL_itf_d3d10_0000_0018 */
3770 /* [local] */
3771 
3772 typedef
3773 enum D3D10_FORMAT_SUPPORT
3774     {
3775         D3D10_FORMAT_SUPPORT_BUFFER	= 0x1,
3776         D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER	= 0x2,
3777         D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER	= 0x4,
3778         D3D10_FORMAT_SUPPORT_SO_BUFFER	= 0x8,
3779         D3D10_FORMAT_SUPPORT_TEXTURE1D	= 0x10,
3780         D3D10_FORMAT_SUPPORT_TEXTURE2D	= 0x20,
3781         D3D10_FORMAT_SUPPORT_TEXTURE3D	= 0x40,
3782         D3D10_FORMAT_SUPPORT_TEXTURECUBE	= 0x80,
3783         D3D10_FORMAT_SUPPORT_SHADER_LOAD	= 0x100,
3784         D3D10_FORMAT_SUPPORT_SHADER_SAMPLE	= 0x200,
3785         D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON	= 0x400,
3786         D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT	= 0x800,
3787         D3D10_FORMAT_SUPPORT_MIP	= 0x1000,
3788         D3D10_FORMAT_SUPPORT_MIP_AUTOGEN	= 0x2000,
3789         D3D10_FORMAT_SUPPORT_RENDER_TARGET	= 0x4000,
3790         D3D10_FORMAT_SUPPORT_BLENDABLE	= 0x8000,
3791         D3D10_FORMAT_SUPPORT_DEPTH_STENCIL	= 0x10000,
3792         D3D10_FORMAT_SUPPORT_CPU_LOCKABLE	= 0x20000,
3793         D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE	= 0x40000,
3794         D3D10_FORMAT_SUPPORT_DISPLAY	= 0x80000,
3795         D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT	= 0x100000,
3796         D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET	= 0x200000,
3797         D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD	= 0x400000,
3798         D3D10_FORMAT_SUPPORT_SHADER_GATHER	= 0x800000,
3799         D3D10_FORMAT_SUPPORT_BACK_BUFFER_CAST	= 0x1000000
3800     } 	D3D10_FORMAT_SUPPORT;
3801 
3802 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0018_v0_0_c_ifspec;
3803 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0018_v0_0_s_ifspec;
3804 
3805 #ifndef __ID3D10Asynchronous_INTERFACE_DEFINED__
3806 #define __ID3D10Asynchronous_INTERFACE_DEFINED__
3807 
3808 /* interface ID3D10Asynchronous */
3809 /* [unique][local][object][uuid] */
3810 
3811 EXTERN_C const IID IID_ID3D10Asynchronous;
3812 
3813 #if defined(__cplusplus) && !defined(CINTERFACE)
3814 
3815     MIDL_INTERFACE("9B7E4C0D-342C-4106-A19F-4F2704F689F0")
3816     ID3D10Asynchronous : public ID3D10DeviceChild
3817     {
3818     public:
3819         virtual void STDMETHODCALLTYPE Begin( void) = 0;
3820 
3821         virtual void STDMETHODCALLTYPE End( void) = 0;
3822 
3823         virtual HRESULT STDMETHODCALLTYPE GetData(
3824             /* [annotation] */
3825             _Out_writes_bytes_opt_(DataSize)  void *pData,
3826             /* [annotation] */
3827             _In_  UINT DataSize,
3828             /* [annotation] */
3829             _In_  UINT GetDataFlags) = 0;
3830 
3831         virtual UINT STDMETHODCALLTYPE GetDataSize( void) = 0;
3832 
3833     };
3834 
3835 #else 	/* C style interface */
3836 
3837     typedef struct ID3D10AsynchronousVtbl
3838     {
3839         BEGIN_INTERFACE
3840 
3841         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3842             ID3D10Asynchronous * This,
3843             /* [in] */ REFIID riid,
3844             /* [annotation][iid_is][out] */
3845             _COM_Outptr_  void **ppvObject);
3846 
3847         ULONG ( STDMETHODCALLTYPE *AddRef )(
3848             ID3D10Asynchronous * This);
3849 
3850         ULONG ( STDMETHODCALLTYPE *Release )(
3851             ID3D10Asynchronous * This);
3852 
3853         void ( STDMETHODCALLTYPE *GetDevice )(
3854             ID3D10Asynchronous * This,
3855             /* [annotation] */
3856             _Out_  ID3D10Device **ppDevice);
3857 
3858         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3859             ID3D10Asynchronous * This,
3860             /* [annotation] */
3861             _In_  REFGUID guid,
3862             /* [annotation] */
3863             _Inout_  UINT *pDataSize,
3864             /* [annotation] */
3865             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
3866 
3867         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3868             ID3D10Asynchronous * This,
3869             /* [annotation] */
3870             _In_  REFGUID guid,
3871             /* [annotation] */
3872             _In_  UINT DataSize,
3873             /* [annotation] */
3874             _In_reads_bytes_opt_(DataSize)  const void *pData);
3875 
3876         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3877             ID3D10Asynchronous * This,
3878             /* [annotation] */
3879             _In_  REFGUID guid,
3880             /* [annotation] */
3881             _In_opt_  const IUnknown *pData);
3882 
3883         void ( STDMETHODCALLTYPE *Begin )(
3884             ID3D10Asynchronous * This);
3885 
3886         void ( STDMETHODCALLTYPE *End )(
3887             ID3D10Asynchronous * This);
3888 
3889         HRESULT ( STDMETHODCALLTYPE *GetData )(
3890             ID3D10Asynchronous * This,
3891             /* [annotation] */
3892             _Out_writes_bytes_opt_(DataSize)  void *pData,
3893             /* [annotation] */
3894             _In_  UINT DataSize,
3895             /* [annotation] */
3896             _In_  UINT GetDataFlags);
3897 
3898         UINT ( STDMETHODCALLTYPE *GetDataSize )(
3899             ID3D10Asynchronous * This);
3900 
3901         END_INTERFACE
3902     } ID3D10AsynchronousVtbl;
3903 
3904     interface ID3D10Asynchronous
3905     {
3906         CONST_VTBL struct ID3D10AsynchronousVtbl *lpVtbl;
3907     };
3908 
3909 #ifdef COBJMACROS
3910 
3911 #define ID3D10Asynchronous_QueryInterface(This,riid,ppvObject)	\
3912     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3913 
3914 #define ID3D10Asynchronous_AddRef(This)	\
3915     ( (This)->lpVtbl -> AddRef(This) )
3916 
3917 #define ID3D10Asynchronous_Release(This)	\
3918     ( (This)->lpVtbl -> Release(This) )
3919 
3920 #define ID3D10Asynchronous_GetDevice(This,ppDevice)	\
3921     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
3922 
3923 #define ID3D10Asynchronous_GetPrivateData(This,guid,pDataSize,pData)	\
3924     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3925 
3926 #define ID3D10Asynchronous_SetPrivateData(This,guid,DataSize,pData)	\
3927     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3928 
3929 #define ID3D10Asynchronous_SetPrivateDataInterface(This,guid,pData)	\
3930     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3931 
3932 #define ID3D10Asynchronous_Begin(This)	\
3933     ( (This)->lpVtbl -> Begin(This) )
3934 
3935 #define ID3D10Asynchronous_End(This)	\
3936     ( (This)->lpVtbl -> End(This) )
3937 
3938 #define ID3D10Asynchronous_GetData(This,pData,DataSize,GetDataFlags)	\
3939     ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
3940 
3941 #define ID3D10Asynchronous_GetDataSize(This)	\
3942     ( (This)->lpVtbl -> GetDataSize(This) )
3943 
3944 #endif /* COBJMACROS */
3945 
3946 #endif 	/* C style interface */
3947 
3948 #endif 	/* __ID3D10Asynchronous_INTERFACE_DEFINED__ */
3949 
3950 /* interface __MIDL_itf_d3d10_0000_0019 */
3951 /* [local] */
3952 
3953 typedef
3954 enum D3D10_ASYNC_GETDATA_FLAG
3955     {
3956         D3D10_ASYNC_GETDATA_DONOTFLUSH	= 0x1
3957     } 	D3D10_ASYNC_GETDATA_FLAG;
3958 
3959 typedef
3960 enum D3D10_QUERY
3961     {
3962         D3D10_QUERY_EVENT	= 0,
3963         D3D10_QUERY_OCCLUSION	= ( D3D10_QUERY_EVENT + 1 ) ,
3964         D3D10_QUERY_TIMESTAMP	= ( D3D10_QUERY_OCCLUSION + 1 ) ,
3965         D3D10_QUERY_TIMESTAMP_DISJOINT	= ( D3D10_QUERY_TIMESTAMP + 1 ) ,
3966         D3D10_QUERY_PIPELINE_STATISTICS	= ( D3D10_QUERY_TIMESTAMP_DISJOINT + 1 ) ,
3967         D3D10_QUERY_OCCLUSION_PREDICATE	= ( D3D10_QUERY_PIPELINE_STATISTICS + 1 ) ,
3968         D3D10_QUERY_SO_STATISTICS	= ( D3D10_QUERY_OCCLUSION_PREDICATE + 1 ) ,
3969         D3D10_QUERY_SO_OVERFLOW_PREDICATE	= ( D3D10_QUERY_SO_STATISTICS + 1 )
3970     } 	D3D10_QUERY;
3971 
3972 typedef
3973 enum D3D10_QUERY_MISC_FLAG
3974     {
3975         D3D10_QUERY_MISC_PREDICATEHINT	= 0x1
3976     } 	D3D10_QUERY_MISC_FLAG;
3977 
3978 typedef struct D3D10_QUERY_DESC
3979     {
3980     D3D10_QUERY Query;
3981     UINT MiscFlags;
3982     } 	D3D10_QUERY_DESC;
3983 
3984 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0019_v0_0_c_ifspec;
3985 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0019_v0_0_s_ifspec;
3986 
3987 #ifndef __ID3D10Query_INTERFACE_DEFINED__
3988 #define __ID3D10Query_INTERFACE_DEFINED__
3989 
3990 /* interface ID3D10Query */
3991 /* [unique][local][object][uuid] */
3992 
3993 EXTERN_C const IID IID_ID3D10Query;
3994 
3995 #if defined(__cplusplus) && !defined(CINTERFACE)
3996 
3997     MIDL_INTERFACE("9B7E4C0E-342C-4106-A19F-4F2704F689F0")
3998     ID3D10Query : public ID3D10Asynchronous
3999     {
4000     public:
4001         virtual void STDMETHODCALLTYPE GetDesc(
4002             /* [annotation] */
4003             _Out_  D3D10_QUERY_DESC *pDesc) = 0;
4004 
4005     };
4006 
4007 #else 	/* C style interface */
4008 
4009     typedef struct ID3D10QueryVtbl
4010     {
4011         BEGIN_INTERFACE
4012 
4013         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4014             ID3D10Query * This,
4015             /* [in] */ REFIID riid,
4016             /* [annotation][iid_is][out] */
4017             _COM_Outptr_  void **ppvObject);
4018 
4019         ULONG ( STDMETHODCALLTYPE *AddRef )(
4020             ID3D10Query * This);
4021 
4022         ULONG ( STDMETHODCALLTYPE *Release )(
4023             ID3D10Query * This);
4024 
4025         void ( STDMETHODCALLTYPE *GetDevice )(
4026             ID3D10Query * This,
4027             /* [annotation] */
4028             _Out_  ID3D10Device **ppDevice);
4029 
4030         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4031             ID3D10Query * This,
4032             /* [annotation] */
4033             _In_  REFGUID guid,
4034             /* [annotation] */
4035             _Inout_  UINT *pDataSize,
4036             /* [annotation] */
4037             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
4038 
4039         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4040             ID3D10Query * This,
4041             /* [annotation] */
4042             _In_  REFGUID guid,
4043             /* [annotation] */
4044             _In_  UINT DataSize,
4045             /* [annotation] */
4046             _In_reads_bytes_opt_(DataSize)  const void *pData);
4047 
4048         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4049             ID3D10Query * This,
4050             /* [annotation] */
4051             _In_  REFGUID guid,
4052             /* [annotation] */
4053             _In_opt_  const IUnknown *pData);
4054 
4055         void ( STDMETHODCALLTYPE *Begin )(
4056             ID3D10Query * This);
4057 
4058         void ( STDMETHODCALLTYPE *End )(
4059             ID3D10Query * This);
4060 
4061         HRESULT ( STDMETHODCALLTYPE *GetData )(
4062             ID3D10Query * This,
4063             /* [annotation] */
4064             _Out_writes_bytes_opt_(DataSize)  void *pData,
4065             /* [annotation] */
4066             _In_  UINT DataSize,
4067             /* [annotation] */
4068             _In_  UINT GetDataFlags);
4069 
4070         UINT ( STDMETHODCALLTYPE *GetDataSize )(
4071             ID3D10Query * This);
4072 
4073         void ( STDMETHODCALLTYPE *GetDesc )(
4074             ID3D10Query * This,
4075             /* [annotation] */
4076             _Out_  D3D10_QUERY_DESC *pDesc);
4077 
4078         END_INTERFACE
4079     } ID3D10QueryVtbl;
4080 
4081     interface ID3D10Query
4082     {
4083         CONST_VTBL struct ID3D10QueryVtbl *lpVtbl;
4084     };
4085 
4086 #ifdef COBJMACROS
4087 
4088 #define ID3D10Query_QueryInterface(This,riid,ppvObject)	\
4089     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4090 
4091 #define ID3D10Query_AddRef(This)	\
4092     ( (This)->lpVtbl -> AddRef(This) )
4093 
4094 #define ID3D10Query_Release(This)	\
4095     ( (This)->lpVtbl -> Release(This) )
4096 
4097 #define ID3D10Query_GetDevice(This,ppDevice)	\
4098     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
4099 
4100 #define ID3D10Query_GetPrivateData(This,guid,pDataSize,pData)	\
4101     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4102 
4103 #define ID3D10Query_SetPrivateData(This,guid,DataSize,pData)	\
4104     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4105 
4106 #define ID3D10Query_SetPrivateDataInterface(This,guid,pData)	\
4107     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4108 
4109 #define ID3D10Query_Begin(This)	\
4110     ( (This)->lpVtbl -> Begin(This) )
4111 
4112 #define ID3D10Query_End(This)	\
4113     ( (This)->lpVtbl -> End(This) )
4114 
4115 #define ID3D10Query_GetData(This,pData,DataSize,GetDataFlags)	\
4116     ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
4117 
4118 #define ID3D10Query_GetDataSize(This)	\
4119     ( (This)->lpVtbl -> GetDataSize(This) )
4120 
4121 #define ID3D10Query_GetDesc(This,pDesc)	\
4122     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
4123 
4124 #endif /* COBJMACROS */
4125 
4126 #endif 	/* C style interface */
4127 
4128 #endif 	/* __ID3D10Query_INTERFACE_DEFINED__ */
4129 
4130 #ifndef __ID3D10Predicate_INTERFACE_DEFINED__
4131 #define __ID3D10Predicate_INTERFACE_DEFINED__
4132 
4133 /* interface ID3D10Predicate */
4134 /* [unique][local][object][uuid] */
4135 
4136 EXTERN_C const IID IID_ID3D10Predicate;
4137 
4138 #if defined(__cplusplus) && !defined(CINTERFACE)
4139 
4140     MIDL_INTERFACE("9B7E4C10-342C-4106-A19F-4F2704F689F0")
4141     ID3D10Predicate : public ID3D10Query
4142     {
4143     public:
4144     };
4145 
4146 #else 	/* C style interface */
4147 
4148     typedef struct ID3D10PredicateVtbl
4149     {
4150         BEGIN_INTERFACE
4151 
4152         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4153             ID3D10Predicate * This,
4154             /* [in] */ REFIID riid,
4155             /* [annotation][iid_is][out] */
4156             _COM_Outptr_  void **ppvObject);
4157 
4158         ULONG ( STDMETHODCALLTYPE *AddRef )(
4159             ID3D10Predicate * This);
4160 
4161         ULONG ( STDMETHODCALLTYPE *Release )(
4162             ID3D10Predicate * This);
4163 
4164         void ( STDMETHODCALLTYPE *GetDevice )(
4165             ID3D10Predicate * This,
4166             /* [annotation] */
4167             _Out_  ID3D10Device **ppDevice);
4168 
4169         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4170             ID3D10Predicate * This,
4171             /* [annotation] */
4172             _In_  REFGUID guid,
4173             /* [annotation] */
4174             _Inout_  UINT *pDataSize,
4175             /* [annotation] */
4176             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
4177 
4178         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4179             ID3D10Predicate * This,
4180             /* [annotation] */
4181             _In_  REFGUID guid,
4182             /* [annotation] */
4183             _In_  UINT DataSize,
4184             /* [annotation] */
4185             _In_reads_bytes_opt_(DataSize)  const void *pData);
4186 
4187         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4188             ID3D10Predicate * This,
4189             /* [annotation] */
4190             _In_  REFGUID guid,
4191             /* [annotation] */
4192             _In_opt_  const IUnknown *pData);
4193 
4194         void ( STDMETHODCALLTYPE *Begin )(
4195             ID3D10Predicate * This);
4196 
4197         void ( STDMETHODCALLTYPE *End )(
4198             ID3D10Predicate * This);
4199 
4200         HRESULT ( STDMETHODCALLTYPE *GetData )(
4201             ID3D10Predicate * This,
4202             /* [annotation] */
4203             _Out_writes_bytes_opt_(DataSize)  void *pData,
4204             /* [annotation] */
4205             _In_  UINT DataSize,
4206             /* [annotation] */
4207             _In_  UINT GetDataFlags);
4208 
4209         UINT ( STDMETHODCALLTYPE *GetDataSize )(
4210             ID3D10Predicate * This);
4211 
4212         void ( STDMETHODCALLTYPE *GetDesc )(
4213             ID3D10Predicate * This,
4214             /* [annotation] */
4215             _Out_  D3D10_QUERY_DESC *pDesc);
4216 
4217         END_INTERFACE
4218     } ID3D10PredicateVtbl;
4219 
4220     interface ID3D10Predicate
4221     {
4222         CONST_VTBL struct ID3D10PredicateVtbl *lpVtbl;
4223     };
4224 
4225 #ifdef COBJMACROS
4226 
4227 #define ID3D10Predicate_QueryInterface(This,riid,ppvObject)	\
4228     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4229 
4230 #define ID3D10Predicate_AddRef(This)	\
4231     ( (This)->lpVtbl -> AddRef(This) )
4232 
4233 #define ID3D10Predicate_Release(This)	\
4234     ( (This)->lpVtbl -> Release(This) )
4235 
4236 #define ID3D10Predicate_GetDevice(This,ppDevice)	\
4237     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
4238 
4239 #define ID3D10Predicate_GetPrivateData(This,guid,pDataSize,pData)	\
4240     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4241 
4242 #define ID3D10Predicate_SetPrivateData(This,guid,DataSize,pData)	\
4243     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4244 
4245 #define ID3D10Predicate_SetPrivateDataInterface(This,guid,pData)	\
4246     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4247 
4248 #define ID3D10Predicate_Begin(This)	\
4249     ( (This)->lpVtbl -> Begin(This) )
4250 
4251 #define ID3D10Predicate_End(This)	\
4252     ( (This)->lpVtbl -> End(This) )
4253 
4254 #define ID3D10Predicate_GetData(This,pData,DataSize,GetDataFlags)	\
4255     ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
4256 
4257 #define ID3D10Predicate_GetDataSize(This)	\
4258     ( (This)->lpVtbl -> GetDataSize(This) )
4259 
4260 #define ID3D10Predicate_GetDesc(This,pDesc)	\
4261     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
4262 
4263 #endif /* COBJMACROS */
4264 
4265 #endif 	/* C style interface */
4266 
4267 #endif 	/* __ID3D10Predicate_INTERFACE_DEFINED__ */
4268 
4269 /* interface __MIDL_itf_d3d10_0000_0021 */
4270 /* [local] */
4271 
4272 typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT
4273     {
4274     UINT64 Frequency;
4275     BOOL Disjoint;
4276     } 	D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
4277 
4278 typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS
4279     {
4280     UINT64 IAVertices;
4281     UINT64 IAPrimitives;
4282     UINT64 VSInvocations;
4283     UINT64 GSInvocations;
4284     UINT64 GSPrimitives;
4285     UINT64 CInvocations;
4286     UINT64 CPrimitives;
4287     UINT64 PSInvocations;
4288     } 	D3D10_QUERY_DATA_PIPELINE_STATISTICS;
4289 
4290 typedef struct D3D10_QUERY_DATA_SO_STATISTICS
4291     {
4292     UINT64 NumPrimitivesWritten;
4293     UINT64 PrimitivesStorageNeeded;
4294     } 	D3D10_QUERY_DATA_SO_STATISTICS;
4295 
4296 typedef
4297 enum D3D10_COUNTER
4298     {
4299         D3D10_COUNTER_GPU_IDLE	= 0,
4300         D3D10_COUNTER_VERTEX_PROCESSING	= ( D3D10_COUNTER_GPU_IDLE + 1 ) ,
4301         D3D10_COUNTER_GEOMETRY_PROCESSING	= ( D3D10_COUNTER_VERTEX_PROCESSING + 1 ) ,
4302         D3D10_COUNTER_PIXEL_PROCESSING	= ( D3D10_COUNTER_GEOMETRY_PROCESSING + 1 ) ,
4303         D3D10_COUNTER_OTHER_GPU_PROCESSING	= ( D3D10_COUNTER_PIXEL_PROCESSING + 1 ) ,
4304         D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION	= ( D3D10_COUNTER_OTHER_GPU_PROCESSING + 1 ) ,
4305         D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION	= ( D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION + 1 ) ,
4306         D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION	= ( D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION + 1 ) ,
4307         D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION	= ( D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION + 1 ) ,
4308         D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION	= ( D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION + 1 ) ,
4309         D3D10_COUNTER_VS_MEMORY_LIMITED	= ( D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION + 1 ) ,
4310         D3D10_COUNTER_VS_COMPUTATION_LIMITED	= ( D3D10_COUNTER_VS_MEMORY_LIMITED + 1 ) ,
4311         D3D10_COUNTER_GS_MEMORY_LIMITED	= ( D3D10_COUNTER_VS_COMPUTATION_LIMITED + 1 ) ,
4312         D3D10_COUNTER_GS_COMPUTATION_LIMITED	= ( D3D10_COUNTER_GS_MEMORY_LIMITED + 1 ) ,
4313         D3D10_COUNTER_PS_MEMORY_LIMITED	= ( D3D10_COUNTER_GS_COMPUTATION_LIMITED + 1 ) ,
4314         D3D10_COUNTER_PS_COMPUTATION_LIMITED	= ( D3D10_COUNTER_PS_MEMORY_LIMITED + 1 ) ,
4315         D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE	= ( D3D10_COUNTER_PS_COMPUTATION_LIMITED + 1 ) ,
4316         D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE	= ( D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE + 1 ) ,
4317         D3D10_COUNTER_DEVICE_DEPENDENT_0	= 0x40000000
4318     } 	D3D10_COUNTER;
4319 
4320 typedef
4321 enum D3D10_COUNTER_TYPE
4322     {
4323         D3D10_COUNTER_TYPE_FLOAT32	= 0,
4324         D3D10_COUNTER_TYPE_UINT16	= ( D3D10_COUNTER_TYPE_FLOAT32 + 1 ) ,
4325         D3D10_COUNTER_TYPE_UINT32	= ( D3D10_COUNTER_TYPE_UINT16 + 1 ) ,
4326         D3D10_COUNTER_TYPE_UINT64	= ( D3D10_COUNTER_TYPE_UINT32 + 1 )
4327     } 	D3D10_COUNTER_TYPE;
4328 
4329 typedef struct D3D10_COUNTER_DESC
4330     {
4331     D3D10_COUNTER Counter;
4332     UINT MiscFlags;
4333     } 	D3D10_COUNTER_DESC;
4334 
4335 typedef struct D3D10_COUNTER_INFO
4336     {
4337     D3D10_COUNTER LastDeviceDependentCounter;
4338     UINT NumSimultaneousCounters;
4339     UINT8 NumDetectableParallelUnits;
4340     } 	D3D10_COUNTER_INFO;
4341 
4342 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0021_v0_0_c_ifspec;
4343 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0021_v0_0_s_ifspec;
4344 
4345 #ifndef __ID3D10Counter_INTERFACE_DEFINED__
4346 #define __ID3D10Counter_INTERFACE_DEFINED__
4347 
4348 /* interface ID3D10Counter */
4349 /* [unique][local][object][uuid] */
4350 
4351 EXTERN_C const IID IID_ID3D10Counter;
4352 
4353 #if defined(__cplusplus) && !defined(CINTERFACE)
4354 
4355     MIDL_INTERFACE("9B7E4C11-342C-4106-A19F-4F2704F689F0")
4356     ID3D10Counter : public ID3D10Asynchronous
4357     {
4358     public:
4359         virtual void STDMETHODCALLTYPE GetDesc(
4360             /* [annotation] */
4361             _Out_  D3D10_COUNTER_DESC *pDesc) = 0;
4362 
4363     };
4364 
4365 #else 	/* C style interface */
4366 
4367     typedef struct ID3D10CounterVtbl
4368     {
4369         BEGIN_INTERFACE
4370 
4371         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4372             ID3D10Counter * This,
4373             /* [in] */ REFIID riid,
4374             /* [annotation][iid_is][out] */
4375             _COM_Outptr_  void **ppvObject);
4376 
4377         ULONG ( STDMETHODCALLTYPE *AddRef )(
4378             ID3D10Counter * This);
4379 
4380         ULONG ( STDMETHODCALLTYPE *Release )(
4381             ID3D10Counter * This);
4382 
4383         void ( STDMETHODCALLTYPE *GetDevice )(
4384             ID3D10Counter * This,
4385             /* [annotation] */
4386             _Out_  ID3D10Device **ppDevice);
4387 
4388         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4389             ID3D10Counter * This,
4390             /* [annotation] */
4391             _In_  REFGUID guid,
4392             /* [annotation] */
4393             _Inout_  UINT *pDataSize,
4394             /* [annotation] */
4395             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
4396 
4397         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4398             ID3D10Counter * This,
4399             /* [annotation] */
4400             _In_  REFGUID guid,
4401             /* [annotation] */
4402             _In_  UINT DataSize,
4403             /* [annotation] */
4404             _In_reads_bytes_opt_(DataSize)  const void *pData);
4405 
4406         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4407             ID3D10Counter * This,
4408             /* [annotation] */
4409             _In_  REFGUID guid,
4410             /* [annotation] */
4411             _In_opt_  const IUnknown *pData);
4412 
4413         void ( STDMETHODCALLTYPE *Begin )(
4414             ID3D10Counter * This);
4415 
4416         void ( STDMETHODCALLTYPE *End )(
4417             ID3D10Counter * This);
4418 
4419         HRESULT ( STDMETHODCALLTYPE *GetData )(
4420             ID3D10Counter * This,
4421             /* [annotation] */
4422             _Out_writes_bytes_opt_(DataSize)  void *pData,
4423             /* [annotation] */
4424             _In_  UINT DataSize,
4425             /* [annotation] */
4426             _In_  UINT GetDataFlags);
4427 
4428         UINT ( STDMETHODCALLTYPE *GetDataSize )(
4429             ID3D10Counter * This);
4430 
4431         void ( STDMETHODCALLTYPE *GetDesc )(
4432             ID3D10Counter * This,
4433             /* [annotation] */
4434             _Out_  D3D10_COUNTER_DESC *pDesc);
4435 
4436         END_INTERFACE
4437     } ID3D10CounterVtbl;
4438 
4439     interface ID3D10Counter
4440     {
4441         CONST_VTBL struct ID3D10CounterVtbl *lpVtbl;
4442     };
4443 
4444 #ifdef COBJMACROS
4445 
4446 #define ID3D10Counter_QueryInterface(This,riid,ppvObject)	\
4447     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4448 
4449 #define ID3D10Counter_AddRef(This)	\
4450     ( (This)->lpVtbl -> AddRef(This) )
4451 
4452 #define ID3D10Counter_Release(This)	\
4453     ( (This)->lpVtbl -> Release(This) )
4454 
4455 #define ID3D10Counter_GetDevice(This,ppDevice)	\
4456     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
4457 
4458 #define ID3D10Counter_GetPrivateData(This,guid,pDataSize,pData)	\
4459     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4460 
4461 #define ID3D10Counter_SetPrivateData(This,guid,DataSize,pData)	\
4462     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4463 
4464 #define ID3D10Counter_SetPrivateDataInterface(This,guid,pData)	\
4465     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4466 
4467 #define ID3D10Counter_Begin(This)	\
4468     ( (This)->lpVtbl -> Begin(This) )
4469 
4470 #define ID3D10Counter_End(This)	\
4471     ( (This)->lpVtbl -> End(This) )
4472 
4473 #define ID3D10Counter_GetData(This,pData,DataSize,GetDataFlags)	\
4474     ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
4475 
4476 #define ID3D10Counter_GetDataSize(This)	\
4477     ( (This)->lpVtbl -> GetDataSize(This) )
4478 
4479 #define ID3D10Counter_GetDesc(This,pDesc)	\
4480     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
4481 
4482 #endif /* COBJMACROS */
4483 
4484 #endif 	/* C style interface */
4485 
4486 #endif 	/* __ID3D10Counter_INTERFACE_DEFINED__ */
4487 
4488 #ifndef __ID3D10Device_INTERFACE_DEFINED__
4489 #define __ID3D10Device_INTERFACE_DEFINED__
4490 
4491 /* interface ID3D10Device */
4492 /* [unique][local][object][uuid] */
4493 
4494 EXTERN_C const IID IID_ID3D10Device;
4495 
4496 #if defined(__cplusplus) && !defined(CINTERFACE)
4497 
4498     MIDL_INTERFACE("9B7E4C0F-342C-4106-A19F-4F2704F689F0")
4499     ID3D10Device : public IUnknown
4500     {
4501     public:
4502         virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
4503             /* [annotation] */
4504             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
4505             /* [annotation] */
4506             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
4507             /* [annotation] */
4508             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers) = 0;
4509 
4510         virtual void STDMETHODCALLTYPE PSSetShaderResources(
4511             /* [annotation] */
4512             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
4513             /* [annotation] */
4514             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
4515             /* [annotation] */
4516             _In_reads_opt_(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
4517 
4518         virtual void STDMETHODCALLTYPE PSSetShader(
4519             /* [annotation] */
4520             _In_opt_  ID3D10PixelShader *pPixelShader) = 0;
4521 
4522         virtual void STDMETHODCALLTYPE PSSetSamplers(
4523             /* [annotation] */
4524             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
4525             /* [annotation] */
4526             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
4527             /* [annotation] */
4528             _In_reads_opt_(NumSamplers)  ID3D10SamplerState *const *ppSamplers) = 0;
4529 
4530         virtual void STDMETHODCALLTYPE VSSetShader(
4531             /* [annotation] */
4532             _In_opt_  ID3D10VertexShader *pVertexShader) = 0;
4533 
4534         virtual void STDMETHODCALLTYPE DrawIndexed(
4535             /* [annotation] */
4536             _In_  UINT IndexCount,
4537             /* [annotation] */
4538             _In_  UINT StartIndexLocation,
4539             /* [annotation] */
4540             _In_  INT BaseVertexLocation) = 0;
4541 
4542         virtual void STDMETHODCALLTYPE Draw(
4543             /* [annotation] */
4544             _In_  UINT VertexCount,
4545             /* [annotation] */
4546             _In_  UINT StartVertexLocation) = 0;
4547 
4548         virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
4549             /* [annotation] */
4550             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
4551             /* [annotation] */
4552             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
4553             /* [annotation] */
4554             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers) = 0;
4555 
4556         virtual void STDMETHODCALLTYPE IASetInputLayout(
4557             /* [annotation] */
4558             _In_opt_  ID3D10InputLayout *pInputLayout) = 0;
4559 
4560         virtual void STDMETHODCALLTYPE IASetVertexBuffers(
4561             /* [annotation] */
4562             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
4563             /* [annotation] */
4564             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
4565             /* [annotation] */
4566             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppVertexBuffers,
4567             /* [annotation] */
4568             _In_reads_opt_(NumBuffers)  const UINT *pStrides,
4569             /* [annotation] */
4570             _In_reads_opt_(NumBuffers)  const UINT *pOffsets) = 0;
4571 
4572         virtual void STDMETHODCALLTYPE IASetIndexBuffer(
4573             /* [annotation] */
4574             _In_opt_  ID3D10Buffer *pIndexBuffer,
4575             /* [annotation] */
4576             _In_  DXGI_FORMAT Format,
4577             /* [annotation] */
4578             _In_  UINT Offset) = 0;
4579 
4580         virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
4581             /* [annotation] */
4582             _In_  UINT IndexCountPerInstance,
4583             /* [annotation] */
4584             _In_  UINT InstanceCount,
4585             /* [annotation] */
4586             _In_  UINT StartIndexLocation,
4587             /* [annotation] */
4588             _In_  INT BaseVertexLocation,
4589             /* [annotation] */
4590             _In_  UINT StartInstanceLocation) = 0;
4591 
4592         virtual void STDMETHODCALLTYPE DrawInstanced(
4593             /* [annotation] */
4594             _In_  UINT VertexCountPerInstance,
4595             /* [annotation] */
4596             _In_  UINT InstanceCount,
4597             /* [annotation] */
4598             _In_  UINT StartVertexLocation,
4599             /* [annotation] */
4600             _In_  UINT StartInstanceLocation) = 0;
4601 
4602         virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
4603             /* [annotation] */
4604             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
4605             /* [annotation] */
4606             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
4607             /* [annotation] */
4608             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers) = 0;
4609 
4610         virtual void STDMETHODCALLTYPE GSSetShader(
4611             /* [annotation] */
4612             _In_opt_  ID3D10GeometryShader *pShader) = 0;
4613 
4614         virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
4615             /* [annotation] */
4616             _In_  D3D10_PRIMITIVE_TOPOLOGY Topology) = 0;
4617 
4618         virtual void STDMETHODCALLTYPE VSSetShaderResources(
4619             /* [annotation] */
4620             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
4621             /* [annotation] */
4622             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
4623             /* [annotation] */
4624             _In_reads_opt_(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
4625 
4626         virtual void STDMETHODCALLTYPE VSSetSamplers(
4627             /* [annotation] */
4628             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
4629             /* [annotation] */
4630             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
4631             /* [annotation] */
4632             _In_reads_opt_(NumSamplers)  ID3D10SamplerState *const *ppSamplers) = 0;
4633 
4634         virtual void STDMETHODCALLTYPE SetPredication(
4635             /* [annotation] */
4636             _In_opt_  ID3D10Predicate *pPredicate,
4637             /* [annotation] */
4638             _In_  BOOL PredicateValue) = 0;
4639 
4640         virtual void STDMETHODCALLTYPE GSSetShaderResources(
4641             /* [annotation] */
4642             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
4643             /* [annotation] */
4644             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
4645             /* [annotation] */
4646             _In_reads_opt_(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
4647 
4648         virtual void STDMETHODCALLTYPE GSSetSamplers(
4649             /* [annotation] */
4650             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
4651             /* [annotation] */
4652             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
4653             /* [annotation] */
4654             _In_reads_opt_(NumSamplers)  ID3D10SamplerState *const *ppSamplers) = 0;
4655 
4656         virtual void STDMETHODCALLTYPE OMSetRenderTargets(
4657             /* [annotation] */
4658             _In_range_( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
4659             /* [annotation] */
4660             _In_reads_opt_(NumViews)  ID3D10RenderTargetView *const *ppRenderTargetViews,
4661             /* [annotation] */
4662             _In_opt_  ID3D10DepthStencilView *pDepthStencilView) = 0;
4663 
4664         virtual void STDMETHODCALLTYPE OMSetBlendState(
4665             /* [annotation] */
4666             _In_opt_  ID3D10BlendState *pBlendState,
4667             /* [annotation] */
4668             _In_  const FLOAT BlendFactor[ 4 ],
4669             /* [annotation] */
4670             _In_  UINT SampleMask) = 0;
4671 
4672         virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
4673             /* [annotation] */
4674             _In_opt_  ID3D10DepthStencilState *pDepthStencilState,
4675             /* [annotation] */
4676             _In_  UINT StencilRef) = 0;
4677 
4678         virtual void STDMETHODCALLTYPE SOSetTargets(
4679             /* [annotation] */
4680             _In_range_( 0, D3D10_SO_BUFFER_SLOT_COUNT)  UINT NumBuffers,
4681             /* [annotation] */
4682             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppSOTargets,
4683             /* [annotation] */
4684             _In_reads_opt_(NumBuffers)  const UINT *pOffsets) = 0;
4685 
4686         virtual void STDMETHODCALLTYPE DrawAuto( void) = 0;
4687 
4688         virtual void STDMETHODCALLTYPE RSSetState(
4689             /* [annotation] */
4690             _In_opt_  ID3D10RasterizerState *pRasterizerState) = 0;
4691 
4692         virtual void STDMETHODCALLTYPE RSSetViewports(
4693             /* [annotation] */
4694             _In_range_(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumViewports,
4695             /* [annotation] */
4696             _In_reads_opt_(NumViewports)  const D3D10_VIEWPORT *pViewports) = 0;
4697 
4698         virtual void STDMETHODCALLTYPE RSSetScissorRects(
4699             /* [annotation] */
4700             _In_range_(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumRects,
4701             /* [annotation] */
4702             _In_reads_opt_(NumRects)  const D3D10_RECT *pRects) = 0;
4703 
4704         virtual void STDMETHODCALLTYPE CopySubresourceRegion(
4705             /* [annotation] */
4706             _In_  ID3D10Resource *pDstResource,
4707             /* [annotation] */
4708             _In_  UINT DstSubresource,
4709             /* [annotation] */
4710             _In_  UINT DstX,
4711             /* [annotation] */
4712             _In_  UINT DstY,
4713             /* [annotation] */
4714             _In_  UINT DstZ,
4715             /* [annotation] */
4716             _In_  ID3D10Resource *pSrcResource,
4717             /* [annotation] */
4718             _In_  UINT SrcSubresource,
4719             /* [annotation] */
4720             _In_opt_  const D3D10_BOX *pSrcBox) = 0;
4721 
4722         virtual void STDMETHODCALLTYPE CopyResource(
4723             /* [annotation] */
4724             _In_  ID3D10Resource *pDstResource,
4725             /* [annotation] */
4726             _In_  ID3D10Resource *pSrcResource) = 0;
4727 
4728         virtual void STDMETHODCALLTYPE UpdateSubresource(
4729             /* [annotation] */
4730             _In_  ID3D10Resource *pDstResource,
4731             /* [annotation] */
4732             _In_  UINT DstSubresource,
4733             /* [annotation] */
4734             _In_opt_  const D3D10_BOX *pDstBox,
4735             /* [annotation] */
4736             _In_  const void *pSrcData,
4737             /* [annotation] */
4738             _In_  UINT SrcRowPitch,
4739             /* [annotation] */
4740             _In_  UINT SrcDepthPitch) = 0;
4741 
4742         virtual void STDMETHODCALLTYPE ClearRenderTargetView(
4743             /* [annotation] */
4744             _In_  ID3D10RenderTargetView *pRenderTargetView,
4745             /* [annotation] */
4746             _In_  const FLOAT ColorRGBA[ 4 ]) = 0;
4747 
4748         virtual void STDMETHODCALLTYPE ClearDepthStencilView(
4749             /* [annotation] */
4750             _In_  ID3D10DepthStencilView *pDepthStencilView,
4751             /* [annotation] */
4752             _In_  UINT ClearFlags,
4753             /* [annotation] */
4754             _In_  FLOAT Depth,
4755             /* [annotation] */
4756             _In_  UINT8 Stencil) = 0;
4757 
4758         virtual void STDMETHODCALLTYPE GenerateMips(
4759             /* [annotation] */
4760             _In_  ID3D10ShaderResourceView *pShaderResourceView) = 0;
4761 
4762         virtual void STDMETHODCALLTYPE ResolveSubresource(
4763             /* [annotation] */
4764             _In_  ID3D10Resource *pDstResource,
4765             /* [annotation] */
4766             _In_  UINT DstSubresource,
4767             /* [annotation] */
4768             _In_  ID3D10Resource *pSrcResource,
4769             /* [annotation] */
4770             _In_  UINT SrcSubresource,
4771             /* [annotation] */
4772             _In_  DXGI_FORMAT Format) = 0;
4773 
4774         virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
4775             /* [annotation] */
4776             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
4777             /* [annotation] */
4778             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
4779             /* [annotation] */
4780             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppConstantBuffers) = 0;
4781 
4782         virtual void STDMETHODCALLTYPE PSGetShaderResources(
4783             /* [annotation] */
4784             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
4785             /* [annotation] */
4786             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
4787             /* [annotation] */
4788             _Out_writes_opt_(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
4789 
4790         virtual void STDMETHODCALLTYPE PSGetShader(
4791             /* [annotation] */
4792             _Out_  ID3D10PixelShader **ppPixelShader) = 0;
4793 
4794         virtual void STDMETHODCALLTYPE PSGetSamplers(
4795             /* [annotation] */
4796             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
4797             /* [annotation] */
4798             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
4799             /* [annotation] */
4800             _Out_writes_opt_(NumSamplers)  ID3D10SamplerState **ppSamplers) = 0;
4801 
4802         virtual void STDMETHODCALLTYPE VSGetShader(
4803             /* [annotation] */
4804             _Out_  ID3D10VertexShader **ppVertexShader) = 0;
4805 
4806         virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
4807             /* [annotation] */
4808             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
4809             /* [annotation] */
4810             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
4811             /* [annotation] */
4812             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppConstantBuffers) = 0;
4813 
4814         virtual void STDMETHODCALLTYPE IAGetInputLayout(
4815             /* [annotation] */
4816             _Out_  ID3D10InputLayout **ppInputLayout) = 0;
4817 
4818         virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
4819             /* [annotation] */
4820             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
4821             /* [annotation] */
4822             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
4823             /* [annotation] */
4824             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppVertexBuffers,
4825             /* [annotation] */
4826             _Out_writes_opt_(NumBuffers)  UINT *pStrides,
4827             /* [annotation] */
4828             _Out_writes_opt_(NumBuffers)  UINT *pOffsets) = 0;
4829 
4830         virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
4831             /* [annotation] */
4832             _Out_opt_  ID3D10Buffer **pIndexBuffer,
4833             /* [annotation] */
4834             _Out_opt_  DXGI_FORMAT *Format,
4835             /* [annotation] */
4836             _Out_opt_  UINT *Offset) = 0;
4837 
4838         virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
4839             /* [annotation] */
4840             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
4841             /* [annotation] */
4842             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
4843             /* [annotation] */
4844             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppConstantBuffers) = 0;
4845 
4846         virtual void STDMETHODCALLTYPE GSGetShader(
4847             /* [annotation] */
4848             _Out_  ID3D10GeometryShader **ppGeometryShader) = 0;
4849 
4850         virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
4851             /* [annotation] */
4852             _Out_  D3D10_PRIMITIVE_TOPOLOGY *pTopology) = 0;
4853 
4854         virtual void STDMETHODCALLTYPE VSGetShaderResources(
4855             /* [annotation] */
4856             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
4857             /* [annotation] */
4858             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
4859             /* [annotation] */
4860             _Out_writes_opt_(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
4861 
4862         virtual void STDMETHODCALLTYPE VSGetSamplers(
4863             /* [annotation] */
4864             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
4865             /* [annotation] */
4866             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
4867             /* [annotation] */
4868             _Out_writes_opt_(NumSamplers)  ID3D10SamplerState **ppSamplers) = 0;
4869 
4870         virtual void STDMETHODCALLTYPE GetPredication(
4871             /* [annotation] */
4872             _Out_opt_  ID3D10Predicate **ppPredicate,
4873             /* [annotation] */
4874             _Out_opt_  BOOL *pPredicateValue) = 0;
4875 
4876         virtual void STDMETHODCALLTYPE GSGetShaderResources(
4877             /* [annotation] */
4878             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
4879             /* [annotation] */
4880             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
4881             /* [annotation] */
4882             _Out_writes_opt_(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
4883 
4884         virtual void STDMETHODCALLTYPE GSGetSamplers(
4885             /* [annotation] */
4886             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
4887             /* [annotation] */
4888             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
4889             /* [annotation] */
4890             _Out_writes_opt_(NumSamplers)  ID3D10SamplerState **ppSamplers) = 0;
4891 
4892         virtual void STDMETHODCALLTYPE OMGetRenderTargets(
4893             /* [annotation] */
4894             _In_range_( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
4895             /* [annotation] */
4896             _Out_writes_opt_(NumViews)  ID3D10RenderTargetView **ppRenderTargetViews,
4897             /* [annotation] */
4898             _Out_opt_  ID3D10DepthStencilView **ppDepthStencilView) = 0;
4899 
4900         virtual void STDMETHODCALLTYPE OMGetBlendState(
4901             /* [annotation] */
4902             _Out_opt_  ID3D10BlendState **ppBlendState,
4903             /* [annotation] */
4904             _Out_opt_  FLOAT BlendFactor[ 4 ],
4905             /* [annotation] */
4906             _Out_opt_  UINT *pSampleMask) = 0;
4907 
4908         virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
4909             /* [annotation] */
4910             _Out_opt_  ID3D10DepthStencilState **ppDepthStencilState,
4911             /* [annotation] */
4912             _Out_opt_  UINT *pStencilRef) = 0;
4913 
4914         virtual void STDMETHODCALLTYPE SOGetTargets(
4915             /* [annotation] */
4916             _In_range_( 0, D3D10_SO_BUFFER_SLOT_COUNT )  UINT NumBuffers,
4917             /* [annotation] */
4918             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppSOTargets,
4919             /* [annotation] */
4920             _Out_writes_opt_(NumBuffers)  UINT *pOffsets) = 0;
4921 
4922         virtual void STDMETHODCALLTYPE RSGetState(
4923             /* [annotation] */
4924             _Out_  ID3D10RasterizerState **ppRasterizerState) = 0;
4925 
4926         virtual void STDMETHODCALLTYPE RSGetViewports(
4927             /* [annotation] */
4928             _Inout_ /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *NumViewports,
4929             /* [annotation] */
4930             _Out_writes_opt_(*NumViewports)  D3D10_VIEWPORT *pViewports) = 0;
4931 
4932         virtual void STDMETHODCALLTYPE RSGetScissorRects(
4933             /* [annotation] */
4934             _Inout_ /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *NumRects,
4935             /* [annotation] */
4936             _Out_writes_opt_(*NumRects)  D3D10_RECT *pRects) = 0;
4937 
4938         virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
4939 
4940         virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
4941             UINT RaiseFlags) = 0;
4942 
4943         virtual UINT STDMETHODCALLTYPE GetExceptionMode( void) = 0;
4944 
4945         virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
4946             /* [annotation] */
4947             _In_  REFGUID guid,
4948             /* [annotation] */
4949             _Inout_  UINT *pDataSize,
4950             /* [annotation] */
4951             _Out_writes_bytes_opt_(*pDataSize)  void *pData) = 0;
4952 
4953         virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
4954             /* [annotation] */
4955             _In_  REFGUID guid,
4956             /* [annotation] */
4957             _In_  UINT DataSize,
4958             /* [annotation] */
4959             _In_reads_bytes_opt_(DataSize)  const void *pData) = 0;
4960 
4961         virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
4962             /* [annotation] */
4963             _In_  REFGUID guid,
4964             /* [annotation] */
4965             _In_opt_  const IUnknown *pData) = 0;
4966 
4967         virtual void STDMETHODCALLTYPE ClearState( void) = 0;
4968 
4969         virtual void STDMETHODCALLTYPE Flush( void) = 0;
4970 
4971         virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
4972             /* [annotation] */
4973             _In_  const D3D10_BUFFER_DESC *pDesc,
4974             /* [annotation] */
4975             _In_opt_  const D3D10_SUBRESOURCE_DATA *pInitialData,
4976             /* [annotation] */
4977             _Out_opt_  ID3D10Buffer **ppBuffer) = 0;
4978 
4979         virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
4980             /* [annotation] */
4981             _In_  const D3D10_TEXTURE1D_DESC *pDesc,
4982             /* [annotation] */
4983             _In_reads_opt_(_Inexpressible_(pDesc->MipLevels * pDesc->ArraySize))  const D3D10_SUBRESOURCE_DATA *pInitialData,
4984             /* [annotation] */
4985             _Out_  ID3D10Texture1D **ppTexture1D) = 0;
4986 
4987         virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
4988             /* [annotation] */
4989             _In_  const D3D10_TEXTURE2D_DESC *pDesc,
4990             /* [annotation] */
4991             _In_reads_opt_(_Inexpressible_(pDesc->MipLevels * pDesc->ArraySize))  const D3D10_SUBRESOURCE_DATA *pInitialData,
4992             /* [annotation] */
4993             _Out_  ID3D10Texture2D **ppTexture2D) = 0;
4994 
4995         virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
4996             /* [annotation] */
4997             _In_  const D3D10_TEXTURE3D_DESC *pDesc,
4998             /* [annotation] */
4999             _In_reads_opt_(_Inexpressible_(pDesc->MipLevels))  const D3D10_SUBRESOURCE_DATA *pInitialData,
5000             /* [annotation] */
5001             _Out_  ID3D10Texture3D **ppTexture3D) = 0;
5002 
5003         virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
5004             /* [annotation] */
5005             _In_  ID3D10Resource *pResource,
5006             /* [annotation] */
5007             _In_opt_  const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
5008             /* [annotation] */
5009             _Out_opt_  ID3D10ShaderResourceView **ppSRView) = 0;
5010 
5011         virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
5012             /* [annotation] */
5013             _In_  ID3D10Resource *pResource,
5014             /* [annotation] */
5015             _In_opt_  const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
5016             /* [annotation] */
5017             _Out_opt_  ID3D10RenderTargetView **ppRTView) = 0;
5018 
5019         virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
5020             /* [annotation] */
5021             _In_  ID3D10Resource *pResource,
5022             /* [annotation] */
5023             _In_opt_  const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
5024             /* [annotation] */
5025             _Out_opt_  ID3D10DepthStencilView **ppDepthStencilView) = 0;
5026 
5027         virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
5028             /* [annotation] */
5029             _In_reads_(NumElements)  const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
5030             /* [annotation] */
5031             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT )  UINT NumElements,
5032             /* [annotation] */
5033             _In_reads_(BytecodeLength)  const void *pShaderBytecodeWithInputSignature,
5034             /* [annotation] */
5035             _In_  SIZE_T BytecodeLength,
5036             /* [annotation] */
5037             _Out_opt_  ID3D10InputLayout **ppInputLayout) = 0;
5038 
5039         virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
5040             /* [annotation] */
5041             _In_reads_(BytecodeLength)  const void *pShaderBytecode,
5042             /* [annotation] */
5043             _In_  SIZE_T BytecodeLength,
5044             /* [annotation] */
5045             _Out_opt_  ID3D10VertexShader **ppVertexShader) = 0;
5046 
5047         virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
5048             /* [annotation] */
5049             _In_reads_(BytecodeLength)  const void *pShaderBytecode,
5050             /* [annotation] */
5051             _In_  SIZE_T BytecodeLength,
5052             /* [annotation] */
5053             _Out_opt_  ID3D10GeometryShader **ppGeometryShader) = 0;
5054 
5055         virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
5056             /* [annotation] */
5057             _In_reads_(BytecodeLength)  const void *pShaderBytecode,
5058             /* [annotation] */
5059             _In_  SIZE_T BytecodeLength,
5060             /* [annotation] */
5061             _In_reads_opt_(NumEntries)  const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
5062             /* [annotation] */
5063             _In_range_( 0, D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT )  UINT NumEntries,
5064             /* [annotation] */
5065             _In_  UINT OutputStreamStride,
5066             /* [annotation] */
5067             _Out_opt_  ID3D10GeometryShader **ppGeometryShader) = 0;
5068 
5069         virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
5070             /* [annotation] */
5071             _In_reads_(BytecodeLength)  const void *pShaderBytecode,
5072             /* [annotation] */
5073             _In_  SIZE_T BytecodeLength,
5074             /* [annotation] */
5075             _Out_opt_  ID3D10PixelShader **ppPixelShader) = 0;
5076 
5077         virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
5078             /* [annotation] */
5079             _In_  const D3D10_BLEND_DESC *pBlendStateDesc,
5080             /* [annotation] */
5081             _Out_opt_  ID3D10BlendState **ppBlendState) = 0;
5082 
5083         virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
5084             /* [annotation] */
5085             _In_  const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
5086             /* [annotation] */
5087             _Out_opt_  ID3D10DepthStencilState **ppDepthStencilState) = 0;
5088 
5089         virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
5090             /* [annotation] */
5091             _In_  const D3D10_RASTERIZER_DESC *pRasterizerDesc,
5092             /* [annotation] */
5093             _Out_opt_  ID3D10RasterizerState **ppRasterizerState) = 0;
5094 
5095         virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
5096             /* [annotation] */
5097             _In_  const D3D10_SAMPLER_DESC *pSamplerDesc,
5098             /* [annotation] */
5099             _Out_opt_  ID3D10SamplerState **ppSamplerState) = 0;
5100 
5101         virtual HRESULT STDMETHODCALLTYPE CreateQuery(
5102             /* [annotation] */
5103             _In_  const D3D10_QUERY_DESC *pQueryDesc,
5104             /* [annotation] */
5105             _Out_opt_  ID3D10Query **ppQuery) = 0;
5106 
5107         virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
5108             /* [annotation] */
5109             _In_  const D3D10_QUERY_DESC *pPredicateDesc,
5110             /* [annotation] */
5111             _Out_opt_  ID3D10Predicate **ppPredicate) = 0;
5112 
5113         virtual HRESULT STDMETHODCALLTYPE CreateCounter(
5114             /* [annotation] */
5115             _In_  const D3D10_COUNTER_DESC *pCounterDesc,
5116             /* [annotation] */
5117             _Out_opt_  ID3D10Counter **ppCounter) = 0;
5118 
5119         virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
5120             /* [annotation] */
5121             _In_  DXGI_FORMAT Format,
5122             /* [annotation] */
5123             _Out_  UINT *pFormatSupport) = 0;
5124 
5125         virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
5126             /* [annotation] */
5127             _In_  DXGI_FORMAT Format,
5128             /* [annotation] */
5129             _In_  UINT SampleCount,
5130             /* [annotation] */
5131             _Out_  UINT *pNumQualityLevels) = 0;
5132 
5133         virtual void STDMETHODCALLTYPE CheckCounterInfo(
5134             /* [annotation] */
5135             _Out_  D3D10_COUNTER_INFO *pCounterInfo) = 0;
5136 
5137         virtual HRESULT STDMETHODCALLTYPE CheckCounter(
5138             /* [annotation] */
5139             _In_  const D3D10_COUNTER_DESC *pDesc,
5140             /* [annotation] */
5141             _Out_  D3D10_COUNTER_TYPE *pType,
5142             /* [annotation] */
5143             _Out_  UINT *pActiveCounters,
5144             /* [annotation] */
5145             _Out_writes_opt_(*pNameLength)  LPSTR szName,
5146             /* [annotation] */
5147             _Inout_opt_  UINT *pNameLength,
5148             /* [annotation] */
5149             _Out_writes_opt_(*pUnitsLength)  LPSTR szUnits,
5150             /* [annotation] */
5151             _Inout_opt_  UINT *pUnitsLength,
5152             /* [annotation] */
5153             _Out_writes_opt_(*pDescriptionLength)  LPSTR szDescription,
5154             /* [annotation] */
5155             _Inout_opt_  UINT *pDescriptionLength) = 0;
5156 
5157         virtual UINT STDMETHODCALLTYPE GetCreationFlags( void) = 0;
5158 
5159         virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
5160             /* [annotation] */
5161             _In_  HANDLE hResource,
5162             /* [annotation] */
5163             _In_  REFIID ReturnedInterface,
5164             /* [annotation] */
5165             _Out_opt_  void **ppResource) = 0;
5166 
5167         virtual void STDMETHODCALLTYPE SetTextFilterSize(
5168             /* [annotation] */
5169             _In_  UINT Width,
5170             /* [annotation] */
5171             _In_  UINT Height) = 0;
5172 
5173         virtual void STDMETHODCALLTYPE GetTextFilterSize(
5174             /* [annotation] */
5175             _Out_opt_  UINT *pWidth,
5176             /* [annotation] */
5177             _Out_opt_  UINT *pHeight) = 0;
5178 
5179     };
5180 
5181 #else 	/* C style interface */
5182 
5183     typedef struct ID3D10DeviceVtbl
5184     {
5185         BEGIN_INTERFACE
5186 
5187         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5188             ID3D10Device * This,
5189             /* [in] */ REFIID riid,
5190             /* [annotation][iid_is][out] */
5191             _COM_Outptr_  void **ppvObject);
5192 
5193         ULONG ( STDMETHODCALLTYPE *AddRef )(
5194             ID3D10Device * This);
5195 
5196         ULONG ( STDMETHODCALLTYPE *Release )(
5197             ID3D10Device * This);
5198 
5199         void ( STDMETHODCALLTYPE *VSSetConstantBuffers )(
5200             ID3D10Device * This,
5201             /* [annotation] */
5202             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
5203             /* [annotation] */
5204             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
5205             /* [annotation] */
5206             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers);
5207 
5208         void ( STDMETHODCALLTYPE *PSSetShaderResources )(
5209             ID3D10Device * This,
5210             /* [annotation] */
5211             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
5212             /* [annotation] */
5213             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
5214             /* [annotation] */
5215             _In_reads_opt_(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews);
5216 
5217         void ( STDMETHODCALLTYPE *PSSetShader )(
5218             ID3D10Device * This,
5219             /* [annotation] */
5220             _In_opt_  ID3D10PixelShader *pPixelShader);
5221 
5222         void ( STDMETHODCALLTYPE *PSSetSamplers )(
5223             ID3D10Device * This,
5224             /* [annotation] */
5225             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
5226             /* [annotation] */
5227             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
5228             /* [annotation] */
5229             _In_reads_opt_(NumSamplers)  ID3D10SamplerState *const *ppSamplers);
5230 
5231         void ( STDMETHODCALLTYPE *VSSetShader )(
5232             ID3D10Device * This,
5233             /* [annotation] */
5234             _In_opt_  ID3D10VertexShader *pVertexShader);
5235 
5236         void ( STDMETHODCALLTYPE *DrawIndexed )(
5237             ID3D10Device * This,
5238             /* [annotation] */
5239             _In_  UINT IndexCount,
5240             /* [annotation] */
5241             _In_  UINT StartIndexLocation,
5242             /* [annotation] */
5243             _In_  INT BaseVertexLocation);
5244 
5245         void ( STDMETHODCALLTYPE *Draw )(
5246             ID3D10Device * This,
5247             /* [annotation] */
5248             _In_  UINT VertexCount,
5249             /* [annotation] */
5250             _In_  UINT StartVertexLocation);
5251 
5252         void ( STDMETHODCALLTYPE *PSSetConstantBuffers )(
5253             ID3D10Device * This,
5254             /* [annotation] */
5255             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
5256             /* [annotation] */
5257             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
5258             /* [annotation] */
5259             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers);
5260 
5261         void ( STDMETHODCALLTYPE *IASetInputLayout )(
5262             ID3D10Device * This,
5263             /* [annotation] */
5264             _In_opt_  ID3D10InputLayout *pInputLayout);
5265 
5266         void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
5267             ID3D10Device * This,
5268             /* [annotation] */
5269             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
5270             /* [annotation] */
5271             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
5272             /* [annotation] */
5273             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppVertexBuffers,
5274             /* [annotation] */
5275             _In_reads_opt_(NumBuffers)  const UINT *pStrides,
5276             /* [annotation] */
5277             _In_reads_opt_(NumBuffers)  const UINT *pOffsets);
5278 
5279         void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
5280             ID3D10Device * This,
5281             /* [annotation] */
5282             _In_opt_  ID3D10Buffer *pIndexBuffer,
5283             /* [annotation] */
5284             _In_  DXGI_FORMAT Format,
5285             /* [annotation] */
5286             _In_  UINT Offset);
5287 
5288         void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
5289             ID3D10Device * This,
5290             /* [annotation] */
5291             _In_  UINT IndexCountPerInstance,
5292             /* [annotation] */
5293             _In_  UINT InstanceCount,
5294             /* [annotation] */
5295             _In_  UINT StartIndexLocation,
5296             /* [annotation] */
5297             _In_  INT BaseVertexLocation,
5298             /* [annotation] */
5299             _In_  UINT StartInstanceLocation);
5300 
5301         void ( STDMETHODCALLTYPE *DrawInstanced )(
5302             ID3D10Device * This,
5303             /* [annotation] */
5304             _In_  UINT VertexCountPerInstance,
5305             /* [annotation] */
5306             _In_  UINT InstanceCount,
5307             /* [annotation] */
5308             _In_  UINT StartVertexLocation,
5309             /* [annotation] */
5310             _In_  UINT StartInstanceLocation);
5311 
5312         void ( STDMETHODCALLTYPE *GSSetConstantBuffers )(
5313             ID3D10Device * This,
5314             /* [annotation] */
5315             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
5316             /* [annotation] */
5317             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
5318             /* [annotation] */
5319             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers);
5320 
5321         void ( STDMETHODCALLTYPE *GSSetShader )(
5322             ID3D10Device * This,
5323             /* [annotation] */
5324             _In_opt_  ID3D10GeometryShader *pShader);
5325 
5326         void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
5327             ID3D10Device * This,
5328             /* [annotation] */
5329             _In_  D3D10_PRIMITIVE_TOPOLOGY Topology);
5330 
5331         void ( STDMETHODCALLTYPE *VSSetShaderResources )(
5332             ID3D10Device * This,
5333             /* [annotation] */
5334             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
5335             /* [annotation] */
5336             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
5337             /* [annotation] */
5338             _In_reads_opt_(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews);
5339 
5340         void ( STDMETHODCALLTYPE *VSSetSamplers )(
5341             ID3D10Device * This,
5342             /* [annotation] */
5343             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
5344             /* [annotation] */
5345             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
5346             /* [annotation] */
5347             _In_reads_opt_(NumSamplers)  ID3D10SamplerState *const *ppSamplers);
5348 
5349         void ( STDMETHODCALLTYPE *SetPredication )(
5350             ID3D10Device * This,
5351             /* [annotation] */
5352             _In_opt_  ID3D10Predicate *pPredicate,
5353             /* [annotation] */
5354             _In_  BOOL PredicateValue);
5355 
5356         void ( STDMETHODCALLTYPE *GSSetShaderResources )(
5357             ID3D10Device * This,
5358             /* [annotation] */
5359             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
5360             /* [annotation] */
5361             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
5362             /* [annotation] */
5363             _In_reads_opt_(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews);
5364 
5365         void ( STDMETHODCALLTYPE *GSSetSamplers )(
5366             ID3D10Device * This,
5367             /* [annotation] */
5368             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
5369             /* [annotation] */
5370             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
5371             /* [annotation] */
5372             _In_reads_opt_(NumSamplers)  ID3D10SamplerState *const *ppSamplers);
5373 
5374         void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
5375             ID3D10Device * This,
5376             /* [annotation] */
5377             _In_range_( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
5378             /* [annotation] */
5379             _In_reads_opt_(NumViews)  ID3D10RenderTargetView *const *ppRenderTargetViews,
5380             /* [annotation] */
5381             _In_opt_  ID3D10DepthStencilView *pDepthStencilView);
5382 
5383         void ( STDMETHODCALLTYPE *OMSetBlendState )(
5384             ID3D10Device * This,
5385             /* [annotation] */
5386             _In_opt_  ID3D10BlendState *pBlendState,
5387             /* [annotation] */
5388             _In_  const FLOAT BlendFactor[ 4 ],
5389             /* [annotation] */
5390             _In_  UINT SampleMask);
5391 
5392         void ( STDMETHODCALLTYPE *OMSetDepthStencilState )(
5393             ID3D10Device * This,
5394             /* [annotation] */
5395             _In_opt_  ID3D10DepthStencilState *pDepthStencilState,
5396             /* [annotation] */
5397             _In_  UINT StencilRef);
5398 
5399         void ( STDMETHODCALLTYPE *SOSetTargets )(
5400             ID3D10Device * This,
5401             /* [annotation] */
5402             _In_range_( 0, D3D10_SO_BUFFER_SLOT_COUNT)  UINT NumBuffers,
5403             /* [annotation] */
5404             _In_reads_opt_(NumBuffers)  ID3D10Buffer *const *ppSOTargets,
5405             /* [annotation] */
5406             _In_reads_opt_(NumBuffers)  const UINT *pOffsets);
5407 
5408         void ( STDMETHODCALLTYPE *DrawAuto )(
5409             ID3D10Device * This);
5410 
5411         void ( STDMETHODCALLTYPE *RSSetState )(
5412             ID3D10Device * This,
5413             /* [annotation] */
5414             _In_opt_  ID3D10RasterizerState *pRasterizerState);
5415 
5416         void ( STDMETHODCALLTYPE *RSSetViewports )(
5417             ID3D10Device * This,
5418             /* [annotation] */
5419             _In_range_(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumViewports,
5420             /* [annotation] */
5421             _In_reads_opt_(NumViewports)  const D3D10_VIEWPORT *pViewports);
5422 
5423         void ( STDMETHODCALLTYPE *RSSetScissorRects )(
5424             ID3D10Device * This,
5425             /* [annotation] */
5426             _In_range_(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumRects,
5427             /* [annotation] */
5428             _In_reads_opt_(NumRects)  const D3D10_RECT *pRects);
5429 
5430         void ( STDMETHODCALLTYPE *CopySubresourceRegion )(
5431             ID3D10Device * This,
5432             /* [annotation] */
5433             _In_  ID3D10Resource *pDstResource,
5434             /* [annotation] */
5435             _In_  UINT DstSubresource,
5436             /* [annotation] */
5437             _In_  UINT DstX,
5438             /* [annotation] */
5439             _In_  UINT DstY,
5440             /* [annotation] */
5441             _In_  UINT DstZ,
5442             /* [annotation] */
5443             _In_  ID3D10Resource *pSrcResource,
5444             /* [annotation] */
5445             _In_  UINT SrcSubresource,
5446             /* [annotation] */
5447             _In_opt_  const D3D10_BOX *pSrcBox);
5448 
5449         void ( STDMETHODCALLTYPE *CopyResource )(
5450             ID3D10Device * This,
5451             /* [annotation] */
5452             _In_  ID3D10Resource *pDstResource,
5453             /* [annotation] */
5454             _In_  ID3D10Resource *pSrcResource);
5455 
5456         void ( STDMETHODCALLTYPE *UpdateSubresource )(
5457             ID3D10Device * This,
5458             /* [annotation] */
5459             _In_  ID3D10Resource *pDstResource,
5460             /* [annotation] */
5461             _In_  UINT DstSubresource,
5462             /* [annotation] */
5463             _In_opt_  const D3D10_BOX *pDstBox,
5464             /* [annotation] */
5465             _In_  const void *pSrcData,
5466             /* [annotation] */
5467             _In_  UINT SrcRowPitch,
5468             /* [annotation] */
5469             _In_  UINT SrcDepthPitch);
5470 
5471         void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
5472             ID3D10Device * This,
5473             /* [annotation] */
5474             _In_  ID3D10RenderTargetView *pRenderTargetView,
5475             /* [annotation] */
5476             _In_  const FLOAT ColorRGBA[ 4 ]);
5477 
5478         void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
5479             ID3D10Device * This,
5480             /* [annotation] */
5481             _In_  ID3D10DepthStencilView *pDepthStencilView,
5482             /* [annotation] */
5483             _In_  UINT ClearFlags,
5484             /* [annotation] */
5485             _In_  FLOAT Depth,
5486             /* [annotation] */
5487             _In_  UINT8 Stencil);
5488 
5489         void ( STDMETHODCALLTYPE *GenerateMips )(
5490             ID3D10Device * This,
5491             /* [annotation] */
5492             _In_  ID3D10ShaderResourceView *pShaderResourceView);
5493 
5494         void ( STDMETHODCALLTYPE *ResolveSubresource )(
5495             ID3D10Device * This,
5496             /* [annotation] */
5497             _In_  ID3D10Resource *pDstResource,
5498             /* [annotation] */
5499             _In_  UINT DstSubresource,
5500             /* [annotation] */
5501             _In_  ID3D10Resource *pSrcResource,
5502             /* [annotation] */
5503             _In_  UINT SrcSubresource,
5504             /* [annotation] */
5505             _In_  DXGI_FORMAT Format);
5506 
5507         void ( STDMETHODCALLTYPE *VSGetConstantBuffers )(
5508             ID3D10Device * This,
5509             /* [annotation] */
5510             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
5511             /* [annotation] */
5512             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
5513             /* [annotation] */
5514             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppConstantBuffers);
5515 
5516         void ( STDMETHODCALLTYPE *PSGetShaderResources )(
5517             ID3D10Device * This,
5518             /* [annotation] */
5519             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
5520             /* [annotation] */
5521             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
5522             /* [annotation] */
5523             _Out_writes_opt_(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews);
5524 
5525         void ( STDMETHODCALLTYPE *PSGetShader )(
5526             ID3D10Device * This,
5527             /* [annotation] */
5528             _Out_  ID3D10PixelShader **ppPixelShader);
5529 
5530         void ( STDMETHODCALLTYPE *PSGetSamplers )(
5531             ID3D10Device * This,
5532             /* [annotation] */
5533             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
5534             /* [annotation] */
5535             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
5536             /* [annotation] */
5537             _Out_writes_opt_(NumSamplers)  ID3D10SamplerState **ppSamplers);
5538 
5539         void ( STDMETHODCALLTYPE *VSGetShader )(
5540             ID3D10Device * This,
5541             /* [annotation] */
5542             _Out_  ID3D10VertexShader **ppVertexShader);
5543 
5544         void ( STDMETHODCALLTYPE *PSGetConstantBuffers )(
5545             ID3D10Device * This,
5546             /* [annotation] */
5547             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
5548             /* [annotation] */
5549             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
5550             /* [annotation] */
5551             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppConstantBuffers);
5552 
5553         void ( STDMETHODCALLTYPE *IAGetInputLayout )(
5554             ID3D10Device * This,
5555             /* [annotation] */
5556             _Out_  ID3D10InputLayout **ppInputLayout);
5557 
5558         void ( STDMETHODCALLTYPE *IAGetVertexBuffers )(
5559             ID3D10Device * This,
5560             /* [annotation] */
5561             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
5562             /* [annotation] */
5563             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
5564             /* [annotation] */
5565             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppVertexBuffers,
5566             /* [annotation] */
5567             _Out_writes_opt_(NumBuffers)  UINT *pStrides,
5568             /* [annotation] */
5569             _Out_writes_opt_(NumBuffers)  UINT *pOffsets);
5570 
5571         void ( STDMETHODCALLTYPE *IAGetIndexBuffer )(
5572             ID3D10Device * This,
5573             /* [annotation] */
5574             _Out_opt_  ID3D10Buffer **pIndexBuffer,
5575             /* [annotation] */
5576             _Out_opt_  DXGI_FORMAT *Format,
5577             /* [annotation] */
5578             _Out_opt_  UINT *Offset);
5579 
5580         void ( STDMETHODCALLTYPE *GSGetConstantBuffers )(
5581             ID3D10Device * This,
5582             /* [annotation] */
5583             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
5584             /* [annotation] */
5585             _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
5586             /* [annotation] */
5587             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppConstantBuffers);
5588 
5589         void ( STDMETHODCALLTYPE *GSGetShader )(
5590             ID3D10Device * This,
5591             /* [annotation] */
5592             _Out_  ID3D10GeometryShader **ppGeometryShader);
5593 
5594         void ( STDMETHODCALLTYPE *IAGetPrimitiveTopology )(
5595             ID3D10Device * This,
5596             /* [annotation] */
5597             _Out_  D3D10_PRIMITIVE_TOPOLOGY *pTopology);
5598 
5599         void ( STDMETHODCALLTYPE *VSGetShaderResources )(
5600             ID3D10Device * This,
5601             /* [annotation] */
5602             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
5603             /* [annotation] */
5604             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
5605             /* [annotation] */
5606             _Out_writes_opt_(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews);
5607 
5608         void ( STDMETHODCALLTYPE *VSGetSamplers )(
5609             ID3D10Device * This,
5610             /* [annotation] */
5611             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
5612             /* [annotation] */
5613             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
5614             /* [annotation] */
5615             _Out_writes_opt_(NumSamplers)  ID3D10SamplerState **ppSamplers);
5616 
5617         void ( STDMETHODCALLTYPE *GetPredication )(
5618             ID3D10Device * This,
5619             /* [annotation] */
5620             _Out_opt_  ID3D10Predicate **ppPredicate,
5621             /* [annotation] */
5622             _Out_opt_  BOOL *pPredicateValue);
5623 
5624         void ( STDMETHODCALLTYPE *GSGetShaderResources )(
5625             ID3D10Device * This,
5626             /* [annotation] */
5627             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
5628             /* [annotation] */
5629             _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
5630             /* [annotation] */
5631             _Out_writes_opt_(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews);
5632 
5633         void ( STDMETHODCALLTYPE *GSGetSamplers )(
5634             ID3D10Device * This,
5635             /* [annotation] */
5636             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
5637             /* [annotation] */
5638             _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
5639             /* [annotation] */
5640             _Out_writes_opt_(NumSamplers)  ID3D10SamplerState **ppSamplers);
5641 
5642         void ( STDMETHODCALLTYPE *OMGetRenderTargets )(
5643             ID3D10Device * This,
5644             /* [annotation] */
5645             _In_range_( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
5646             /* [annotation] */
5647             _Out_writes_opt_(NumViews)  ID3D10RenderTargetView **ppRenderTargetViews,
5648             /* [annotation] */
5649             _Out_opt_  ID3D10DepthStencilView **ppDepthStencilView);
5650 
5651         void ( STDMETHODCALLTYPE *OMGetBlendState )(
5652             ID3D10Device * This,
5653             /* [annotation] */
5654             _Out_opt_  ID3D10BlendState **ppBlendState,
5655             /* [annotation] */
5656             _Out_opt_  FLOAT BlendFactor[ 4 ],
5657             /* [annotation] */
5658             _Out_opt_  UINT *pSampleMask);
5659 
5660         void ( STDMETHODCALLTYPE *OMGetDepthStencilState )(
5661             ID3D10Device * This,
5662             /* [annotation] */
5663             _Out_opt_  ID3D10DepthStencilState **ppDepthStencilState,
5664             /* [annotation] */
5665             _Out_opt_  UINT *pStencilRef);
5666 
5667         void ( STDMETHODCALLTYPE *SOGetTargets )(
5668             ID3D10Device * This,
5669             /* [annotation] */
5670             _In_range_( 0, D3D10_SO_BUFFER_SLOT_COUNT )  UINT NumBuffers,
5671             /* [annotation] */
5672             _Out_writes_opt_(NumBuffers)  ID3D10Buffer **ppSOTargets,
5673             /* [annotation] */
5674             _Out_writes_opt_(NumBuffers)  UINT *pOffsets);
5675 
5676         void ( STDMETHODCALLTYPE *RSGetState )(
5677             ID3D10Device * This,
5678             /* [annotation] */
5679             _Out_  ID3D10RasterizerState **ppRasterizerState);
5680 
5681         void ( STDMETHODCALLTYPE *RSGetViewports )(
5682             ID3D10Device * This,
5683             /* [annotation] */
5684             _Inout_ /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *NumViewports,
5685             /* [annotation] */
5686             _Out_writes_opt_(*NumViewports)  D3D10_VIEWPORT *pViewports);
5687 
5688         void ( STDMETHODCALLTYPE *RSGetScissorRects )(
5689             ID3D10Device * This,
5690             /* [annotation] */
5691             _Inout_ /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *NumRects,
5692             /* [annotation] */
5693             _Out_writes_opt_(*NumRects)  D3D10_RECT *pRects);
5694 
5695         HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
5696             ID3D10Device * This);
5697 
5698         HRESULT ( STDMETHODCALLTYPE *SetExceptionMode )(
5699             ID3D10Device * This,
5700             UINT RaiseFlags);
5701 
5702         UINT ( STDMETHODCALLTYPE *GetExceptionMode )(
5703             ID3D10Device * This);
5704 
5705         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5706             ID3D10Device * This,
5707             /* [annotation] */
5708             _In_  REFGUID guid,
5709             /* [annotation] */
5710             _Inout_  UINT *pDataSize,
5711             /* [annotation] */
5712             _Out_writes_bytes_opt_(*pDataSize)  void *pData);
5713 
5714         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5715             ID3D10Device * This,
5716             /* [annotation] */
5717             _In_  REFGUID guid,
5718             /* [annotation] */
5719             _In_  UINT DataSize,
5720             /* [annotation] */
5721             _In_reads_bytes_opt_(DataSize)  const void *pData);
5722 
5723         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5724             ID3D10Device * This,
5725             /* [annotation] */
5726             _In_  REFGUID guid,
5727             /* [annotation] */
5728             _In_opt_  const IUnknown *pData);
5729 
5730         void ( STDMETHODCALLTYPE *ClearState )(
5731             ID3D10Device * This);
5732 
5733         void ( STDMETHODCALLTYPE *Flush )(
5734             ID3D10Device * This);
5735 
5736         HRESULT ( STDMETHODCALLTYPE *CreateBuffer )(
5737             ID3D10Device * This,
5738             /* [annotation] */
5739             _In_  const D3D10_BUFFER_DESC *pDesc,
5740             /* [annotation] */
5741             _In_opt_  const D3D10_SUBRESOURCE_DATA *pInitialData,
5742             /* [annotation] */
5743             _Out_opt_  ID3D10Buffer **ppBuffer);
5744 
5745         HRESULT ( STDMETHODCALLTYPE *CreateTexture1D )(
5746             ID3D10Device * This,
5747             /* [annotation] */
5748             _In_  const D3D10_TEXTURE1D_DESC *pDesc,
5749             /* [annotation] */
5750             _In_reads_opt_(_Inexpressible_(pDesc->MipLevels * pDesc->ArraySize))  const D3D10_SUBRESOURCE_DATA *pInitialData,
5751             /* [annotation] */
5752             _Out_  ID3D10Texture1D **ppTexture1D);
5753 
5754         HRESULT ( STDMETHODCALLTYPE *CreateTexture2D )(
5755             ID3D10Device * This,
5756             /* [annotation] */
5757             _In_  const D3D10_TEXTURE2D_DESC *pDesc,
5758             /* [annotation] */
5759             _In_reads_opt_(_Inexpressible_(pDesc->MipLevels * pDesc->ArraySize))  const D3D10_SUBRESOURCE_DATA *pInitialData,
5760             /* [annotation] */
5761             _Out_  ID3D10Texture2D **ppTexture2D);
5762 
5763         HRESULT ( STDMETHODCALLTYPE *CreateTexture3D )(
5764             ID3D10Device * This,
5765             /* [annotation] */
5766             _In_  const D3D10_TEXTURE3D_DESC *pDesc,
5767             /* [annotation] */
5768             _In_reads_opt_(_Inexpressible_(pDesc->MipLevels))  const D3D10_SUBRESOURCE_DATA *pInitialData,
5769             /* [annotation] */
5770             _Out_  ID3D10Texture3D **ppTexture3D);
5771 
5772         HRESULT ( STDMETHODCALLTYPE *CreateShaderResourceView )(
5773             ID3D10Device * This,
5774             /* [annotation] */
5775             _In_  ID3D10Resource *pResource,
5776             /* [annotation] */
5777             _In_opt_  const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
5778             /* [annotation] */
5779             _Out_opt_  ID3D10ShaderResourceView **ppSRView);
5780 
5781         HRESULT ( STDMETHODCALLTYPE *CreateRenderTargetView )(
5782             ID3D10Device * This,
5783             /* [annotation] */
5784             _In_  ID3D10Resource *pResource,
5785             /* [annotation] */
5786             _In_opt_  const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
5787             /* [annotation] */
5788             _Out_opt_  ID3D10RenderTargetView **ppRTView);
5789 
5790         HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilView )(
5791             ID3D10Device * This,
5792             /* [annotation] */
5793             _In_  ID3D10Resource *pResource,
5794             /* [annotation] */
5795             _In_opt_  const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
5796             /* [annotation] */
5797             _Out_opt_  ID3D10DepthStencilView **ppDepthStencilView);
5798 
5799         HRESULT ( STDMETHODCALLTYPE *CreateInputLayout )(
5800             ID3D10Device * This,
5801             /* [annotation] */
5802             _In_reads_(NumElements)  const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
5803             /* [annotation] */
5804             _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT )  UINT NumElements,
5805             /* [annotation] */
5806             _In_reads_(BytecodeLength)  const void *pShaderBytecodeWithInputSignature,
5807             /* [annotation] */
5808             _In_  SIZE_T BytecodeLength,
5809             /* [annotation] */
5810             _Out_opt_  ID3D10InputLayout **ppInputLayout);
5811 
5812         HRESULT ( STDMETHODCALLTYPE *CreateVertexShader )(
5813             ID3D10Device * This,
5814             /* [annotation] */
5815             _In_reads_(BytecodeLength)  const void *pShaderBytecode,
5816             /* [annotation] */
5817             _In_  SIZE_T BytecodeLength,
5818             /* [annotation] */
5819             _Out_opt_  ID3D10VertexShader **ppVertexShader);
5820 
5821         HRESULT ( STDMETHODCALLTYPE *CreateGeometryShader )(
5822             ID3D10Device * This,
5823             /* [annotation] */
5824             _In_reads_(BytecodeLength)  const void *pShaderBytecode,
5825             /* [annotation] */
5826             _In_  SIZE_T BytecodeLength,
5827             /* [annotation] */
5828             _Out_opt_  ID3D10GeometryShader **ppGeometryShader);
5829 
5830         HRESULT ( STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput )(
5831             ID3D10Device * This,
5832             /* [annotation] */
5833             _In_reads_(BytecodeLength)  const void *pShaderBytecode,
5834             /* [annotation] */
5835             _In_  SIZE_T BytecodeLength,
5836             /* [annotation] */
5837             _In_reads_opt_(NumEntries)  const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
5838             /* [annotation] */
5839             _In_range_( 0, D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT )  UINT NumEntries,
5840             /* [annotation] */
5841             _In_  UINT OutputStreamStride,
5842             /* [annotation] */
5843             _Out_opt_  ID3D10GeometryShader **ppGeometryShader);
5844 
5845         HRESULT ( STDMETHODCALLTYPE *CreatePixelShader )(
5846             ID3D10Device * This,
5847             /* [annotation] */
5848             _In_reads_(BytecodeLength)  const void *pShaderBytecode,
5849             /* [annotation] */
5850             _In_  SIZE_T BytecodeLength,
5851             /* [annotation] */
5852             _Out_opt_  ID3D10PixelShader **ppPixelShader);
5853 
5854         HRESULT ( STDMETHODCALLTYPE *CreateBlendState )(
5855             ID3D10Device * This,
5856             /* [annotation] */
5857             _In_  const D3D10_BLEND_DESC *pBlendStateDesc,
5858             /* [annotation] */
5859             _Out_opt_  ID3D10BlendState **ppBlendState);
5860 
5861         HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilState )(
5862             ID3D10Device * This,
5863             /* [annotation] */
5864             _In_  const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
5865             /* [annotation] */
5866             _Out_opt_  ID3D10DepthStencilState **ppDepthStencilState);
5867 
5868         HRESULT ( STDMETHODCALLTYPE *CreateRasterizerState )(
5869             ID3D10Device * This,
5870             /* [annotation] */
5871             _In_  const D3D10_RASTERIZER_DESC *pRasterizerDesc,
5872             /* [annotation] */
5873             _Out_opt_  ID3D10RasterizerState **ppRasterizerState);
5874 
5875         HRESULT ( STDMETHODCALLTYPE *CreateSamplerState )(
5876             ID3D10Device * This,
5877             /* [annotation] */
5878             _In_  const D3D10_SAMPLER_DESC *pSamplerDesc,
5879             /* [annotation] */
5880             _Out_opt_  ID3D10SamplerState **ppSamplerState);
5881 
5882         HRESULT ( STDMETHODCALLTYPE *CreateQuery )(
5883             ID3D10Device * This,
5884             /* [annotation] */
5885             _In_  const D3D10_QUERY_DESC *pQueryDesc,
5886             /* [annotation] */
5887             _Out_opt_  ID3D10Query **ppQuery);
5888 
5889         HRESULT ( STDMETHODCALLTYPE *CreatePredicate )(
5890             ID3D10Device * This,
5891             /* [annotation] */
5892             _In_  const D3D10_QUERY_DESC *pPredicateDesc,
5893             /* [annotation] */
5894             _Out_opt_  ID3D10Predicate **ppPredicate);
5895 
5896         HRESULT ( STDMETHODCALLTYPE *CreateCounter )(
5897             ID3D10Device * This,
5898             /* [annotation] */
5899             _In_  const D3D10_COUNTER_DESC *pCounterDesc,
5900             /* [annotation] */
5901             _Out_opt_  ID3D10Counter **ppCounter);
5902 
5903         HRESULT ( STDMETHODCALLTYPE *CheckFormatSupport )(
5904             ID3D10Device * This,
5905             /* [annotation] */
5906             _In_  DXGI_FORMAT Format,
5907             /* [annotation] */
5908             _Out_  UINT *pFormatSupport);
5909 
5910         HRESULT ( STDMETHODCALLTYPE *CheckMultisampleQualityLevels )(
5911             ID3D10Device * This,
5912             /* [annotation] */
5913             _In_  DXGI_FORMAT Format,
5914             /* [annotation] */
5915             _In_  UINT SampleCount,
5916             /* [annotation] */
5917             _Out_  UINT *pNumQualityLevels);
5918 
5919         void ( STDMETHODCALLTYPE *CheckCounterInfo )(
5920             ID3D10Device * This,
5921             /* [annotation] */
5922             _Out_  D3D10_COUNTER_INFO *pCounterInfo);
5923 
5924         HRESULT ( STDMETHODCALLTYPE *CheckCounter )(
5925             ID3D10Device * This,
5926             /* [annotation] */
5927             _In_  const D3D10_COUNTER_DESC *pDesc,
5928             /* [annotation] */
5929             _Out_  D3D10_COUNTER_TYPE *pType,
5930             /* [annotation] */
5931             _Out_  UINT *pActiveCounters,
5932             /* [annotation] */
5933             _Out_writes_opt_(*pNameLength)  LPSTR szName,
5934             /* [annotation] */
5935             _Inout_opt_  UINT *pNameLength,
5936             /* [annotation] */
5937             _Out_writes_opt_(*pUnitsLength)  LPSTR szUnits,
5938             /* [annotation] */
5939             _Inout_opt_  UINT *pUnitsLength,
5940             /* [annotation] */
5941             _Out_writes_opt_(*pDescriptionLength)  LPSTR szDescription,
5942             /* [annotation] */
5943             _Inout_opt_  UINT *pDescriptionLength);
5944 
5945         UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
5946             ID3D10Device * This);
5947 
5948         HRESULT ( STDMETHODCALLTYPE *OpenSharedResource )(
5949             ID3D10Device * This,
5950             /* [annotation] */
5951             _In_  HANDLE hResource,
5952             /* [annotation] */
5953             _In_  REFIID ReturnedInterface,
5954             /* [annotation] */
5955             _Out_opt_  void **ppResource);
5956 
5957         void ( STDMETHODCALLTYPE *SetTextFilterSize )(
5958             ID3D10Device * This,
5959             /* [annotation] */
5960             _In_  UINT Width,
5961             /* [annotation] */
5962             _In_  UINT Height);
5963 
5964         void ( STDMETHODCALLTYPE *GetTextFilterSize )(
5965             ID3D10Device * This,
5966             /* [annotation] */
5967             _Out_opt_  UINT *pWidth,
5968             /* [annotation] */
5969             _Out_opt_  UINT *pHeight);
5970 
5971         END_INTERFACE
5972     } ID3D10DeviceVtbl;
5973 
5974     interface ID3D10Device
5975     {
5976         CONST_VTBL struct ID3D10DeviceVtbl *lpVtbl;
5977     };
5978 
5979 #ifdef COBJMACROS
5980 
5981 #define ID3D10Device_QueryInterface(This,riid,ppvObject)	\
5982     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5983 
5984 #define ID3D10Device_AddRef(This)	\
5985     ( (This)->lpVtbl -> AddRef(This) )
5986 
5987 #define ID3D10Device_Release(This)	\
5988     ( (This)->lpVtbl -> Release(This) )
5989 
5990 #define ID3D10Device_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)	\
5991     ( (This)->lpVtbl -> VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
5992 
5993 #define ID3D10Device_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)	\
5994     ( (This)->lpVtbl -> PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
5995 
5996 #define ID3D10Device_PSSetShader(This,pPixelShader)	\
5997     ( (This)->lpVtbl -> PSSetShader(This,pPixelShader) )
5998 
5999 #define ID3D10Device_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)	\
6000     ( (This)->lpVtbl -> PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
6001 
6002 #define ID3D10Device_VSSetShader(This,pVertexShader)	\
6003     ( (This)->lpVtbl -> VSSetShader(This,pVertexShader) )
6004 
6005 #define ID3D10Device_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)	\
6006     ( (This)->lpVtbl -> DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) )
6007 
6008 #define ID3D10Device_Draw(This,VertexCount,StartVertexLocation)	\
6009     ( (This)->lpVtbl -> Draw(This,VertexCount,StartVertexLocation) )
6010 
6011 #define ID3D10Device_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)	\
6012     ( (This)->lpVtbl -> PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
6013 
6014 #define ID3D10Device_IASetInputLayout(This,pInputLayout)	\
6015     ( (This)->lpVtbl -> IASetInputLayout(This,pInputLayout) )
6016 
6017 #define ID3D10Device_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)	\
6018     ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
6019 
6020 #define ID3D10Device_IASetIndexBuffer(This,pIndexBuffer,Format,Offset)	\
6021     ( (This)->lpVtbl -> IASetIndexBuffer(This,pIndexBuffer,Format,Offset) )
6022 
6023 #define ID3D10Device_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
6024     ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
6025 
6026 #define ID3D10Device_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
6027     ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
6028 
6029 #define ID3D10Device_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)	\
6030     ( (This)->lpVtbl -> GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
6031 
6032 #define ID3D10Device_GSSetShader(This,pShader)	\
6033     ( (This)->lpVtbl -> GSSetShader(This,pShader) )
6034 
6035 #define ID3D10Device_IASetPrimitiveTopology(This,Topology)	\
6036     ( (This)->lpVtbl -> IASetPrimitiveTopology(This,Topology) )
6037 
6038 #define ID3D10Device_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)	\
6039     ( (This)->lpVtbl -> VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
6040 
6041 #define ID3D10Device_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)	\
6042     ( (This)->lpVtbl -> VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
6043 
6044 #define ID3D10Device_SetPredication(This,pPredicate,PredicateValue)	\
6045     ( (This)->lpVtbl -> SetPredication(This,pPredicate,PredicateValue) )
6046 
6047 #define ID3D10Device_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)	\
6048     ( (This)->lpVtbl -> GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
6049 
6050 #define ID3D10Device_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)	\
6051     ( (This)->lpVtbl -> GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
6052 
6053 #define ID3D10Device_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)	\
6054     ( (This)->lpVtbl -> OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) )
6055 
6056 #define ID3D10Device_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)	\
6057     ( (This)->lpVtbl -> OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) )
6058 
6059 #define ID3D10Device_OMSetDepthStencilState(This,pDepthStencilState,StencilRef)	\
6060     ( (This)->lpVtbl -> OMSetDepthStencilState(This,pDepthStencilState,StencilRef) )
6061 
6062 #define ID3D10Device_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)	\
6063     ( (This)->lpVtbl -> SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
6064 
6065 #define ID3D10Device_DrawAuto(This)	\
6066     ( (This)->lpVtbl -> DrawAuto(This) )
6067 
6068 #define ID3D10Device_RSSetState(This,pRasterizerState)	\
6069     ( (This)->lpVtbl -> RSSetState(This,pRasterizerState) )
6070 
6071 #define ID3D10Device_RSSetViewports(This,NumViewports,pViewports)	\
6072     ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
6073 
6074 #define ID3D10Device_RSSetScissorRects(This,NumRects,pRects)	\
6075     ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
6076 
6077 #define ID3D10Device_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)	\
6078     ( (This)->lpVtbl -> CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) )
6079 
6080 #define ID3D10Device_CopyResource(This,pDstResource,pSrcResource)	\
6081     ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
6082 
6083 #define ID3D10Device_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)	\
6084     ( (This)->lpVtbl -> UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
6085 
6086 #define ID3D10Device_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)	\
6087     ( (This)->lpVtbl -> ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) )
6088 
6089 #define ID3D10Device_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)	\
6090     ( (This)->lpVtbl -> ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) )
6091 
6092 #define ID3D10Device_GenerateMips(This,pShaderResourceView)	\
6093     ( (This)->lpVtbl -> GenerateMips(This,pShaderResourceView) )
6094 
6095 #define ID3D10Device_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
6096     ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
6097 
6098 #define ID3D10Device_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)	\
6099     ( (This)->lpVtbl -> VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
6100 
6101 #define ID3D10Device_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)	\
6102     ( (This)->lpVtbl -> PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
6103 
6104 #define ID3D10Device_PSGetShader(This,ppPixelShader)	\
6105     ( (This)->lpVtbl -> PSGetShader(This,ppPixelShader) )
6106 
6107 #define ID3D10Device_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)	\
6108     ( (This)->lpVtbl -> PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
6109 
6110 #define ID3D10Device_VSGetShader(This,ppVertexShader)	\
6111     ( (This)->lpVtbl -> VSGetShader(This,ppVertexShader) )
6112 
6113 #define ID3D10Device_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)	\
6114     ( (This)->lpVtbl -> PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
6115 
6116 #define ID3D10Device_IAGetInputLayout(This,ppInputLayout)	\
6117     ( (This)->lpVtbl -> IAGetInputLayout(This,ppInputLayout) )
6118 
6119 #define ID3D10Device_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)	\
6120     ( (This)->lpVtbl -> IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
6121 
6122 #define ID3D10Device_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)	\
6123     ( (This)->lpVtbl -> IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) )
6124 
6125 #define ID3D10Device_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)	\
6126     ( (This)->lpVtbl -> GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
6127 
6128 #define ID3D10Device_GSGetShader(This,ppGeometryShader)	\
6129     ( (This)->lpVtbl -> GSGetShader(This,ppGeometryShader) )
6130 
6131 #define ID3D10Device_IAGetPrimitiveTopology(This,pTopology)	\
6132     ( (This)->lpVtbl -> IAGetPrimitiveTopology(This,pTopology) )
6133 
6134 #define ID3D10Device_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)	\
6135     ( (This)->lpVtbl -> VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
6136 
6137 #define ID3D10Device_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)	\
6138     ( (This)->lpVtbl -> VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
6139 
6140 #define ID3D10Device_GetPredication(This,ppPredicate,pPredicateValue)	\
6141     ( (This)->lpVtbl -> GetPredication(This,ppPredicate,pPredicateValue) )
6142 
6143 #define ID3D10Device_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)	\
6144     ( (This)->lpVtbl -> GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
6145 
6146 #define ID3D10Device_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)	\
6147     ( (This)->lpVtbl -> GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
6148 
6149 #define ID3D10Device_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)	\
6150     ( (This)->lpVtbl -> OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) )
6151 
6152 #define ID3D10Device_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)	\
6153     ( (This)->lpVtbl -> OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) )
6154 
6155 #define ID3D10Device_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)	\
6156     ( (This)->lpVtbl -> OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) )
6157 
6158 #define ID3D10Device_SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets)	\
6159     ( (This)->lpVtbl -> SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
6160 
6161 #define ID3D10Device_RSGetState(This,ppRasterizerState)	\
6162     ( (This)->lpVtbl -> RSGetState(This,ppRasterizerState) )
6163 
6164 #define ID3D10Device_RSGetViewports(This,NumViewports,pViewports)	\
6165     ( (This)->lpVtbl -> RSGetViewports(This,NumViewports,pViewports) )
6166 
6167 #define ID3D10Device_RSGetScissorRects(This,NumRects,pRects)	\
6168     ( (This)->lpVtbl -> RSGetScissorRects(This,NumRects,pRects) )
6169 
6170 #define ID3D10Device_GetDeviceRemovedReason(This)	\
6171     ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
6172 
6173 #define ID3D10Device_SetExceptionMode(This,RaiseFlags)	\
6174     ( (This)->lpVtbl -> SetExceptionMode(This,RaiseFlags) )
6175 
6176 #define ID3D10Device_GetExceptionMode(This)	\
6177     ( (This)->lpVtbl -> GetExceptionMode(This) )
6178 
6179 #define ID3D10Device_GetPrivateData(This,guid,pDataSize,pData)	\
6180     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
6181 
6182 #define ID3D10Device_SetPrivateData(This,guid,DataSize,pData)	\
6183     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
6184 
6185 #define ID3D10Device_SetPrivateDataInterface(This,guid,pData)	\
6186     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
6187 
6188 #define ID3D10Device_ClearState(This)	\
6189     ( (This)->lpVtbl -> ClearState(This) )
6190 
6191 #define ID3D10Device_Flush(This)	\
6192     ( (This)->lpVtbl -> Flush(This) )
6193 
6194 #define ID3D10Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer)	\
6195     ( (This)->lpVtbl -> CreateBuffer(This,pDesc,pInitialData,ppBuffer) )
6196 
6197 #define ID3D10Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)	\
6198     ( (This)->lpVtbl -> CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) )
6199 
6200 #define ID3D10Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)	\
6201     ( (This)->lpVtbl -> CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) )
6202 
6203 #define ID3D10Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)	\
6204     ( (This)->lpVtbl -> CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) )
6205 
6206 #define ID3D10Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView)	\
6207     ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,ppSRView) )
6208 
6209 #define ID3D10Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView)	\
6210     ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,ppRTView) )
6211 
6212 #define ID3D10Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)	\
6213     ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) )
6214 
6215 #define ID3D10Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)	\
6216     ( (This)->lpVtbl -> CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) )
6217 
6218 #define ID3D10Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader)	\
6219     ( (This)->lpVtbl -> CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) )
6220 
6221 #define ID3D10Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader)	\
6222     ( (This)->lpVtbl -> CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) )
6223 
6224 #define ID3D10Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader)	\
6225     ( (This)->lpVtbl -> CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) )
6226 
6227 #define ID3D10Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader)	\
6228     ( (This)->lpVtbl -> CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) )
6229 
6230 #define ID3D10Device_CreateBlendState(This,pBlendStateDesc,ppBlendState)	\
6231     ( (This)->lpVtbl -> CreateBlendState(This,pBlendStateDesc,ppBlendState) )
6232 
6233 #define ID3D10Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)	\
6234     ( (This)->lpVtbl -> CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) )
6235 
6236 #define ID3D10Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)	\
6237     ( (This)->lpVtbl -> CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) )
6238 
6239 #define ID3D10Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState)	\
6240     ( (This)->lpVtbl -> CreateSamplerState(This,pSamplerDesc,ppSamplerState) )
6241 
6242 #define ID3D10Device_CreateQuery(This,pQueryDesc,ppQuery)	\
6243     ( (This)->lpVtbl -> CreateQuery(This,pQueryDesc,ppQuery) )
6244 
6245 #define ID3D10Device_CreatePredicate(This,pPredicateDesc,ppPredicate)	\
6246     ( (This)->lpVtbl -> CreatePredicate(This,pPredicateDesc,ppPredicate) )
6247 
6248 #define ID3D10Device_CreateCounter(This,pCounterDesc,ppCounter)	\
6249     ( (This)->lpVtbl -> CreateCounter(This,pCounterDesc,ppCounter) )
6250 
6251 #define ID3D10Device_CheckFormatSupport(This,Format,pFormatSupport)	\
6252     ( (This)->lpVtbl -> CheckFormatSupport(This,Format,pFormatSupport) )
6253 
6254 #define ID3D10Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)	\
6255     ( (This)->lpVtbl -> CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) )
6256 
6257 #define ID3D10Device_CheckCounterInfo(This,pCounterInfo)	\
6258     ( (This)->lpVtbl -> CheckCounterInfo(This,pCounterInfo) )
6259 
6260 #define ID3D10Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)	\
6261     ( (This)->lpVtbl -> CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) )
6262 
6263 #define ID3D10Device_GetCreationFlags(This)	\
6264     ( (This)->lpVtbl -> GetCreationFlags(This) )
6265 
6266 #define ID3D10Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource)	\
6267     ( (This)->lpVtbl -> OpenSharedResource(This,hResource,ReturnedInterface,ppResource) )
6268 
6269 #define ID3D10Device_SetTextFilterSize(This,Width,Height)	\
6270     ( (This)->lpVtbl -> SetTextFilterSize(This,Width,Height) )
6271 
6272 #define ID3D10Device_GetTextFilterSize(This,pWidth,pHeight)	\
6273     ( (This)->lpVtbl -> GetTextFilterSize(This,pWidth,pHeight) )
6274 
6275 #endif /* COBJMACROS */
6276 
6277 #endif 	/* C style interface */
6278 
6279 #endif 	/* __ID3D10Device_INTERFACE_DEFINED__ */
6280 
6281 /* interface __MIDL_itf_d3d10_0000_0023 */
6282 /* [local] */
6283 
6284 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
6285 /*#pragma endregion*/
6286 /*#pragma region Application Family*/
6287 /*#pragma region Application Family*/
6288 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
6289 
6290 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0023_v0_0_c_ifspec;
6291 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0023_v0_0_s_ifspec;
6292 
6293 #ifndef __ID3D10Multithread_INTERFACE_DEFINED__
6294 #define __ID3D10Multithread_INTERFACE_DEFINED__
6295 
6296 /* interface ID3D10Multithread */
6297 /* [unique][local][object][uuid] */
6298 
6299 EXTERN_C const IID IID_ID3D10Multithread;
6300 
6301 #if defined(__cplusplus) && !defined(CINTERFACE)
6302 
6303     MIDL_INTERFACE("9B7E4E00-342C-4106-A19F-4F2704F689F0")
6304     ID3D10Multithread : public IUnknown
6305     {
6306     public:
6307         virtual void STDMETHODCALLTYPE Enter( void) = 0;
6308 
6309         virtual void STDMETHODCALLTYPE Leave( void) = 0;
6310 
6311         virtual BOOL STDMETHODCALLTYPE SetMultithreadProtected(
6312             /* [annotation] */
6313             _In_  BOOL bMTProtect) = 0;
6314 
6315         virtual BOOL STDMETHODCALLTYPE GetMultithreadProtected( void) = 0;
6316 
6317     };
6318 
6319 #else 	/* C style interface */
6320 
6321     typedef struct ID3D10MultithreadVtbl
6322     {
6323         BEGIN_INTERFACE
6324 
6325         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6326             ID3D10Multithread * This,
6327             /* [in] */ REFIID riid,
6328             /* [annotation][iid_is][out] */
6329             _COM_Outptr_  void **ppvObject);
6330 
6331         ULONG ( STDMETHODCALLTYPE *AddRef )(
6332             ID3D10Multithread * This);
6333 
6334         ULONG ( STDMETHODCALLTYPE *Release )(
6335             ID3D10Multithread * This);
6336 
6337         void ( STDMETHODCALLTYPE *Enter )(
6338             ID3D10Multithread * This);
6339 
6340         void ( STDMETHODCALLTYPE *Leave )(
6341             ID3D10Multithread * This);
6342 
6343         BOOL ( STDMETHODCALLTYPE *SetMultithreadProtected )(
6344             ID3D10Multithread * This,
6345             /* [annotation] */
6346             _In_  BOOL bMTProtect);
6347 
6348         BOOL ( STDMETHODCALLTYPE *GetMultithreadProtected )(
6349             ID3D10Multithread * This);
6350 
6351         END_INTERFACE
6352     } ID3D10MultithreadVtbl;
6353 
6354     interface ID3D10Multithread
6355     {
6356         CONST_VTBL struct ID3D10MultithreadVtbl *lpVtbl;
6357     };
6358 
6359 #ifdef COBJMACROS
6360 
6361 #define ID3D10Multithread_QueryInterface(This,riid,ppvObject)	\
6362     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6363 
6364 #define ID3D10Multithread_AddRef(This)	\
6365     ( (This)->lpVtbl -> AddRef(This) )
6366 
6367 #define ID3D10Multithread_Release(This)	\
6368     ( (This)->lpVtbl -> Release(This) )
6369 
6370 #define ID3D10Multithread_Enter(This)	\
6371     ( (This)->lpVtbl -> Enter(This) )
6372 
6373 #define ID3D10Multithread_Leave(This)	\
6374     ( (This)->lpVtbl -> Leave(This) )
6375 
6376 #define ID3D10Multithread_SetMultithreadProtected(This,bMTProtect)	\
6377     ( (This)->lpVtbl -> SetMultithreadProtected(This,bMTProtect) )
6378 
6379 #define ID3D10Multithread_GetMultithreadProtected(This)	\
6380     ( (This)->lpVtbl -> GetMultithreadProtected(This) )
6381 
6382 #endif /* COBJMACROS */
6383 
6384 #endif 	/* C style interface */
6385 
6386 #endif 	/* __ID3D10Multithread_INTERFACE_DEFINED__ */
6387 
6388 /* interface __MIDL_itf_d3d10_0000_0024 */
6389 /* [local] */
6390 
6391 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
6392 /*#pragma endregion*/
6393 /*#pragma endregion*/
6394 /*#pragma region Desktop Family*/
6395 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
6396 typedef
6397 enum D3D10_CREATE_DEVICE_FLAG
6398     {
6399         D3D10_CREATE_DEVICE_SINGLETHREADED	= 0x1,
6400         D3D10_CREATE_DEVICE_DEBUG	= 0x2,
6401         D3D10_CREATE_DEVICE_SWITCH_TO_REF	= 0x4,
6402         D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS	= 0x8,
6403         D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP	= 0x10,
6404         D3D10_CREATE_DEVICE_BGRA_SUPPORT	= 0x20,
6405         D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY	= 0x80,
6406         D3D10_CREATE_DEVICE_STRICT_VALIDATION	= 0x200,
6407         D3D10_CREATE_DEVICE_DEBUGGABLE	= 0x400
6408     } 	D3D10_CREATE_DEVICE_FLAG;
6409 
6410 #define	D3D10_SDK_VERSION	( 29 )
6411 
6412 #if !defined( D3D10_IGNORE_SDK_LAYERS )
6413 #include "d3d10sdklayers.h"
6414 #endif
6415 #include "d3d10misc.h"
6416 #include "d3d10shader.h"
6417 #include "d3d10effect.h"
6418 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
6419 /*#pragma endregion*/
6420 DEFINE_GUID(IID_ID3D10DeviceChild,0x9B7E4C00,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6421 DEFINE_GUID(IID_ID3D10DepthStencilState,0x2B4B1CC8,0xA4AD,0x41f8,0x83,0x22,0xCA,0x86,0xFC,0x3E,0xC6,0x75);
6422 DEFINE_GUID(IID_ID3D10BlendState,0xEDAD8D19,0x8A35,0x4d6d,0x85,0x66,0x2E,0xA2,0x76,0xCD,0xE1,0x61);
6423 DEFINE_GUID(IID_ID3D10RasterizerState,0xA2A07292,0x89AF,0x4345,0xBE,0x2E,0xC5,0x3D,0x9F,0xBB,0x6E,0x9F);
6424 DEFINE_GUID(IID_ID3D10Resource,0x9B7E4C01,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6425 DEFINE_GUID(IID_ID3D10Buffer,0x9B7E4C02,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6426 DEFINE_GUID(IID_ID3D10Texture1D,0x9B7E4C03,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6427 DEFINE_GUID(IID_ID3D10Texture2D,0x9B7E4C04,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6428 DEFINE_GUID(IID_ID3D10Texture3D,0x9B7E4C05,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6429 DEFINE_GUID(IID_ID3D10View,0xC902B03F,0x60A7,0x49BA,0x99,0x36,0x2A,0x3A,0xB3,0x7A,0x7E,0x33);
6430 DEFINE_GUID(IID_ID3D10ShaderResourceView,0x9B7E4C07,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6431 DEFINE_GUID(IID_ID3D10RenderTargetView,0x9B7E4C08,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6432 DEFINE_GUID(IID_ID3D10DepthStencilView,0x9B7E4C09,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6433 DEFINE_GUID(IID_ID3D10VertexShader,0x9B7E4C0A,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6434 DEFINE_GUID(IID_ID3D10GeometryShader,0x6316BE88,0x54CD,0x4040,0xAB,0x44,0x20,0x46,0x1B,0xC8,0x1F,0x68);
6435 DEFINE_GUID(IID_ID3D10PixelShader,0x4968B601,0x9D00,0x4cde,0x83,0x46,0x8E,0x7F,0x67,0x58,0x19,0xB6);
6436 DEFINE_GUID(IID_ID3D10InputLayout,0x9B7E4C0B,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6437 DEFINE_GUID(IID_ID3D10SamplerState,0x9B7E4C0C,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6438 DEFINE_GUID(IID_ID3D10Asynchronous,0x9B7E4C0D,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6439 DEFINE_GUID(IID_ID3D10Query,0x9B7E4C0E,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6440 DEFINE_GUID(IID_ID3D10Predicate,0x9B7E4C10,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6441 DEFINE_GUID(IID_ID3D10Counter,0x9B7E4C11,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6442 DEFINE_GUID(IID_ID3D10Device,0x9B7E4C0F,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6443 DEFINE_GUID(IID_ID3D10Multithread,0x9B7E4E00,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
6444 
6445 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0024_v0_0_c_ifspec;
6446 extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0024_v0_0_s_ifspec;
6447 
6448 /* Additional Prototypes for ALL interfaces */
6449 
6450 /* end of Additional Prototypes */
6451 
6452 #ifdef __cplusplus
6453 }
6454 #endif
6455 
6456 #endif
6457