Subversion Repositories Games.Chess Giants

Rev

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

  1.  
  2.  
  3. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  4.  
  5.  
  6.  /* File created by MIDL compiler version 7.00.0555 */
  7. /* Compiler settings for d3d10_1.idl:
  8.     Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
  9.     protocol : all , ms_ext, c_ext, robust
  10.     error checks: allocation ref bounds_check enum stub_data
  11.     VC __declspec() decoration level:
  12.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  13.          DECLSPEC_UUID(), MIDL_INTERFACE()
  14. */
  15. /* @@MIDL_FILE_HEADING(  ) */
  16.  
  17. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  18.  
  19.  
  20. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  21. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  22. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  23. #endif
  24.  
  25. /* verify that the <rpcsal.h> version is high enough to compile this file*/
  26. #ifndef __REQUIRED_RPCSAL_H_VERSION__
  27. #define __REQUIRED_RPCSAL_H_VERSION__ 100
  28. #endif
  29.  
  30. #include "rpc.h"
  31. #include "rpcndr.h"
  32.  
  33. #ifndef __RPCNDR_H_VERSION__
  34. #error this stub requires an updated version of <rpcndr.h>
  35. #endif // __RPCNDR_H_VERSION__
  36.  
  37. #ifndef COM_NO_WINDOWS_H
  38. #include "windows.h"
  39. #include "ole2.h"
  40. #endif /*COM_NO_WINDOWS_H*/
  41.  
  42. #ifndef __d3d10_1_h__
  43. #define __d3d10_1_h__
  44.  
  45. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  46. #pragma once
  47. #endif
  48.  
  49. /* Forward Declarations */
  50.  
  51. #ifndef __ID3D10BlendState1_FWD_DEFINED__
  52. #define __ID3D10BlendState1_FWD_DEFINED__
  53. typedef interface ID3D10BlendState1 ID3D10BlendState1;
  54. #endif  /* __ID3D10BlendState1_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __ID3D10ShaderResourceView1_FWD_DEFINED__
  58. #define __ID3D10ShaderResourceView1_FWD_DEFINED__
  59. typedef interface ID3D10ShaderResourceView1 ID3D10ShaderResourceView1;
  60. #endif  /* __ID3D10ShaderResourceView1_FWD_DEFINED__ */
  61.  
  62.  
  63. #ifndef __ID3D10Device1_FWD_DEFINED__
  64. #define __ID3D10Device1_FWD_DEFINED__
  65. typedef interface ID3D10Device1 ID3D10Device1;
  66. #endif  /* __ID3D10Device1_FWD_DEFINED__ */
  67.  
  68.  
  69. /* header files for imported files */
  70. #include "oaidl.h"
  71. #include "ocidl.h"
  72.  
  73. #ifdef __cplusplus
  74. extern "C"{
  75. #endif
  76.  
  77.  
  78. /* interface __MIDL_itf_d3d10_1_0000_0000 */
  79. /* [local] */
  80.  
  81. #if defined( __d3d10_h__ ) && !defined( D3D10_ARBITRARY_HEADER_ORDERING )
  82. #error d3d10.h is included before d3d10_1.h, and it will confuse tools that honor SAL annotations. \
  83. If possibly targeting d3d10.1, include d3d10_1.h instead of d3d10.h, or ensure d3d10_1.h is included before d3d10.h
  84. #endif
  85. #ifndef _D3D10_1_CONSTANTS
  86. #define _D3D10_1_CONSTANTS
  87. #define D3D10_1_DEFAULT_SAMPLE_MASK     ( 0xffffffff )
  88.  
  89. #define D3D10_1_FLOAT16_FUSED_TOLERANCE_IN_ULP  ( 0.6 )
  90. #define D3D10_1_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP     ( 0.6f )
  91. #define D3D10_1_GS_INPUT_REGISTER_COUNT ( 32 )
  92.  
  93. #define D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT     ( 32 )
  94.  
  95. #define D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS   ( 128 )
  96.  
  97. #define D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 )
  98.  
  99. #define D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENTS      ( 1 )
  100.  
  101. #define D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT     ( 32 )
  102.  
  103. #define D3D10_1_PS_OUTPUT_MASK_REGISTER_COUNT   ( 1 )
  104.  
  105. #define D3D10_1_SHADER_MAJOR_VERSION    ( 4 )
  106.  
  107. #define D3D10_1_SHADER_MINOR_VERSION    ( 1 )
  108.  
  109. #define D3D10_1_SO_BUFFER_MAX_STRIDE_IN_BYTES   ( 2048 )
  110.  
  111. #define D3D10_1_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES     ( 256 )
  112.  
  113. #define D3D10_1_SO_BUFFER_SLOT_COUNT    ( 4 )
  114.  
  115. #define D3D10_1_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER  ( 1 )
  116.  
  117. #define D3D10_1_SO_SINGLE_BUFFER_COMPONENT_LIMIT        ( 64 )
  118.  
  119. #define D3D10_1_STANDARD_VERTEX_ELEMENT_COUNT   ( 32 )
  120.  
  121. #define D3D10_1_SUBPIXEL_FRACTIONAL_BIT_COUNT   ( 8 )
  122.  
  123. #define D3D10_1_VS_INPUT_REGISTER_COUNT ( 32 )
  124.  
  125. #define D3D10_1_VS_OUTPUT_REGISTER_COUNT        ( 32 )
  126.  
  127. #endif
  128. #include "d3d10.h" //
  129.  
  130. typedef
  131. enum D3D10_FEATURE_LEVEL1
  132.     {   D3D10_FEATURE_LEVEL_10_0        = 0xa000,
  133.         D3D10_FEATURE_LEVEL_10_1        = 0xa100,
  134.         D3D10_FEATURE_LEVEL_9_1 = 0x9100,
  135.         D3D10_FEATURE_LEVEL_9_2 = 0x9200,
  136.         D3D10_FEATURE_LEVEL_9_3 = 0x9300
  137.     }   D3D10_FEATURE_LEVEL1;
  138.  
  139. typedef struct D3D10_RENDER_TARGET_BLEND_DESC1
  140.     {
  141.     BOOL BlendEnable;
  142.     D3D10_BLEND SrcBlend;
  143.     D3D10_BLEND DestBlend;
  144.     D3D10_BLEND_OP BlendOp;
  145.     D3D10_BLEND SrcBlendAlpha;
  146.     D3D10_BLEND DestBlendAlpha;
  147.     D3D10_BLEND_OP BlendOpAlpha;
  148.     UINT8 RenderTargetWriteMask;
  149.     }   D3D10_RENDER_TARGET_BLEND_DESC1;
  150.  
  151. typedef struct D3D10_BLEND_DESC1
  152.     {
  153.     BOOL AlphaToCoverageEnable;
  154.     BOOL IndependentBlendEnable;
  155.     D3D10_RENDER_TARGET_BLEND_DESC1 RenderTarget[ 8 ];
  156.     }   D3D10_BLEND_DESC1;
  157.  
  158.  
  159.  
  160. extern RPC_IF_HANDLE __MIDL_itf_d3d10_1_0000_0000_v0_0_c_ifspec;
  161. extern RPC_IF_HANDLE __MIDL_itf_d3d10_1_0000_0000_v0_0_s_ifspec;
  162.  
  163. #ifndef __ID3D10BlendState1_INTERFACE_DEFINED__
  164. #define __ID3D10BlendState1_INTERFACE_DEFINED__
  165.  
  166. /* interface ID3D10BlendState1 */
  167. /* [unique][local][object][uuid] */
  168.  
  169.  
  170. EXTERN_C const IID IID_ID3D10BlendState1;
  171.  
  172. #if defined(__cplusplus) && !defined(CINTERFACE)
  173.    
  174.     MIDL_INTERFACE("EDAD8D99-8A35-4d6d-8566-2EA276CDE161")
  175.     ID3D10BlendState1 : public ID3D10BlendState
  176.     {
  177.     public:
  178.         virtual void STDMETHODCALLTYPE GetDesc1(
  179.             /* [annotation] */
  180.             __out  D3D10_BLEND_DESC1 *pDesc) = 0;
  181.        
  182.     };
  183.    
  184. #else   /* C style interface */
  185.  
  186.     typedef struct ID3D10BlendState1Vtbl
  187.     {
  188.         BEGIN_INTERFACE
  189.        
  190.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  191.             ID3D10BlendState1 * This,
  192.             /* [in] */ REFIID riid,
  193.             /* [annotation][iid_is][out] */
  194.             __RPC__deref_out  void **ppvObject);
  195.        
  196.         ULONG ( STDMETHODCALLTYPE *AddRef )(
  197.             ID3D10BlendState1 * This);
  198.        
  199.         ULONG ( STDMETHODCALLTYPE *Release )(
  200.             ID3D10BlendState1 * This);
  201.        
  202.         void ( STDMETHODCALLTYPE *GetDevice )(
  203.             ID3D10BlendState1 * This,
  204.             /* [annotation] */
  205.             __out  ID3D10Device **ppDevice);
  206.        
  207.         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  208.             ID3D10BlendState1 * This,
  209.             /* [annotation] */
  210.             __in  REFGUID guid,
  211.             /* [annotation] */
  212.             __inout  UINT *pDataSize,
  213.             /* [annotation] */
  214.             __out_bcount_opt(*pDataSize)  void *pData);
  215.        
  216.         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  217.             ID3D10BlendState1 * This,
  218.             /* [annotation] */
  219.             __in  REFGUID guid,
  220.             /* [annotation] */
  221.             __in  UINT DataSize,
  222.             /* [annotation] */
  223.             __in_bcount_opt(DataSize)  const void *pData);
  224.        
  225.         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  226.             ID3D10BlendState1 * This,
  227.             /* [annotation] */
  228.             __in  REFGUID guid,
  229.             /* [annotation] */
  230.             __in_opt  const IUnknown *pData);
  231.        
  232.         void ( STDMETHODCALLTYPE *GetDesc )(
  233.             ID3D10BlendState1 * This,
  234.             /* [annotation] */
  235.             __out  D3D10_BLEND_DESC *pDesc);
  236.        
  237.         void ( STDMETHODCALLTYPE *GetDesc1 )(
  238.             ID3D10BlendState1 * This,
  239.             /* [annotation] */
  240.             __out  D3D10_BLEND_DESC1 *pDesc);
  241.        
  242.         END_INTERFACE
  243.     } ID3D10BlendState1Vtbl;
  244.  
  245.     interface ID3D10BlendState1
  246.     {
  247.         CONST_VTBL struct ID3D10BlendState1Vtbl *lpVtbl;
  248.     };
  249.  
  250.    
  251.  
  252. #ifdef COBJMACROS
  253.  
  254.  
  255. #define ID3D10BlendState1_QueryInterface(This,riid,ppvObject)   \
  256.     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  257.  
  258. #define ID3D10BlendState1_AddRef(This)  \
  259.     ( (This)->lpVtbl -> AddRef(This) )
  260.  
  261. #define ID3D10BlendState1_Release(This) \
  262.     ( (This)->lpVtbl -> Release(This) )
  263.  
  264.  
  265. #define ID3D10BlendState1_GetDevice(This,ppDevice)      \
  266.     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  267.  
  268. #define ID3D10BlendState1_GetPrivateData(This,guid,pDataSize,pData)     \
  269.     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  270.  
  271. #define ID3D10BlendState1_SetPrivateData(This,guid,DataSize,pData)      \
  272.     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  273.  
  274. #define ID3D10BlendState1_SetPrivateDataInterface(This,guid,pData)      \
  275.     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  276.  
  277.  
  278. #define ID3D10BlendState1_GetDesc(This,pDesc)   \
  279.     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  280.  
  281.  
  282. #define ID3D10BlendState1_GetDesc1(This,pDesc)  \
  283.     ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
  284.  
  285. #endif /* COBJMACROS */
  286.  
  287.  
  288. #endif  /* C style interface */
  289.  
  290.  
  291.  
  292.  
  293. #endif  /* __ID3D10BlendState1_INTERFACE_DEFINED__ */
  294.  
  295.  
  296. /* interface __MIDL_itf_d3d10_1_0000_0001 */
  297. /* [local] */
  298.  
  299. typedef struct D3D10_TEXCUBE_ARRAY_SRV1
  300.     {
  301.     UINT MostDetailedMip;
  302.     UINT MipLevels;
  303.     UINT First2DArrayFace;
  304.     UINT NumCubes;
  305.     }   D3D10_TEXCUBE_ARRAY_SRV1;
  306.  
  307. typedef
  308. enum D3D10_SRV_DIMENSION1
  309.     {   D3D10_1_SRV_DIMENSION_UNKNOWN   = 0,
  310.         D3D10_1_SRV_DIMENSION_BUFFER    = 1,
  311.         D3D10_1_SRV_DIMENSION_TEXTURE1D = 2,
  312.         D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY    = 3,
  313.         D3D10_1_SRV_DIMENSION_TEXTURE2D = 4,
  314.         D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY    = 5,
  315.         D3D10_1_SRV_DIMENSION_TEXTURE2DMS       = 6,
  316.         D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY  = 7,
  317.         D3D10_1_SRV_DIMENSION_TEXTURE3D = 8,
  318.         D3D10_1_SRV_DIMENSION_TEXTURECUBE       = 9,
  319.         D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY  = 10
  320.     }   D3D10_SRV_DIMENSION1;
  321.  
  322. typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC1
  323.     {
  324.     DXGI_FORMAT Format;
  325.     D3D10_SRV_DIMENSION1 ViewDimension;
  326.     union
  327.         {
  328.         D3D10_BUFFER_SRV Buffer;
  329.         D3D10_TEX1D_SRV Texture1D;
  330.         D3D10_TEX1D_ARRAY_SRV Texture1DArray;
  331.         D3D10_TEX2D_SRV Texture2D;
  332.         D3D10_TEX2D_ARRAY_SRV Texture2DArray;
  333.         D3D10_TEX2DMS_SRV Texture2DMS;
  334.         D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
  335.         D3D10_TEX3D_SRV Texture3D;
  336.         D3D10_TEXCUBE_SRV TextureCube;
  337.         D3D10_TEXCUBE_ARRAY_SRV1 TextureCubeArray;
  338.         }       ;
  339.     }   D3D10_SHADER_RESOURCE_VIEW_DESC1;
  340.  
  341.  
  342.  
  343. extern RPC_IF_HANDLE __MIDL_itf_d3d10_1_0000_0001_v0_0_c_ifspec;
  344. extern RPC_IF_HANDLE __MIDL_itf_d3d10_1_0000_0001_v0_0_s_ifspec;
  345.  
  346. #ifndef __ID3D10ShaderResourceView1_INTERFACE_DEFINED__
  347. #define __ID3D10ShaderResourceView1_INTERFACE_DEFINED__
  348.  
  349. /* interface ID3D10ShaderResourceView1 */
  350. /* [unique][local][object][uuid] */
  351.  
  352.  
  353. EXTERN_C const IID IID_ID3D10ShaderResourceView1;
  354.  
  355. #if defined(__cplusplus) && !defined(CINTERFACE)
  356.    
  357.     MIDL_INTERFACE("9B7E4C87-342C-4106-A19F-4F2704F689F0")
  358.     ID3D10ShaderResourceView1 : public ID3D10ShaderResourceView
  359.     {
  360.     public:
  361.         virtual void STDMETHODCALLTYPE GetDesc1(
  362.             /* [annotation] */
  363.             __out  D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc) = 0;
  364.        
  365.     };
  366.    
  367. #else   /* C style interface */
  368.  
  369.     typedef struct ID3D10ShaderResourceView1Vtbl
  370.     {
  371.         BEGIN_INTERFACE
  372.        
  373.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  374.             ID3D10ShaderResourceView1 * This,
  375.             /* [in] */ REFIID riid,
  376.             /* [annotation][iid_is][out] */
  377.             __RPC__deref_out  void **ppvObject);
  378.        
  379.         ULONG ( STDMETHODCALLTYPE *AddRef )(
  380.             ID3D10ShaderResourceView1 * This);
  381.        
  382.         ULONG ( STDMETHODCALLTYPE *Release )(
  383.             ID3D10ShaderResourceView1 * This);
  384.        
  385.         void ( STDMETHODCALLTYPE *GetDevice )(
  386.             ID3D10ShaderResourceView1 * This,
  387.             /* [annotation] */
  388.             __out  ID3D10Device **ppDevice);
  389.        
  390.         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  391.             ID3D10ShaderResourceView1 * This,
  392.             /* [annotation] */
  393.             __in  REFGUID guid,
  394.             /* [annotation] */
  395.             __inout  UINT *pDataSize,
  396.             /* [annotation] */
  397.             __out_bcount_opt(*pDataSize)  void *pData);
  398.        
  399.         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  400.             ID3D10ShaderResourceView1 * This,
  401.             /* [annotation] */
  402.             __in  REFGUID guid,
  403.             /* [annotation] */
  404.             __in  UINT DataSize,
  405.             /* [annotation] */
  406.             __in_bcount_opt(DataSize)  const void *pData);
  407.        
  408.         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  409.             ID3D10ShaderResourceView1 * This,
  410.             /* [annotation] */
  411.             __in  REFGUID guid,
  412.             /* [annotation] */
  413.             __in_opt  const IUnknown *pData);
  414.        
  415.         void ( STDMETHODCALLTYPE *GetResource )(
  416.             ID3D10ShaderResourceView1 * This,
  417.             /* [annotation] */
  418.             __out  ID3D10Resource **ppResource);
  419.        
  420.         void ( STDMETHODCALLTYPE *GetDesc )(
  421.             ID3D10ShaderResourceView1 * This,
  422.             /* [annotation] */
  423.             __out  D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
  424.        
  425.         void ( STDMETHODCALLTYPE *GetDesc1 )(
  426.             ID3D10ShaderResourceView1 * This,
  427.             /* [annotation] */
  428.             __out  D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc);
  429.        
  430.         END_INTERFACE
  431.     } ID3D10ShaderResourceView1Vtbl;
  432.  
  433.     interface ID3D10ShaderResourceView1
  434.     {
  435.         CONST_VTBL struct ID3D10ShaderResourceView1Vtbl *lpVtbl;
  436.     };
  437.  
  438.    
  439.  
  440. #ifdef COBJMACROS
  441.  
  442.  
  443. #define ID3D10ShaderResourceView1_QueryInterface(This,riid,ppvObject)   \
  444.     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  445.  
  446. #define ID3D10ShaderResourceView1_AddRef(This)  \
  447.     ( (This)->lpVtbl -> AddRef(This) )
  448.  
  449. #define ID3D10ShaderResourceView1_Release(This) \
  450.     ( (This)->lpVtbl -> Release(This) )
  451.  
  452.  
  453. #define ID3D10ShaderResourceView1_GetDevice(This,ppDevice)      \
  454.     ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  455.  
  456. #define ID3D10ShaderResourceView1_GetPrivateData(This,guid,pDataSize,pData)     \
  457.     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  458.  
  459. #define ID3D10ShaderResourceView1_SetPrivateData(This,guid,DataSize,pData)      \
  460.     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  461.  
  462. #define ID3D10ShaderResourceView1_SetPrivateDataInterface(This,guid,pData)      \
  463.     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  464.  
  465.  
  466. #define ID3D10ShaderResourceView1_GetResource(This,ppResource)  \
  467.     ( (This)->lpVtbl -> GetResource(This,ppResource) )
  468.  
  469.  
  470. #define ID3D10ShaderResourceView1_GetDesc(This,pDesc)   \
  471.     ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  472.  
  473.  
  474. #define ID3D10ShaderResourceView1_GetDesc1(This,pDesc)  \
  475.     ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
  476.  
  477. #endif /* COBJMACROS */
  478.  
  479.  
  480. #endif  /* C style interface */
  481.  
  482.  
  483.  
  484.  
  485. #endif  /* __ID3D10ShaderResourceView1_INTERFACE_DEFINED__ */
  486.  
  487.  
  488. /* interface __MIDL_itf_d3d10_1_0000_0002 */
  489. /* [local] */
  490.  
  491. typedef
  492. enum D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS
  493.     {   D3D10_STANDARD_MULTISAMPLE_PATTERN      = 0xffffffff,
  494.         D3D10_CENTER_MULTISAMPLE_PATTERN        = 0xfffffffe
  495.     }   D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
  496.  
  497.  
  498.  
  499. extern RPC_IF_HANDLE __MIDL_itf_d3d10_1_0000_0002_v0_0_c_ifspec;
  500. extern RPC_IF_HANDLE __MIDL_itf_d3d10_1_0000_0002_v0_0_s_ifspec;
  501.  
  502. #ifndef __ID3D10Device1_INTERFACE_DEFINED__
  503. #define __ID3D10Device1_INTERFACE_DEFINED__
  504.  
  505. /* interface ID3D10Device1 */
  506. /* [unique][local][object][uuid] */
  507.  
  508.  
  509. EXTERN_C const IID IID_ID3D10Device1;
  510.  
  511. #if defined(__cplusplus) && !defined(CINTERFACE)
  512.    
  513.     MIDL_INTERFACE("9B7E4C8F-342C-4106-A19F-4F2704F689F0")
  514.     ID3D10Device1 : public ID3D10Device
  515.     {
  516.     public:
  517.         virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView1(
  518.             /* [annotation] */
  519.             __in  ID3D10Resource *pResource,
  520.             /* [annotation] */
  521.             __in_opt  const D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc,
  522.             /* [annotation] */
  523.             __out_opt  ID3D10ShaderResourceView1 **ppSRView) = 0;
  524.        
  525.         virtual HRESULT STDMETHODCALLTYPE CreateBlendState1(
  526.             /* [annotation] */
  527.             __in  const D3D10_BLEND_DESC1 *pBlendStateDesc,
  528.             /* [annotation] */
  529.             __out_opt  ID3D10BlendState1 **ppBlendState) = 0;
  530.        
  531.         virtual D3D10_FEATURE_LEVEL1 STDMETHODCALLTYPE GetFeatureLevel( void) = 0;
  532.        
  533.     };
  534.    
  535. #else   /* C style interface */
  536.  
  537.     typedef struct ID3D10Device1Vtbl
  538.     {
  539.         BEGIN_INTERFACE
  540.        
  541.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  542.             ID3D10Device1 * This,
  543.             /* [in] */ REFIID riid,
  544.             /* [annotation][iid_is][out] */
  545.             __RPC__deref_out  void **ppvObject);
  546.        
  547.         ULONG ( STDMETHODCALLTYPE *AddRef )(
  548.             ID3D10Device1 * This);
  549.        
  550.         ULONG ( STDMETHODCALLTYPE *Release )(
  551.             ID3D10Device1 * This);
  552.        
  553.         void ( STDMETHODCALLTYPE *VSSetConstantBuffers )(
  554.             ID3D10Device1 * This,
  555.             /* [annotation] */
  556.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
  557.             /* [annotation] */
  558.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
  559.             /* [annotation] */
  560.             __in_ecount(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers);
  561.        
  562.         void ( STDMETHODCALLTYPE *PSSetShaderResources )(
  563.             ID3D10Device1 * This,
  564.             /* [annotation] */
  565.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
  566.             /* [annotation] */
  567.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
  568.             /* [annotation] */
  569.             __in_ecount(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews);
  570.        
  571.         void ( STDMETHODCALLTYPE *PSSetShader )(
  572.             ID3D10Device1 * This,
  573.             /* [annotation] */
  574.             __in_opt  ID3D10PixelShader *pPixelShader);
  575.        
  576.         void ( STDMETHODCALLTYPE *PSSetSamplers )(
  577.             ID3D10Device1 * This,
  578.             /* [annotation] */
  579.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
  580.             /* [annotation] */
  581.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
  582.             /* [annotation] */
  583.             __in_ecount(NumSamplers)  ID3D10SamplerState *const *ppSamplers);
  584.        
  585.         void ( STDMETHODCALLTYPE *VSSetShader )(
  586.             ID3D10Device1 * This,
  587.             /* [annotation] */
  588.             __in_opt  ID3D10VertexShader *pVertexShader);
  589.        
  590.         void ( STDMETHODCALLTYPE *DrawIndexed )(
  591.             ID3D10Device1 * This,
  592.             /* [annotation] */
  593.             __in  UINT IndexCount,
  594.             /* [annotation] */
  595.             __in  UINT StartIndexLocation,
  596.             /* [annotation] */
  597.             __in  INT BaseVertexLocation);
  598.        
  599.         void ( STDMETHODCALLTYPE *Draw )(
  600.             ID3D10Device1 * This,
  601.             /* [annotation] */
  602.             __in  UINT VertexCount,
  603.             /* [annotation] */
  604.             __in  UINT StartVertexLocation);
  605.        
  606.         void ( STDMETHODCALLTYPE *PSSetConstantBuffers )(
  607.             ID3D10Device1 * This,
  608.             /* [annotation] */
  609.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
  610.             /* [annotation] */
  611.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
  612.             /* [annotation] */
  613.             __in_ecount(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers);
  614.        
  615.         void ( STDMETHODCALLTYPE *IASetInputLayout )(
  616.             ID3D10Device1 * This,
  617.             /* [annotation] */
  618.             __in_opt  ID3D10InputLayout *pInputLayout);
  619.        
  620.         void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
  621.             ID3D10Device1 * This,
  622.             /* [annotation] */
  623.             __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
  624.             /* [annotation] */
  625.             __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
  626.             /* [annotation] */
  627.             __in_ecount(NumBuffers)  ID3D10Buffer *const *ppVertexBuffers,
  628.             /* [annotation] */
  629.             __in_ecount(NumBuffers)  const UINT *pStrides,
  630.             /* [annotation] */
  631.             __in_ecount(NumBuffers)  const UINT *pOffsets);
  632.        
  633.         void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
  634.             ID3D10Device1 * This,
  635.             /* [annotation] */
  636.             __in_opt  ID3D10Buffer *pIndexBuffer,
  637.             /* [annotation] */
  638.             __in  DXGI_FORMAT Format,
  639.             /* [annotation] */
  640.             __in  UINT Offset);
  641.        
  642.         void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
  643.             ID3D10Device1 * This,
  644.             /* [annotation] */
  645.             __in  UINT IndexCountPerInstance,
  646.             /* [annotation] */
  647.             __in  UINT InstanceCount,
  648.             /* [annotation] */
  649.             __in  UINT StartIndexLocation,
  650.             /* [annotation] */
  651.             __in  INT BaseVertexLocation,
  652.             /* [annotation] */
  653.             __in  UINT StartInstanceLocation);
  654.        
  655.         void ( STDMETHODCALLTYPE *DrawInstanced )(
  656.             ID3D10Device1 * This,
  657.             /* [annotation] */
  658.             __in  UINT VertexCountPerInstance,
  659.             /* [annotation] */
  660.             __in  UINT InstanceCount,
  661.             /* [annotation] */
  662.             __in  UINT StartVertexLocation,
  663.             /* [annotation] */
  664.             __in  UINT StartInstanceLocation);
  665.        
  666.         void ( STDMETHODCALLTYPE *GSSetConstantBuffers )(
  667.             ID3D10Device1 * This,
  668.             /* [annotation] */
  669.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
  670.             /* [annotation] */
  671.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
  672.             /* [annotation] */
  673.             __in_ecount(NumBuffers)  ID3D10Buffer *const *ppConstantBuffers);
  674.        
  675.         void ( STDMETHODCALLTYPE *GSSetShader )(
  676.             ID3D10Device1 * This,
  677.             /* [annotation] */
  678.             __in_opt  ID3D10GeometryShader *pShader);
  679.        
  680.         void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
  681.             ID3D10Device1 * This,
  682.             /* [annotation] */
  683.             __in  D3D10_PRIMITIVE_TOPOLOGY Topology);
  684.        
  685.         void ( STDMETHODCALLTYPE *VSSetShaderResources )(
  686.             ID3D10Device1 * This,
  687.             /* [annotation] */
  688.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
  689.             /* [annotation] */
  690.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
  691.             /* [annotation] */
  692.             __in_ecount(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews);
  693.        
  694.         void ( STDMETHODCALLTYPE *VSSetSamplers )(
  695.             ID3D10Device1 * This,
  696.             /* [annotation] */
  697.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
  698.             /* [annotation] */
  699.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
  700.             /* [annotation] */
  701.             __in_ecount(NumSamplers)  ID3D10SamplerState *const *ppSamplers);
  702.        
  703.         void ( STDMETHODCALLTYPE *SetPredication )(
  704.             ID3D10Device1 * This,
  705.             /* [annotation] */
  706.             __in_opt  ID3D10Predicate *pPredicate,
  707.             /* [annotation] */
  708.             __in  BOOL PredicateValue);
  709.        
  710.         void ( STDMETHODCALLTYPE *GSSetShaderResources )(
  711.             ID3D10Device1 * This,
  712.             /* [annotation] */
  713.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
  714.             /* [annotation] */
  715.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
  716.             /* [annotation] */
  717.             __in_ecount(NumViews)  ID3D10ShaderResourceView *const *ppShaderResourceViews);
  718.        
  719.         void ( STDMETHODCALLTYPE *GSSetSamplers )(
  720.             ID3D10Device1 * This,
  721.             /* [annotation] */
  722.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
  723.             /* [annotation] */
  724.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
  725.             /* [annotation] */
  726.             __in_ecount(NumSamplers)  ID3D10SamplerState *const *ppSamplers);
  727.        
  728.         void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
  729.             ID3D10Device1 * This,
  730.             /* [annotation] */
  731.             __in_range( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
  732.             /* [annotation] */
  733.             __in_ecount_opt(NumViews)  ID3D10RenderTargetView *const *ppRenderTargetViews,
  734.             /* [annotation] */
  735.             __in_opt  ID3D10DepthStencilView *pDepthStencilView);
  736.        
  737.         void ( STDMETHODCALLTYPE *OMSetBlendState )(
  738.             ID3D10Device1 * This,
  739.             /* [annotation] */
  740.             __in_opt  ID3D10BlendState *pBlendState,
  741.             /* [annotation] */
  742.             __in  const FLOAT BlendFactor[ 4 ],
  743.             /* [annotation] */
  744.             __in  UINT SampleMask);
  745.        
  746.         void ( STDMETHODCALLTYPE *OMSetDepthStencilState )(
  747.             ID3D10Device1 * This,
  748.             /* [annotation] */
  749.             __in_opt  ID3D10DepthStencilState *pDepthStencilState,
  750.             /* [annotation] */
  751.             __in  UINT StencilRef);
  752.        
  753.         void ( STDMETHODCALLTYPE *SOSetTargets )(
  754.             ID3D10Device1 * This,
  755.             /* [annotation] */
  756.             __in_range( 0, D3D10_SO_BUFFER_SLOT_COUNT)  UINT NumBuffers,
  757.             /* [annotation] */
  758.             __in_ecount_opt(NumBuffers)  ID3D10Buffer *const *ppSOTargets,
  759.             /* [annotation] */
  760.             __in_ecount_opt(NumBuffers)  const UINT *pOffsets);
  761.        
  762.         void ( STDMETHODCALLTYPE *DrawAuto )(
  763.             ID3D10Device1 * This);
  764.        
  765.         void ( STDMETHODCALLTYPE *RSSetState )(
  766.             ID3D10Device1 * This,
  767.             /* [annotation] */
  768.             __in_opt  ID3D10RasterizerState *pRasterizerState);
  769.        
  770.         void ( STDMETHODCALLTYPE *RSSetViewports )(
  771.             ID3D10Device1 * This,
  772.             /* [annotation] */
  773.             __in_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumViewports,
  774.             /* [annotation] */
  775.             __in_ecount_opt(NumViewports)  const D3D10_VIEWPORT *pViewports);
  776.        
  777.         void ( STDMETHODCALLTYPE *RSSetScissorRects )(
  778.             ID3D10Device1 * This,
  779.             /* [annotation] */
  780.             __in_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumRects,
  781.             /* [annotation] */
  782.             __in_ecount_opt(NumRects)  const D3D10_RECT *pRects);
  783.        
  784.         void ( STDMETHODCALLTYPE *CopySubresourceRegion )(
  785.             ID3D10Device1 * This,
  786.             /* [annotation] */
  787.             __in  ID3D10Resource *pDstResource,
  788.             /* [annotation] */
  789.             __in  UINT DstSubresource,
  790.             /* [annotation] */
  791.             __in  UINT DstX,
  792.             /* [annotation] */
  793.             __in  UINT DstY,
  794.             /* [annotation] */
  795.             __in  UINT DstZ,
  796.             /* [annotation] */
  797.             __in  ID3D10Resource *pSrcResource,
  798.             /* [annotation] */
  799.             __in  UINT SrcSubresource,
  800.             /* [annotation] */
  801.             __in_opt  const D3D10_BOX *pSrcBox);
  802.        
  803.         void ( STDMETHODCALLTYPE *CopyResource )(
  804.             ID3D10Device1 * This,
  805.             /* [annotation] */
  806.             __in  ID3D10Resource *pDstResource,
  807.             /* [annotation] */
  808.             __in  ID3D10Resource *pSrcResource);
  809.        
  810.         void ( STDMETHODCALLTYPE *UpdateSubresource )(
  811.             ID3D10Device1 * This,
  812.             /* [annotation] */
  813.             __in  ID3D10Resource *pDstResource,
  814.             /* [annotation] */
  815.             __in  UINT DstSubresource,
  816.             /* [annotation] */
  817.             __in_opt  const D3D10_BOX *pDstBox,
  818.             /* [annotation] */
  819.             __in  const void *pSrcData,
  820.             /* [annotation] */
  821.             __in  UINT SrcRowPitch,
  822.             /* [annotation] */
  823.             __in  UINT SrcDepthPitch);
  824.        
  825.         void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
  826.             ID3D10Device1 * This,
  827.             /* [annotation] */
  828.             __in  ID3D10RenderTargetView *pRenderTargetView,
  829.             /* [annotation] */
  830.             __in  const FLOAT ColorRGBA[ 4 ]);
  831.        
  832.         void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
  833.             ID3D10Device1 * This,
  834.             /* [annotation] */
  835.             __in  ID3D10DepthStencilView *pDepthStencilView,
  836.             /* [annotation] */
  837.             __in  UINT ClearFlags,
  838.             /* [annotation] */
  839.             __in  FLOAT Depth,
  840.             /* [annotation] */
  841.             __in  UINT8 Stencil);
  842.        
  843.         void ( STDMETHODCALLTYPE *GenerateMips )(
  844.             ID3D10Device1 * This,
  845.             /* [annotation] */
  846.             __in  ID3D10ShaderResourceView *pShaderResourceView);
  847.        
  848.         void ( STDMETHODCALLTYPE *ResolveSubresource )(
  849.             ID3D10Device1 * This,
  850.             /* [annotation] */
  851.             __in  ID3D10Resource *pDstResource,
  852.             /* [annotation] */
  853.             __in  UINT DstSubresource,
  854.             /* [annotation] */
  855.             __in  ID3D10Resource *pSrcResource,
  856.             /* [annotation] */
  857.             __in  UINT SrcSubresource,
  858.             /* [annotation] */
  859.             __in  DXGI_FORMAT Format);
  860.        
  861.         void ( STDMETHODCALLTYPE *VSGetConstantBuffers )(
  862.             ID3D10Device1 * This,
  863.             /* [annotation] */
  864.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
  865.             /* [annotation] */
  866.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
  867.             /* [annotation] */
  868.             __out_ecount(NumBuffers)  ID3D10Buffer **ppConstantBuffers);
  869.        
  870.         void ( STDMETHODCALLTYPE *PSGetShaderResources )(
  871.             ID3D10Device1 * This,
  872.             /* [annotation] */
  873.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
  874.             /* [annotation] */
  875.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
  876.             /* [annotation] */
  877.             __out_ecount(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews);
  878.        
  879.         void ( STDMETHODCALLTYPE *PSGetShader )(
  880.             ID3D10Device1 * This,
  881.             /* [annotation] */
  882.             __out  ID3D10PixelShader **ppPixelShader);
  883.        
  884.         void ( STDMETHODCALLTYPE *PSGetSamplers )(
  885.             ID3D10Device1 * This,
  886.             /* [annotation] */
  887.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
  888.             /* [annotation] */
  889.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
  890.             /* [annotation] */
  891.             __out_ecount(NumSamplers)  ID3D10SamplerState **ppSamplers);
  892.        
  893.         void ( STDMETHODCALLTYPE *VSGetShader )(
  894.             ID3D10Device1 * This,
  895.             /* [annotation] */
  896.             __out  ID3D10VertexShader **ppVertexShader);
  897.        
  898.         void ( STDMETHODCALLTYPE *PSGetConstantBuffers )(
  899.             ID3D10Device1 * This,
  900.             /* [annotation] */
  901.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
  902.             /* [annotation] */
  903.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
  904.             /* [annotation] */
  905.             __out_ecount(NumBuffers)  ID3D10Buffer **ppConstantBuffers);
  906.        
  907.         void ( STDMETHODCALLTYPE *IAGetInputLayout )(
  908.             ID3D10Device1 * This,
  909.             /* [annotation] */
  910.             __out  ID3D10InputLayout **ppInputLayout);
  911.        
  912.         void ( STDMETHODCALLTYPE *IAGetVertexBuffers )(
  913.             ID3D10Device1 * This,
  914.             /* [annotation] */
  915.             __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
  916.             /* [annotation] */
  917.             __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
  918.             /* [annotation] */
  919.             __out_ecount_opt(NumBuffers)  ID3D10Buffer **ppVertexBuffers,
  920.             /* [annotation] */
  921.             __out_ecount_opt(NumBuffers)  UINT *pStrides,
  922.             /* [annotation] */
  923.             __out_ecount_opt(NumBuffers)  UINT *pOffsets);
  924.        
  925.         void ( STDMETHODCALLTYPE *IAGetIndexBuffer )(
  926.             ID3D10Device1 * This,
  927.             /* [annotation] */
  928.             __out_opt  ID3D10Buffer **pIndexBuffer,
  929.             /* [annotation] */
  930.             __out_opt  DXGI_FORMAT *Format,
  931.             /* [annotation] */
  932.             __out_opt  UINT *Offset);
  933.        
  934.         void ( STDMETHODCALLTYPE *GSGetConstantBuffers )(
  935.             ID3D10Device1 * This,
  936.             /* [annotation] */
  937.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
  938.             /* [annotation] */
  939.             __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
  940.             /* [annotation] */
  941.             __out_ecount(NumBuffers)  ID3D10Buffer **ppConstantBuffers);
  942.        
  943.         void ( STDMETHODCALLTYPE *GSGetShader )(
  944.             ID3D10Device1 * This,
  945.             /* [annotation] */
  946.             __out  ID3D10GeometryShader **ppGeometryShader);
  947.        
  948.         void ( STDMETHODCALLTYPE *IAGetPrimitiveTopology )(
  949.             ID3D10Device1 * This,
  950.             /* [annotation] */
  951.             __out  D3D10_PRIMITIVE_TOPOLOGY *pTopology);
  952.        
  953.         void ( STDMETHODCALLTYPE *VSGetShaderResources )(
  954.             ID3D10Device1 * This,
  955.             /* [annotation] */
  956.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
  957.             /* [annotation] */
  958.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
  959.             /* [annotation] */
  960.             __out_ecount(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews);
  961.        
  962.         void ( STDMETHODCALLTYPE *VSGetSamplers )(
  963.             ID3D10Device1 * This,
  964.             /* [annotation] */
  965.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
  966.             /* [annotation] */
  967.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
  968.             /* [annotation] */
  969.             __out_ecount(NumSamplers)  ID3D10SamplerState **ppSamplers);
  970.        
  971.         void ( STDMETHODCALLTYPE *GetPredication )(
  972.             ID3D10Device1 * This,
  973.             /* [annotation] */
  974.             __out_opt  ID3D10Predicate **ppPredicate,
  975.             /* [annotation] */
  976.             __out_opt  BOOL *pPredicateValue);
  977.        
  978.         void ( STDMETHODCALLTYPE *GSGetShaderResources )(
  979.             ID3D10Device1 * This,
  980.             /* [annotation] */
  981.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
  982.             /* [annotation] */
  983.             __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
  984.             /* [annotation] */
  985.             __out_ecount(NumViews)  ID3D10ShaderResourceView **ppShaderResourceViews);
  986.        
  987.         void ( STDMETHODCALLTYPE *GSGetSamplers )(
  988.             ID3D10Device1 * This,
  989.             /* [annotation] */
  990.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
  991.             /* [annotation] */
  992.             __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
  993.             /* [annotation] */
  994.             __out_ecount(NumSamplers)  ID3D10SamplerState **ppSamplers);
  995.        
  996.         void ( STDMETHODCALLTYPE *OMGetRenderTargets )(
  997.             ID3D10Device1 * This,
  998.             /* [annotation] */
  999.             __in_range( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
  1000.             /* [annotation] */
  1001.             __out_ecount_opt(NumViews)  ID3D10RenderTargetView **ppRenderTargetViews,
  1002.             /* [annotation] */
  1003.             __out_opt  ID3D10DepthStencilView **ppDepthStencilView);
  1004.        
  1005.         void ( STDMETHODCALLTYPE *OMGetBlendState )(
  1006.             ID3D10Device1 * This,
  1007.             /* [annotation] */
  1008.             __out_opt  ID3D10BlendState **ppBlendState,
  1009.             /* [annotation] */
  1010.             __out_opt  FLOAT BlendFactor[ 4 ],
  1011.             /* [annotation] */
  1012.             __out_opt  UINT *pSampleMask);
  1013.        
  1014.         void ( STDMETHODCALLTYPE *OMGetDepthStencilState )(
  1015.             ID3D10Device1 * This,
  1016.             /* [annotation] */
  1017.             __out_opt  ID3D10DepthStencilState **ppDepthStencilState,
  1018.             /* [annotation] */
  1019.             __out_opt  UINT *pStencilRef);
  1020.        
  1021.         void ( STDMETHODCALLTYPE *SOGetTargets )(
  1022.             ID3D10Device1 * This,
  1023.             /* [annotation] */
  1024.             __in_range( 0, D3D10_SO_BUFFER_SLOT_COUNT )  UINT NumBuffers,
  1025.             /* [annotation] */
  1026.             __out_ecount_opt(NumBuffers)  ID3D10Buffer **ppSOTargets,
  1027.             /* [annotation] */
  1028.             __out_ecount_opt(NumBuffers)  UINT *pOffsets);
  1029.        
  1030.         void ( STDMETHODCALLTYPE *RSGetState )(
  1031.             ID3D10Device1 * This,
  1032.             /* [annotation] */
  1033.             __out  ID3D10RasterizerState **ppRasterizerState);
  1034.        
  1035.         void ( STDMETHODCALLTYPE *RSGetViewports )(
  1036.             ID3D10Device1 * This,
  1037.             /* [annotation] */
  1038.             __inout /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *NumViewports,
  1039.             /* [annotation] */
  1040.             __out_ecount_opt(*NumViewports)  D3D10_VIEWPORT *pViewports);
  1041.        
  1042.         void ( STDMETHODCALLTYPE *RSGetScissorRects )(
  1043.             ID3D10Device1 * This,
  1044.             /* [annotation] */
  1045.             __inout /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *NumRects,
  1046.             /* [annotation] */
  1047.             __out_ecount_opt(*NumRects)  D3D10_RECT *pRects);
  1048.        
  1049.         HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
  1050.             ID3D10Device1 * This);
  1051.        
  1052.         HRESULT ( STDMETHODCALLTYPE *SetExceptionMode )(
  1053.             ID3D10Device1 * This,
  1054.             UINT RaiseFlags);
  1055.        
  1056.         UINT ( STDMETHODCALLTYPE *GetExceptionMode )(
  1057.             ID3D10Device1 * This);
  1058.        
  1059.         HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1060.             ID3D10Device1 * This,
  1061.             /* [annotation] */
  1062.             __in  REFGUID guid,
  1063.             /* [annotation] */
  1064.             __inout  UINT *pDataSize,
  1065.             /* [annotation] */
  1066.             __out_bcount_opt(*pDataSize)  void *pData);
  1067.        
  1068.         HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1069.             ID3D10Device1 * This,
  1070.             /* [annotation] */
  1071.             __in  REFGUID guid,
  1072.             /* [annotation] */
  1073.             __in  UINT DataSize,
  1074.             /* [annotation] */
  1075.             __in_bcount_opt(DataSize)  const void *pData);
  1076.        
  1077.         HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1078.             ID3D10Device1 * This,
  1079.             /* [annotation] */
  1080.             __in  REFGUID guid,
  1081.             /* [annotation] */
  1082.             __in_opt  const IUnknown *pData);
  1083.        
  1084.         void ( STDMETHODCALLTYPE *ClearState )(
  1085.             ID3D10Device1 * This);
  1086.        
  1087.         void ( STDMETHODCALLTYPE *Flush )(
  1088.             ID3D10Device1 * This);
  1089.        
  1090.         HRESULT ( STDMETHODCALLTYPE *CreateBuffer )(
  1091.             ID3D10Device1 * This,
  1092.             /* [annotation] */
  1093.             __in  const D3D10_BUFFER_DESC *pDesc,
  1094.             /* [annotation] */
  1095.             __in_opt  const D3D10_SUBRESOURCE_DATA *pInitialData,
  1096.             /* [annotation] */
  1097.             __out_opt  ID3D10Buffer **ppBuffer);
  1098.        
  1099.         HRESULT ( STDMETHODCALLTYPE *CreateTexture1D )(
  1100.             ID3D10Device1 * This,
  1101.             /* [annotation] */
  1102.             __in  const D3D10_TEXTURE1D_DESC *pDesc,
  1103.             /* [annotation] */
  1104.             __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize)  const D3D10_SUBRESOURCE_DATA *pInitialData,
  1105.             /* [annotation] */
  1106.             __out  ID3D10Texture1D **ppTexture1D);
  1107.        
  1108.         HRESULT ( STDMETHODCALLTYPE *CreateTexture2D )(
  1109.             ID3D10Device1 * This,
  1110.             /* [annotation] */
  1111.             __in  const D3D10_TEXTURE2D_DESC *pDesc,
  1112.             /* [annotation] */
  1113.             __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize)  const D3D10_SUBRESOURCE_DATA *pInitialData,
  1114.             /* [annotation] */
  1115.             __out  ID3D10Texture2D **ppTexture2D);
  1116.        
  1117.         HRESULT ( STDMETHODCALLTYPE *CreateTexture3D )(
  1118.             ID3D10Device1 * This,
  1119.             /* [annotation] */
  1120.             __in  const D3D10_TEXTURE3D_DESC *pDesc,
  1121.             /* [annotation] */
  1122.             __in_xcount_opt(pDesc->MipLevels)  const D3D10_SUBRESOURCE_DATA *pInitialData,
  1123.             /* [annotation] */
  1124.             __out  ID3D10Texture3D **ppTexture3D);
  1125.        
  1126.         HRESULT ( STDMETHODCALLTYPE *CreateShaderResourceView )(
  1127.             ID3D10Device1 * This,
  1128.             /* [annotation] */
  1129.             __in  ID3D10Resource *pResource,
  1130.             /* [annotation] */
  1131.             __in_opt  const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
  1132.             /* [annotation] */
  1133.             __out_opt  ID3D10ShaderResourceView **ppSRView);
  1134.        
  1135.         HRESULT ( STDMETHODCALLTYPE *CreateRenderTargetView )(
  1136.             ID3D10Device1 * This,
  1137.             /* [annotation] */
  1138.             __in  ID3D10Resource *pResource,
  1139.             /* [annotation] */
  1140.             __in_opt  const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
  1141.             /* [annotation] */
  1142.             __out_opt  ID3D10RenderTargetView **ppRTView);
  1143.        
  1144.         HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilView )(
  1145.             ID3D10Device1 * This,
  1146.             /* [annotation] */
  1147.             __in  ID3D10Resource *pResource,
  1148.             /* [annotation] */
  1149.             __in_opt  const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
  1150.             /* [annotation] */
  1151.             __out_opt  ID3D10DepthStencilView **ppDepthStencilView);
  1152.        
  1153.         HRESULT ( STDMETHODCALLTYPE *CreateInputLayout )(
  1154.             ID3D10Device1 * This,
  1155.             /* [annotation] */
  1156.             __in_ecount(NumElements)  const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
  1157.             /* [annotation] */
  1158.             __in_range( 0, D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT )  UINT NumElements,
  1159.             /* [annotation] */
  1160.             __in  const void *pShaderBytecodeWithInputSignature,
  1161.             /* [annotation] */
  1162.             __in  SIZE_T BytecodeLength,
  1163.             /* [annotation] */
  1164.             __out_opt  ID3D10InputLayout **ppInputLayout);
  1165.        
  1166.         HRESULT ( STDMETHODCALLTYPE *CreateVertexShader )(
  1167.             ID3D10Device1 * This,
  1168.             /* [annotation] */
  1169.             __in  const void *pShaderBytecode,
  1170.             /* [annotation] */
  1171.             __in  SIZE_T BytecodeLength,
  1172.             /* [annotation] */
  1173.             __out_opt  ID3D10VertexShader **ppVertexShader);
  1174.        
  1175.         HRESULT ( STDMETHODCALLTYPE *CreateGeometryShader )(
  1176.             ID3D10Device1 * This,
  1177.             /* [annotation] */
  1178.             __in  const void *pShaderBytecode,
  1179.             /* [annotation] */
  1180.             __in  SIZE_T BytecodeLength,
  1181.             /* [annotation] */
  1182.             __out_opt  ID3D10GeometryShader **ppGeometryShader);
  1183.        
  1184.         HRESULT ( STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput )(
  1185.             ID3D10Device1 * This,
  1186.             /* [annotation] */
  1187.             __in  const void *pShaderBytecode,
  1188.             /* [annotation] */
  1189.             __in  SIZE_T BytecodeLength,
  1190.             /* [annotation] */
  1191.             __in_ecount_opt(NumEntries)  const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
  1192.             /* [annotation] */
  1193.             __in_range( 0, D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT )  UINT NumEntries,
  1194.             /* [annotation] */
  1195.             __in  UINT OutputStreamStride,
  1196.             /* [annotation] */
  1197.             __out_opt  ID3D10GeometryShader **ppGeometryShader);
  1198.        
  1199.         HRESULT ( STDMETHODCALLTYPE *CreatePixelShader )(
  1200.             ID3D10Device1 * This,
  1201.             /* [annotation] */
  1202.             __in  const void *pShaderBytecode,
  1203.             /* [annotation] */
  1204.             __in  SIZE_T BytecodeLength,
  1205.             /* [annotation] */
  1206.             __out_opt  ID3D10PixelShader **ppPixelShader);
  1207.        
  1208.         HRESULT ( STDMETHODCALLTYPE *CreateBlendState )(
  1209.             ID3D10Device1 * This,
  1210.             /* [annotation] */
  1211.             __in  const D3D10_BLEND_DESC *pBlendStateDesc,
  1212.             /* [annotation] */
  1213.             __out_opt  ID3D10BlendState **ppBlendState);
  1214.        
  1215.         HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilState )(
  1216.             ID3D10Device1 * This,
  1217.             /* [annotation] */
  1218.             __in  const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  1219.             /* [annotation] */
  1220.             __out_opt  ID3D10DepthStencilState **ppDepthStencilState);
  1221.        
  1222.         HRESULT ( STDMETHODCALLTYPE *CreateRasterizerState )(
  1223.             ID3D10Device1 * This,
  1224.             /* [annotation] */
  1225.             __in  const D3D10_RASTERIZER_DESC *pRasterizerDesc,
  1226.             /* [annotation] */
  1227.             __out_opt  ID3D10RasterizerState **ppRasterizerState);
  1228.        
  1229.         HRESULT ( STDMETHODCALLTYPE *CreateSamplerState )(
  1230.             ID3D10Device1 * This,
  1231.             /* [annotation] */
  1232.             __in  const D3D10_SAMPLER_DESC *pSamplerDesc,
  1233.             /* [annotation] */
  1234.             __out_opt  ID3D10SamplerState **ppSamplerState);
  1235.        
  1236.         HRESULT ( STDMETHODCALLTYPE *CreateQuery )(
  1237.             ID3D10Device1 * This,
  1238.             /* [annotation] */
  1239.             __in  const D3D10_QUERY_DESC *pQueryDesc,
  1240.             /* [annotation] */
  1241.             __out_opt  ID3D10Query **ppQuery);
  1242.        
  1243.         HRESULT ( STDMETHODCALLTYPE *CreatePredicate )(
  1244.             ID3D10Device1 * This,
  1245.             /* [annotation] */
  1246.             __in  const D3D10_QUERY_DESC *pPredicateDesc,
  1247.             /* [annotation] */
  1248.             __out_opt  ID3D10Predicate **ppPredicate);
  1249.        
  1250.         HRESULT ( STDMETHODCALLTYPE *CreateCounter )(
  1251.             ID3D10Device1 * This,
  1252.             /* [annotation] */
  1253.             __in  const D3D10_COUNTER_DESC *pCounterDesc,
  1254.             /* [annotation] */
  1255.             __out_opt  ID3D10Counter **ppCounter);
  1256.        
  1257.         HRESULT ( STDMETHODCALLTYPE *CheckFormatSupport )(
  1258.             ID3D10Device1 * This,
  1259.             /* [annotation] */
  1260.             __in  DXGI_FORMAT Format,
  1261.             /* [annotation] */
  1262.             __out  UINT *pFormatSupport);
  1263.        
  1264.         HRESULT ( STDMETHODCALLTYPE *CheckMultisampleQualityLevels )(
  1265.             ID3D10Device1 * This,
  1266.             /* [annotation] */
  1267.             __in  DXGI_FORMAT Format,
  1268.             /* [annotation] */
  1269.             __in  UINT SampleCount,
  1270.             /* [annotation] */
  1271.             __out  UINT *pNumQualityLevels);
  1272.        
  1273.         void ( STDMETHODCALLTYPE *CheckCounterInfo )(
  1274.             ID3D10Device1 * This,
  1275.             /* [annotation] */
  1276.             __out  D3D10_COUNTER_INFO *pCounterInfo);
  1277.        
  1278.         HRESULT ( STDMETHODCALLTYPE *CheckCounter )(
  1279.             ID3D10Device1 * This,
  1280.             /* [annotation] */
  1281.             __in  const D3D10_COUNTER_DESC *pDesc,
  1282.             /* [annotation] */
  1283.             __out  D3D10_COUNTER_TYPE *pType,
  1284.             /* [annotation] */
  1285.             __out  UINT *pActiveCounters,
  1286.             /* [annotation] */
  1287.             __out_ecount_opt(*pNameLength)  LPSTR szName,
  1288.             /* [annotation] */
  1289.             __inout_opt  UINT *pNameLength,
  1290.             /* [annotation] */
  1291.             __out_ecount_opt(*pUnitsLength)  LPSTR szUnits,
  1292.             /* [annotation] */
  1293.             __inout_opt  UINT *pUnitsLength,
  1294.             /* [annotation] */
  1295.             __out_ecount_opt(*pDescriptionLength)  LPSTR szDescription,
  1296.             /* [annotation] */
  1297.             __inout_opt  UINT *pDescriptionLength);
  1298.        
  1299.         UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
  1300.             ID3D10Device1 * This);
  1301.        
  1302.         HRESULT ( STDMETHODCALLTYPE *OpenSharedResource )(
  1303.             ID3D10Device1 * This,
  1304.             /* [annotation] */
  1305.             __in  HANDLE hResource,
  1306.             /* [annotation] */
  1307.             __in  REFIID ReturnedInterface,
  1308.             /* [annotation] */
  1309.             __out_opt  void **ppResource);
  1310.        
  1311.         void ( STDMETHODCALLTYPE *SetTextFilterSize )(
  1312.             ID3D10Device1 * This,
  1313.             /* [annotation] */
  1314.             __in  UINT Width,
  1315.             /* [annotation] */
  1316.             __in  UINT Height);
  1317.        
  1318.         void ( STDMETHODCALLTYPE *GetTextFilterSize )(
  1319.             ID3D10Device1 * This,
  1320.             /* [annotation] */
  1321.             __out_opt  UINT *pWidth,
  1322.             /* [annotation] */
  1323.             __out_opt  UINT *pHeight);
  1324.        
  1325.         HRESULT ( STDMETHODCALLTYPE *CreateShaderResourceView1 )(
  1326.             ID3D10Device1 * This,
  1327.             /* [annotation] */
  1328.             __in  ID3D10Resource *pResource,
  1329.             /* [annotation] */
  1330.             __in_opt  const D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc,
  1331.             /* [annotation] */
  1332.             __out_opt  ID3D10ShaderResourceView1 **ppSRView);
  1333.        
  1334.         HRESULT ( STDMETHODCALLTYPE *CreateBlendState1 )(
  1335.             ID3D10Device1 * This,
  1336.             /* [annotation] */
  1337.             __in  const D3D10_BLEND_DESC1 *pBlendStateDesc,
  1338.             /* [annotation] */
  1339.             __out_opt  ID3D10BlendState1 **ppBlendState);
  1340.        
  1341.         D3D10_FEATURE_LEVEL1 ( STDMETHODCALLTYPE *GetFeatureLevel )(
  1342.             ID3D10Device1 * This);
  1343.        
  1344.         END_INTERFACE
  1345.     } ID3D10Device1Vtbl;
  1346.  
  1347.     interface ID3D10Device1
  1348.     {
  1349.         CONST_VTBL struct ID3D10Device1Vtbl *lpVtbl;
  1350.     };
  1351.  
  1352.    
  1353.  
  1354. #ifdef COBJMACROS
  1355.  
  1356.  
  1357. #define ID3D10Device1_QueryInterface(This,riid,ppvObject)       \
  1358.     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1359.  
  1360. #define ID3D10Device1_AddRef(This)      \
  1361.     ( (This)->lpVtbl -> AddRef(This) )
  1362.  
  1363. #define ID3D10Device1_Release(This)     \
  1364.     ( (This)->lpVtbl -> Release(This) )
  1365.  
  1366.  
  1367. #define ID3D10Device1_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  1368.     ( (This)->lpVtbl -> VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  1369.  
  1370. #define ID3D10Device1_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)       \
  1371.     ( (This)->lpVtbl -> PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  1372.  
  1373. #define ID3D10Device1_PSSetShader(This,pPixelShader)    \
  1374.     ( (This)->lpVtbl -> PSSetShader(This,pPixelShader) )
  1375.  
  1376. #define ID3D10Device1_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)      \
  1377.     ( (This)->lpVtbl -> PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  1378.  
  1379. #define ID3D10Device1_VSSetShader(This,pVertexShader)   \
  1380.     ( (This)->lpVtbl -> VSSetShader(This,pVertexShader) )
  1381.  
  1382. #define ID3D10Device1_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)        \
  1383.     ( (This)->lpVtbl -> DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) )
  1384.  
  1385. #define ID3D10Device1_Draw(This,VertexCount,StartVertexLocation)        \
  1386.     ( (This)->lpVtbl -> Draw(This,VertexCount,StartVertexLocation) )
  1387.  
  1388. #define ID3D10Device1_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  1389.     ( (This)->lpVtbl -> PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  1390.  
  1391. #define ID3D10Device1_IASetInputLayout(This,pInputLayout)       \
  1392.     ( (This)->lpVtbl -> IASetInputLayout(This,pInputLayout) )
  1393.  
  1394. #define ID3D10Device1_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)   \
  1395.     ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
  1396.  
  1397. #define ID3D10Device1_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) \
  1398.     ( (This)->lpVtbl -> IASetIndexBuffer(This,pIndexBuffer,Format,Offset) )
  1399.  
  1400. #define ID3D10Device1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)        \
  1401.     ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
  1402.  
  1403. #define ID3D10Device1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)        \
  1404.     ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
  1405.  
  1406. #define ID3D10Device1_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  1407.     ( (This)->lpVtbl -> GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  1408.  
  1409. #define ID3D10Device1_GSSetShader(This,pShader) \
  1410.     ( (This)->lpVtbl -> GSSetShader(This,pShader) )
  1411.  
  1412. #define ID3D10Device1_IASetPrimitiveTopology(This,Topology)     \
  1413.     ( (This)->lpVtbl -> IASetPrimitiveTopology(This,Topology) )
  1414.  
  1415. #define ID3D10Device1_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)       \
  1416.     ( (This)->lpVtbl -> VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  1417.  
  1418. #define ID3D10Device1_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)      \
  1419.     ( (This)->lpVtbl -> VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  1420.  
  1421. #define ID3D10Device1_SetPredication(This,pPredicate,PredicateValue)    \
  1422.     ( (This)->lpVtbl -> SetPredication(This,pPredicate,PredicateValue) )
  1423.  
  1424. #define ID3D10Device1_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)       \
  1425.     ( (This)->lpVtbl -> GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  1426.  
  1427. #define ID3D10Device1_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)      \
  1428.     ( (This)->lpVtbl -> GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  1429.  
  1430. #define ID3D10Device1_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)   \
  1431.     ( (This)->lpVtbl -> OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) )
  1432.  
  1433. #define ID3D10Device1_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)  \
  1434.     ( (This)->lpVtbl -> OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) )
  1435.  
  1436. #define ID3D10Device1_OMSetDepthStencilState(This,pDepthStencilState,StencilRef)        \
  1437.     ( (This)->lpVtbl -> OMSetDepthStencilState(This,pDepthStencilState,StencilRef) )
  1438.  
  1439. #define ID3D10Device1_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)        \
  1440.     ( (This)->lpVtbl -> SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
  1441.  
  1442. #define ID3D10Device1_DrawAuto(This)    \
  1443.     ( (This)->lpVtbl -> DrawAuto(This) )
  1444.  
  1445. #define ID3D10Device1_RSSetState(This,pRasterizerState) \
  1446.     ( (This)->lpVtbl -> RSSetState(This,pRasterizerState) )
  1447.  
  1448. #define ID3D10Device1_RSSetViewports(This,NumViewports,pViewports)      \
  1449.     ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
  1450.  
  1451. #define ID3D10Device1_RSSetScissorRects(This,NumRects,pRects)   \
  1452.     ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
  1453.  
  1454. #define ID3D10Device1_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)        \
  1455.     ( (This)->lpVtbl -> CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) )
  1456.  
  1457. #define ID3D10Device1_CopyResource(This,pDstResource,pSrcResource)      \
  1458.     ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
  1459.  
  1460. #define ID3D10Device1_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)    \
  1461.     ( (This)->lpVtbl -> UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
  1462.  
  1463. #define ID3D10Device1_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)   \
  1464.     ( (This)->lpVtbl -> ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) )
  1465.  
  1466. #define ID3D10Device1_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)    \
  1467.     ( (This)->lpVtbl -> ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) )
  1468.  
  1469. #define ID3D10Device1_GenerateMips(This,pShaderResourceView)    \
  1470.     ( (This)->lpVtbl -> GenerateMips(This,pShaderResourceView) )
  1471.  
  1472. #define ID3D10Device1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)   \
  1473.     ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
  1474.  
  1475. #define ID3D10Device1_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  1476.     ( (This)->lpVtbl -> VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  1477.  
  1478. #define ID3D10Device1_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)       \
  1479.     ( (This)->lpVtbl -> PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  1480.  
  1481. #define ID3D10Device1_PSGetShader(This,ppPixelShader)   \
  1482.     ( (This)->lpVtbl -> PSGetShader(This,ppPixelShader) )
  1483.  
  1484. #define ID3D10Device1_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)      \
  1485.     ( (This)->lpVtbl -> PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  1486.  
  1487. #define ID3D10Device1_VSGetShader(This,ppVertexShader)  \
  1488.     ( (This)->lpVtbl -> VSGetShader(This,ppVertexShader) )
  1489.  
  1490. #define ID3D10Device1_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  1491.     ( (This)->lpVtbl -> PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  1492.  
  1493. #define ID3D10Device1_IAGetInputLayout(This,ppInputLayout)      \
  1494.     ( (This)->lpVtbl -> IAGetInputLayout(This,ppInputLayout) )
  1495.  
  1496. #define ID3D10Device1_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)   \
  1497.     ( (This)->lpVtbl -> IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
  1498.  
  1499. #define ID3D10Device1_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) \
  1500.     ( (This)->lpVtbl -> IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) )
  1501.  
  1502. #define ID3D10Device1_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  1503.     ( (This)->lpVtbl -> GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  1504.  
  1505. #define ID3D10Device1_GSGetShader(This,ppGeometryShader)        \
  1506.     ( (This)->lpVtbl -> GSGetShader(This,ppGeometryShader) )
  1507.  
  1508. #define ID3D10Device1_IAGetPrimitiveTopology(This,pTopology)    \
  1509.     ( (This)->lpVtbl -> IAGetPrimitiveTopology(This,pTopology) )
  1510.  
  1511. #define ID3D10Device1_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)       \
  1512.     ( (This)->lpVtbl -> VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  1513.  
  1514. #define ID3D10Device1_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)      \
  1515.     ( (This)->lpVtbl -> VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  1516.  
  1517. #define ID3D10Device1_GetPredication(This,ppPredicate,pPredicateValue)  \
  1518.     ( (This)->lpVtbl -> GetPredication(This,ppPredicate,pPredicateValue) )
  1519.  
  1520. #define ID3D10Device1_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)       \
  1521.     ( (This)->lpVtbl -> GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  1522.  
  1523. #define ID3D10Device1_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)      \
  1524.     ( (This)->lpVtbl -> GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  1525.  
  1526. #define ID3D10Device1_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)  \
  1527.     ( (This)->lpVtbl -> OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) )
  1528.  
  1529. #define ID3D10Device1_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)        \
  1530.     ( (This)->lpVtbl -> OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) )
  1531.  
  1532. #define ID3D10Device1_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)      \
  1533.     ( (This)->lpVtbl -> OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) )
  1534.  
  1535. #define ID3D10Device1_SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets)        \
  1536.     ( (This)->lpVtbl -> SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
  1537.  
  1538. #define ID3D10Device1_RSGetState(This,ppRasterizerState)        \
  1539.     ( (This)->lpVtbl -> RSGetState(This,ppRasterizerState) )
  1540.  
  1541. #define ID3D10Device1_RSGetViewports(This,NumViewports,pViewports)      \
  1542.     ( (This)->lpVtbl -> RSGetViewports(This,NumViewports,pViewports) )
  1543.  
  1544. #define ID3D10Device1_RSGetScissorRects(This,NumRects,pRects)   \
  1545.     ( (This)->lpVtbl -> RSGetScissorRects(This,NumRects,pRects) )
  1546.  
  1547. #define ID3D10Device1_GetDeviceRemovedReason(This)      \
  1548.     ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
  1549.  
  1550. #define ID3D10Device1_SetExceptionMode(This,RaiseFlags) \
  1551.     ( (This)->lpVtbl -> SetExceptionMode(This,RaiseFlags) )
  1552.  
  1553. #define ID3D10Device1_GetExceptionMode(This)    \
  1554.     ( (This)->lpVtbl -> GetExceptionMode(This) )
  1555.  
  1556. #define ID3D10Device1_GetPrivateData(This,guid,pDataSize,pData) \
  1557.     ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1558.  
  1559. #define ID3D10Device1_SetPrivateData(This,guid,DataSize,pData)  \
  1560.     ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1561.  
  1562. #define ID3D10Device1_SetPrivateDataInterface(This,guid,pData)  \
  1563.     ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1564.  
  1565. #define ID3D10Device1_ClearState(This)  \
  1566.     ( (This)->lpVtbl -> ClearState(This) )
  1567.  
  1568. #define ID3D10Device1_Flush(This)       \
  1569.     ( (This)->lpVtbl -> Flush(This) )
  1570.  
  1571. #define ID3D10Device1_CreateBuffer(This,pDesc,pInitialData,ppBuffer)    \
  1572.     ( (This)->lpVtbl -> CreateBuffer(This,pDesc,pInitialData,ppBuffer) )
  1573.  
  1574. #define ID3D10Device1_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)      \
  1575.     ( (This)->lpVtbl -> CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) )
  1576.  
  1577. #define ID3D10Device1_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)      \
  1578.     ( (This)->lpVtbl -> CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) )
  1579.  
  1580. #define ID3D10Device1_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)      \
  1581.     ( (This)->lpVtbl -> CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) )
  1582.  
  1583. #define ID3D10Device1_CreateShaderResourceView(This,pResource,pDesc,ppSRView)   \
  1584.     ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,ppSRView) )
  1585.  
  1586. #define ID3D10Device1_CreateRenderTargetView(This,pResource,pDesc,ppRTView)     \
  1587.     ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,ppRTView) )
  1588.  
  1589. #define ID3D10Device1_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)   \
  1590.     ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) )
  1591.  
  1592. #define ID3D10Device1_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)     \
  1593.     ( (This)->lpVtbl -> CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) )
  1594.  
  1595. #define ID3D10Device1_CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader)    \
  1596.     ( (This)->lpVtbl -> CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) )
  1597.  
  1598. #define ID3D10Device1_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader)        \
  1599.     ( (This)->lpVtbl -> CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) )
  1600.  
  1601. #define ID3D10Device1_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader)   \
  1602.     ( (This)->lpVtbl -> CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) )
  1603.  
  1604. #define ID3D10Device1_CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader)      \
  1605.     ( (This)->lpVtbl -> CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) )
  1606.  
  1607. #define ID3D10Device1_CreateBlendState(This,pBlendStateDesc,ppBlendState)       \
  1608.     ( (This)->lpVtbl -> CreateBlendState(This,pBlendStateDesc,ppBlendState) )
  1609.  
  1610. #define ID3D10Device1_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)       \
  1611.     ( (This)->lpVtbl -> CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) )
  1612.  
  1613. #define ID3D10Device1_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)     \
  1614.     ( (This)->lpVtbl -> CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) )
  1615.  
  1616. #define ID3D10Device1_CreateSamplerState(This,pSamplerDesc,ppSamplerState)      \
  1617.     ( (This)->lpVtbl -> CreateSamplerState(This,pSamplerDesc,ppSamplerState) )
  1618.  
  1619. #define ID3D10Device1_CreateQuery(This,pQueryDesc,ppQuery)      \
  1620.     ( (This)->lpVtbl -> CreateQuery(This,pQueryDesc,ppQuery) )
  1621.  
  1622. #define ID3D10Device1_CreatePredicate(This,pPredicateDesc,ppPredicate)  \
  1623.     ( (This)->lpVtbl -> CreatePredicate(This,pPredicateDesc,ppPredicate) )
  1624.  
  1625. #define ID3D10Device1_CreateCounter(This,pCounterDesc,ppCounter)        \
  1626.     ( (This)->lpVtbl -> CreateCounter(This,pCounterDesc,ppCounter) )
  1627.  
  1628. #define ID3D10Device1_CheckFormatSupport(This,Format,pFormatSupport)    \
  1629.     ( (This)->lpVtbl -> CheckFormatSupport(This,Format,pFormatSupport) )
  1630.  
  1631. #define ID3D10Device1_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)  \
  1632.     ( (This)->lpVtbl -> CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) )
  1633.  
  1634. #define ID3D10Device1_CheckCounterInfo(This,pCounterInfo)       \
  1635.     ( (This)->lpVtbl -> CheckCounterInfo(This,pCounterInfo) )
  1636.  
  1637. #define ID3D10Device1_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)   \
  1638.     ( (This)->lpVtbl -> CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) )
  1639.  
  1640. #define ID3D10Device1_GetCreationFlags(This)    \
  1641.     ( (This)->lpVtbl -> GetCreationFlags(This) )
  1642.  
  1643. #define ID3D10Device1_OpenSharedResource(This,hResource,ReturnedInterface,ppResource)   \
  1644.     ( (This)->lpVtbl -> OpenSharedResource(This,hResource,ReturnedInterface,ppResource) )
  1645.  
  1646. #define ID3D10Device1_SetTextFilterSize(This,Width,Height)      \
  1647.     ( (This)->lpVtbl -> SetTextFilterSize(This,Width,Height) )
  1648.  
  1649. #define ID3D10Device1_GetTextFilterSize(This,pWidth,pHeight)    \
  1650.     ( (This)->lpVtbl -> GetTextFilterSize(This,pWidth,pHeight) )
  1651.  
  1652.  
  1653. #define ID3D10Device1_CreateShaderResourceView1(This,pResource,pDesc,ppSRView)  \
  1654.     ( (This)->lpVtbl -> CreateShaderResourceView1(This,pResource,pDesc,ppSRView) )
  1655.  
  1656. #define ID3D10Device1_CreateBlendState1(This,pBlendStateDesc,ppBlendState)      \
  1657.     ( (This)->lpVtbl -> CreateBlendState1(This,pBlendStateDesc,ppBlendState) )
  1658.  
  1659. #define ID3D10Device1_GetFeatureLevel(This)     \
  1660.     ( (This)->lpVtbl -> GetFeatureLevel(This) )
  1661.  
  1662. #endif /* COBJMACROS */
  1663.  
  1664.  
  1665. #endif  /* C style interface */
  1666.  
  1667.  
  1668.  
  1669.  
  1670. #endif  /* __ID3D10Device1_INTERFACE_DEFINED__ */
  1671.  
  1672.  
  1673. /* interface __MIDL_itf_d3d10_1_0000_0003 */
  1674. /* [local] */
  1675.  
  1676. #define D3D10_1_SDK_VERSION     ( ( 0 + 0x20 )  )
  1677.  
  1678. #include "d3d10_1shader.h"
  1679.  
  1680. ///////////////////////////////////////////////////////////////////////////
  1681. // D3D10CreateDevice1
  1682. // ------------------
  1683. //
  1684. // pAdapter
  1685. //      If NULL, D3D10CreateDevice1 will choose the primary adapter and
  1686. //      create a new instance from a temporarily created IDXGIFactory.
  1687. //      If non-NULL, D3D10CreateDevice1 will register the appropriate
  1688. //      device, if necessary (via IDXGIAdapter::RegisterDrver), before
  1689. //      creating the device.
  1690. // DriverType
  1691. //      Specifies the driver type to be created: hardware, reference or
  1692. //      null.
  1693. // Software
  1694. //      HMODULE of a DLL implementing a software rasterizer. Must be NULL for
  1695. //      non-Software driver types.
  1696. // Flags
  1697. //      Any of those documented for D3D10CreateDeviceAndSwapChain1.
  1698. // HardwareLevel
  1699. //      Any of those documented for D3D10CreateDeviceAndSwapChain1.
  1700. // SDKVersion
  1701. //      SDK version. Use the D3D10_1_SDK_VERSION macro.
  1702. // ppDevice
  1703. //      Pointer to returned interface.
  1704. //
  1705. // Return Values
  1706. //  Any of those documented for
  1707. //          CreateDXGIFactory
  1708. //          IDXGIFactory::EnumAdapters
  1709. //          IDXGIAdapter::RegisterDriver
  1710. //          D3D10CreateDevice1
  1711. //
  1712. ///////////////////////////////////////////////////////////////////////////
  1713. typedef HRESULT (WINAPI* PFN_D3D10_CREATE_DEVICE1)(IDXGIAdapter *,
  1714.     D3D10_DRIVER_TYPE, HMODULE, UINT, D3D10_FEATURE_LEVEL1, UINT, ID3D10Device1**);
  1715.  
  1716. HRESULT WINAPI D3D10CreateDevice1(
  1717.     IDXGIAdapter *pAdapter,
  1718.     D3D10_DRIVER_TYPE DriverType,
  1719.     HMODULE Software,
  1720.     UINT Flags,
  1721.     D3D10_FEATURE_LEVEL1 HardwareLevel,
  1722.     UINT SDKVersion,
  1723.     ID3D10Device1 **ppDevice);
  1724.  
  1725. ///////////////////////////////////////////////////////////////////////////
  1726. // D3D10CreateDeviceAndSwapChain1
  1727. // ------------------------------
  1728. //
  1729. // ppAdapter
  1730. //      If NULL, D3D10CreateDevice1 will choose the primary adapter and
  1731. //      create a new instance from a temporarily created IDXGIFactory.
  1732. //      If non-NULL, D3D10CreateDevice1 will register the appropriate
  1733. //      device, if necessary (via IDXGIAdapter::RegisterDrver), before
  1734. //      creating the device.
  1735. // DriverType
  1736. //      Specifies the driver type to be created: hardware, reference or
  1737. //      null.
  1738. // Software
  1739. //      HMODULE of a DLL implementing a software rasterizer. Must be NULL for
  1740. //      non-Software driver types.
  1741. // Flags
  1742. //      Any of those documented for D3D10CreateDevice1.
  1743. // HardwareLevel
  1744. //      Any of:
  1745. //          D3D10_CREATE_LEVEL_10_0
  1746. //          D3D10_CREATE_LEVEL_10_1
  1747. // SDKVersion
  1748. //      SDK version. Use the D3D10_1_SDK_VERSION macro.
  1749. // pSwapChainDesc
  1750. //      Swap chain description, may be NULL.
  1751. // ppSwapChain
  1752. //      Pointer to returned interface. May be NULL.
  1753. // ppDevice
  1754. //      Pointer to returned interface.
  1755. //
  1756. // Return Values
  1757. //  Any of those documented for
  1758. //          CreateDXGIFactory
  1759. //          IDXGIFactory::EnumAdapters
  1760. //          IDXGIAdapter::RegisterDriver
  1761. //          D3D10CreateDevice1
  1762. //          IDXGIFactory::CreateSwapChain
  1763. //
  1764. ///////////////////////////////////////////////////////////////////////////
  1765. typedef HRESULT (WINAPI* PFN_D3D10_CREATE_DEVICE_AND_SWAP_CHAIN1)(IDXGIAdapter *,
  1766.     D3D10_DRIVER_TYPE, HMODULE, UINT, D3D10_FEATURE_LEVEL1, UINT, DXGI_SWAP_CHAIN_DESC *, IDXGISwapChain **, ID3D10Device1 **);
  1767.  
  1768. HRESULT WINAPI D3D10CreateDeviceAndSwapChain1(
  1769.     IDXGIAdapter *pAdapter,
  1770.     D3D10_DRIVER_TYPE DriverType,
  1771.     HMODULE Software,
  1772.     UINT Flags,
  1773.     D3D10_FEATURE_LEVEL1 HardwareLevel,
  1774.     UINT SDKVersion,
  1775.     DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,
  1776.     IDXGISwapChain **ppSwapChain,
  1777.     ID3D10Device1 **ppDevice);
  1778. DEFINE_GUID(IID_ID3D10BlendState1,0xEDAD8D99,0x8A35,0x4d6d,0x85,0x66,0x2E,0xA2,0x76,0xCD,0xE1,0x61);
  1779. DEFINE_GUID(IID_ID3D10ShaderResourceView1,0x9B7E4C87,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  1780. DEFINE_GUID(IID_ID3D10Device1,0x9B7E4C8F,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  1781.  
  1782.  
  1783. extern RPC_IF_HANDLE __MIDL_itf_d3d10_1_0000_0003_v0_0_c_ifspec;
  1784. extern RPC_IF_HANDLE __MIDL_itf_d3d10_1_0000_0003_v0_0_s_ifspec;
  1785.  
  1786. /* Additional Prototypes for ALL interfaces */
  1787.  
  1788. /* end of Additional Prototypes */
  1789.  
  1790. #ifdef __cplusplus
  1791. }
  1792. #endif
  1793.  
  1794. #endif
  1795.  
  1796.  
  1797.