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