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