Subversion Repositories Games.Chess Giants

Rev

Blame | Last modification | View Log | Download | RSS feed

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