master
    1/*** Autogenerated by WIDL 10.4 from include/d3d11.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 __d3d11_h__
   17#define __d3d11_h__
   18
   19/* Forward declarations */
   20
   21#ifndef __ID3D11DeviceChild_FWD_DEFINED__
   22#define __ID3D11DeviceChild_FWD_DEFINED__
   23typedef interface ID3D11DeviceChild ID3D11DeviceChild;
   24#ifdef __cplusplus
   25interface ID3D11DeviceChild;
   26#endif /* __cplusplus */
   27#endif
   28
   29#ifndef __ID3D11Asynchronous_FWD_DEFINED__
   30#define __ID3D11Asynchronous_FWD_DEFINED__
   31typedef interface ID3D11Asynchronous ID3D11Asynchronous;
   32#ifdef __cplusplus
   33interface ID3D11Asynchronous;
   34#endif /* __cplusplus */
   35#endif
   36
   37#ifndef __ID3D11Query_FWD_DEFINED__
   38#define __ID3D11Query_FWD_DEFINED__
   39typedef interface ID3D11Query ID3D11Query;
   40#ifdef __cplusplus
   41interface ID3D11Query;
   42#endif /* __cplusplus */
   43#endif
   44
   45#ifndef __ID3D11Resource_FWD_DEFINED__
   46#define __ID3D11Resource_FWD_DEFINED__
   47typedef interface ID3D11Resource ID3D11Resource;
   48#ifdef __cplusplus
   49interface ID3D11Resource;
   50#endif /* __cplusplus */
   51#endif
   52
   53#ifndef __ID3D11View_FWD_DEFINED__
   54#define __ID3D11View_FWD_DEFINED__
   55typedef interface ID3D11View ID3D11View;
   56#ifdef __cplusplus
   57interface ID3D11View;
   58#endif /* __cplusplus */
   59#endif
   60
   61#ifndef __ID3D11BlendState_FWD_DEFINED__
   62#define __ID3D11BlendState_FWD_DEFINED__
   63typedef interface ID3D11BlendState ID3D11BlendState;
   64#ifdef __cplusplus
   65interface ID3D11BlendState;
   66#endif /* __cplusplus */
   67#endif
   68
   69#ifndef __ID3D11Buffer_FWD_DEFINED__
   70#define __ID3D11Buffer_FWD_DEFINED__
   71typedef interface ID3D11Buffer ID3D11Buffer;
   72#ifdef __cplusplus
   73interface ID3D11Buffer;
   74#endif /* __cplusplus */
   75#endif
   76
   77#ifndef __ID3D11ClassInstance_FWD_DEFINED__
   78#define __ID3D11ClassInstance_FWD_DEFINED__
   79typedef interface ID3D11ClassInstance ID3D11ClassInstance;
   80#ifdef __cplusplus
   81interface ID3D11ClassInstance;
   82#endif /* __cplusplus */
   83#endif
   84
   85#ifndef __ID3D11ClassLinkage_FWD_DEFINED__
   86#define __ID3D11ClassLinkage_FWD_DEFINED__
   87typedef interface ID3D11ClassLinkage ID3D11ClassLinkage;
   88#ifdef __cplusplus
   89interface ID3D11ClassLinkage;
   90#endif /* __cplusplus */
   91#endif
   92
   93#ifndef __ID3D11CommandList_FWD_DEFINED__
   94#define __ID3D11CommandList_FWD_DEFINED__
   95typedef interface ID3D11CommandList ID3D11CommandList;
   96#ifdef __cplusplus
   97interface ID3D11CommandList;
   98#endif /* __cplusplus */
   99#endif
  100
  101#ifndef __ID3D11ComputeShader_FWD_DEFINED__
  102#define __ID3D11ComputeShader_FWD_DEFINED__
  103typedef interface ID3D11ComputeShader ID3D11ComputeShader;
  104#ifdef __cplusplus
  105interface ID3D11ComputeShader;
  106#endif /* __cplusplus */
  107#endif
  108
  109#ifndef __ID3D11Counter_FWD_DEFINED__
  110#define __ID3D11Counter_FWD_DEFINED__
  111typedef interface ID3D11Counter ID3D11Counter;
  112#ifdef __cplusplus
  113interface ID3D11Counter;
  114#endif /* __cplusplus */
  115#endif
  116
  117#ifndef __ID3D11DepthStencilState_FWD_DEFINED__
  118#define __ID3D11DepthStencilState_FWD_DEFINED__
  119typedef interface ID3D11DepthStencilState ID3D11DepthStencilState;
  120#ifdef __cplusplus
  121interface ID3D11DepthStencilState;
  122#endif /* __cplusplus */
  123#endif
  124
  125#ifndef __ID3D11DepthStencilView_FWD_DEFINED__
  126#define __ID3D11DepthStencilView_FWD_DEFINED__
  127typedef interface ID3D11DepthStencilView ID3D11DepthStencilView;
  128#ifdef __cplusplus
  129interface ID3D11DepthStencilView;
  130#endif /* __cplusplus */
  131#endif
  132
  133#ifndef __ID3D11DomainShader_FWD_DEFINED__
  134#define __ID3D11DomainShader_FWD_DEFINED__
  135typedef interface ID3D11DomainShader ID3D11DomainShader;
  136#ifdef __cplusplus
  137interface ID3D11DomainShader;
  138#endif /* __cplusplus */
  139#endif
  140
  141#ifndef __ID3D11GeometryShader_FWD_DEFINED__
  142#define __ID3D11GeometryShader_FWD_DEFINED__
  143typedef interface ID3D11GeometryShader ID3D11GeometryShader;
  144#ifdef __cplusplus
  145interface ID3D11GeometryShader;
  146#endif /* __cplusplus */
  147#endif
  148
  149#ifndef __ID3D11HullShader_FWD_DEFINED__
  150#define __ID3D11HullShader_FWD_DEFINED__
  151typedef interface ID3D11HullShader ID3D11HullShader;
  152#ifdef __cplusplus
  153interface ID3D11HullShader;
  154#endif /* __cplusplus */
  155#endif
  156
  157#ifndef __ID3D11InputLayout_FWD_DEFINED__
  158#define __ID3D11InputLayout_FWD_DEFINED__
  159typedef interface ID3D11InputLayout ID3D11InputLayout;
  160#ifdef __cplusplus
  161interface ID3D11InputLayout;
  162#endif /* __cplusplus */
  163#endif
  164
  165#ifndef __ID3D11PixelShader_FWD_DEFINED__
  166#define __ID3D11PixelShader_FWD_DEFINED__
  167typedef interface ID3D11PixelShader ID3D11PixelShader;
  168#ifdef __cplusplus
  169interface ID3D11PixelShader;
  170#endif /* __cplusplus */
  171#endif
  172
  173#ifndef __ID3D11Predicate_FWD_DEFINED__
  174#define __ID3D11Predicate_FWD_DEFINED__
  175typedef interface ID3D11Predicate ID3D11Predicate;
  176#ifdef __cplusplus
  177interface ID3D11Predicate;
  178#endif /* __cplusplus */
  179#endif
  180
  181#ifndef __ID3D11RasterizerState_FWD_DEFINED__
  182#define __ID3D11RasterizerState_FWD_DEFINED__
  183typedef interface ID3D11RasterizerState ID3D11RasterizerState;
  184#ifdef __cplusplus
  185interface ID3D11RasterizerState;
  186#endif /* __cplusplus */
  187#endif
  188
  189#ifndef __ID3D11RenderTargetView_FWD_DEFINED__
  190#define __ID3D11RenderTargetView_FWD_DEFINED__
  191typedef interface ID3D11RenderTargetView ID3D11RenderTargetView;
  192#ifdef __cplusplus
  193interface ID3D11RenderTargetView;
  194#endif /* __cplusplus */
  195#endif
  196
  197#ifndef __ID3D11SamplerState_FWD_DEFINED__
  198#define __ID3D11SamplerState_FWD_DEFINED__
  199typedef interface ID3D11SamplerState ID3D11SamplerState;
  200#ifdef __cplusplus
  201interface ID3D11SamplerState;
  202#endif /* __cplusplus */
  203#endif
  204
  205#ifndef __ID3D11ShaderResourceView_FWD_DEFINED__
  206#define __ID3D11ShaderResourceView_FWD_DEFINED__
  207typedef interface ID3D11ShaderResourceView ID3D11ShaderResourceView;
  208#ifdef __cplusplus
  209interface ID3D11ShaderResourceView;
  210#endif /* __cplusplus */
  211#endif
  212
  213#ifndef __ID3D11Texture1D_FWD_DEFINED__
  214#define __ID3D11Texture1D_FWD_DEFINED__
  215typedef interface ID3D11Texture1D ID3D11Texture1D;
  216#ifdef __cplusplus
  217interface ID3D11Texture1D;
  218#endif /* __cplusplus */
  219#endif
  220
  221#ifndef __ID3D11Texture2D_FWD_DEFINED__
  222#define __ID3D11Texture2D_FWD_DEFINED__
  223typedef interface ID3D11Texture2D ID3D11Texture2D;
  224#ifdef __cplusplus
  225interface ID3D11Texture2D;
  226#endif /* __cplusplus */
  227#endif
  228
  229#ifndef __ID3D11Texture3D_FWD_DEFINED__
  230#define __ID3D11Texture3D_FWD_DEFINED__
  231typedef interface ID3D11Texture3D ID3D11Texture3D;
  232#ifdef __cplusplus
  233interface ID3D11Texture3D;
  234#endif /* __cplusplus */
  235#endif
  236
  237#ifndef __ID3D11UnorderedAccessView_FWD_DEFINED__
  238#define __ID3D11UnorderedAccessView_FWD_DEFINED__
  239typedef interface ID3D11UnorderedAccessView ID3D11UnorderedAccessView;
  240#ifdef __cplusplus
  241interface ID3D11UnorderedAccessView;
  242#endif /* __cplusplus */
  243#endif
  244
  245#ifndef __ID3D11VertexShader_FWD_DEFINED__
  246#define __ID3D11VertexShader_FWD_DEFINED__
  247typedef interface ID3D11VertexShader ID3D11VertexShader;
  248#ifdef __cplusplus
  249interface ID3D11VertexShader;
  250#endif /* __cplusplus */
  251#endif
  252
  253#ifndef __ID3D11DeviceContext_FWD_DEFINED__
  254#define __ID3D11DeviceContext_FWD_DEFINED__
  255typedef interface ID3D11DeviceContext ID3D11DeviceContext;
  256#ifdef __cplusplus
  257interface ID3D11DeviceContext;
  258#endif /* __cplusplus */
  259#endif
  260
  261#ifndef __ID3D11AuthenticatedChannel_FWD_DEFINED__
  262#define __ID3D11AuthenticatedChannel_FWD_DEFINED__
  263typedef interface ID3D11AuthenticatedChannel ID3D11AuthenticatedChannel;
  264#ifdef __cplusplus
  265interface ID3D11AuthenticatedChannel;
  266#endif /* __cplusplus */
  267#endif
  268
  269#ifndef __ID3D11CryptoSession_FWD_DEFINED__
  270#define __ID3D11CryptoSession_FWD_DEFINED__
  271typedef interface ID3D11CryptoSession ID3D11CryptoSession;
  272#ifdef __cplusplus
  273interface ID3D11CryptoSession;
  274#endif /* __cplusplus */
  275#endif
  276
  277#ifndef __ID3D11VideoDecoder_FWD_DEFINED__
  278#define __ID3D11VideoDecoder_FWD_DEFINED__
  279typedef interface ID3D11VideoDecoder ID3D11VideoDecoder;
  280#ifdef __cplusplus
  281interface ID3D11VideoDecoder;
  282#endif /* __cplusplus */
  283#endif
  284
  285#ifndef __ID3D11VideoProcessorEnumerator_FWD_DEFINED__
  286#define __ID3D11VideoProcessorEnumerator_FWD_DEFINED__
  287typedef interface ID3D11VideoProcessorEnumerator ID3D11VideoProcessorEnumerator;
  288#ifdef __cplusplus
  289interface ID3D11VideoProcessorEnumerator;
  290#endif /* __cplusplus */
  291#endif
  292
  293#ifndef __ID3D11VideoProcessor_FWD_DEFINED__
  294#define __ID3D11VideoProcessor_FWD_DEFINED__
  295typedef interface ID3D11VideoProcessor ID3D11VideoProcessor;
  296#ifdef __cplusplus
  297interface ID3D11VideoProcessor;
  298#endif /* __cplusplus */
  299#endif
  300
  301#ifndef __ID3D11VideoDecoderOutputView_FWD_DEFINED__
  302#define __ID3D11VideoDecoderOutputView_FWD_DEFINED__
  303typedef interface ID3D11VideoDecoderOutputView ID3D11VideoDecoderOutputView;
  304#ifdef __cplusplus
  305interface ID3D11VideoDecoderOutputView;
  306#endif /* __cplusplus */
  307#endif
  308
  309#ifndef __ID3D11VideoProcessorInputView_FWD_DEFINED__
  310#define __ID3D11VideoProcessorInputView_FWD_DEFINED__
  311typedef interface ID3D11VideoProcessorInputView ID3D11VideoProcessorInputView;
  312#ifdef __cplusplus
  313interface ID3D11VideoProcessorInputView;
  314#endif /* __cplusplus */
  315#endif
  316
  317#ifndef __ID3D11VideoProcessorOutputView_FWD_DEFINED__
  318#define __ID3D11VideoProcessorOutputView_FWD_DEFINED__
  319typedef interface ID3D11VideoProcessorOutputView ID3D11VideoProcessorOutputView;
  320#ifdef __cplusplus
  321interface ID3D11VideoProcessorOutputView;
  322#endif /* __cplusplus */
  323#endif
  324
  325#ifndef __ID3D11VideoDevice_FWD_DEFINED__
  326#define __ID3D11VideoDevice_FWD_DEFINED__
  327typedef interface ID3D11VideoDevice ID3D11VideoDevice;
  328#ifdef __cplusplus
  329interface ID3D11VideoDevice;
  330#endif /* __cplusplus */
  331#endif
  332
  333#ifndef __ID3D11VideoContext_FWD_DEFINED__
  334#define __ID3D11VideoContext_FWD_DEFINED__
  335typedef interface ID3D11VideoContext ID3D11VideoContext;
  336#ifdef __cplusplus
  337interface ID3D11VideoContext;
  338#endif /* __cplusplus */
  339#endif
  340
  341#ifndef __ID3D11Device_FWD_DEFINED__
  342#define __ID3D11Device_FWD_DEFINED__
  343typedef interface ID3D11Device ID3D11Device;
  344#ifdef __cplusplus
  345interface ID3D11Device;
  346#endif /* __cplusplus */
  347#endif
  348
  349/* Headers for imported files */
  350
  351#include <oaidl.h>
  352#include <ocidl.h>
  353#include <dxgi.h>
  354#include <d3dcommon.h>
  355
  356#ifdef __cplusplus
  357extern "C" {
  358#endif
  359
  360typedef D3D_PRIMITIVE D3D11_PRIMITIVE;
  361typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
  362typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
  363typedef RECT D3D11_RECT;
  364#ifndef __ID3D11Device_FWD_DEFINED__
  365#define __ID3D11Device_FWD_DEFINED__
  366typedef interface ID3D11Device ID3D11Device;
  367#ifdef __cplusplus
  368interface ID3D11Device;
  369#endif /* __cplusplus */
  370#endif
  371
  372#ifndef __ID3D11ClassLinkage_FWD_DEFINED__
  373#define __ID3D11ClassLinkage_FWD_DEFINED__
  374typedef interface ID3D11ClassLinkage ID3D11ClassLinkage;
  375#ifdef __cplusplus
  376interface ID3D11ClassLinkage;
  377#endif /* __cplusplus */
  378#endif
  379
  380#ifndef __ID3D11Resource_FWD_DEFINED__
  381#define __ID3D11Resource_FWD_DEFINED__
  382typedef interface ID3D11Resource ID3D11Resource;
  383#ifdef __cplusplus
  384interface ID3D11Resource;
  385#endif /* __cplusplus */
  386#endif
  387
  388#ifndef __ID3D11VideoProcessorInputView_FWD_DEFINED__
  389#define __ID3D11VideoProcessorInputView_FWD_DEFINED__
  390typedef interface ID3D11VideoProcessorInputView ID3D11VideoProcessorInputView;
  391#ifdef __cplusplus
  392interface ID3D11VideoProcessorInputView;
  393#endif /* __cplusplus */
  394#endif
  395
  396#ifndef _D3D11_CONSTANTS
  397#define _D3D11_CONSTANTS
  398#define D3D11_16BIT_INDEX_STRIP_CUT_VALUE (0xffff)
  399
  400#define D3D11_32BIT_INDEX_STRIP_CUT_VALUE (0xffffffff)
  401
  402#define D3D11_8BIT_INDEX_STRIP_CUT_VALUE (0xff)
  403
  404#define D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT (9)
  405
  406#define D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8)
  407
  408#define D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT (2)
  409
  410#define D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14)
  411
  412#define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS (4)
  413
  414#define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT (32)
  415
  416#define D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15)
  417
  418#define D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT (16)
  419
  420#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
  421
  422#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT (15)
  423
  424#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
  425
  426#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
  427
  428#define D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
  429
  430#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
  431
  432#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT (1)
  433
  434#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
  435
  436#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
  437
  438#define D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT (32)
  439
  440#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS (1)
  441
  442#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
  443
  444#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST (1)
  445
  446#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS (1)
  447
  448#define D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT (128)
  449
  450#define D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS (1)
  451
  452#define D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT (16)
  453
  454#define D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST (1)
  455
  456#define D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS (1)
  457
  458#define D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
  459
  460#define D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
  461
  462#define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS (4)
  463
  464#define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT (32)
  465
  466#define D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
  467
  468#define D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST (3)
  469
  470#define D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS (3)
  471
  472#define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX (10)
  473
  474#define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN (-10)
  475
  476#define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE (-8)
  477
  478#define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE (7)
  479
  480#define D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (256)
  481
  482#define D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP (64)
  483
  484#define D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (240)
  485
  486#define D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP (68)
  487
  488#define D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (224)
  489
  490#define D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP (72)
  491
  492#define D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (208)
  493
  494#define D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP (76)
  495
  496#define D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (192)
  497
  498#define D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP (84)
  499
  500#define D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (176)
  501
  502#define D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP (92)
  503
  504#define D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (160)
  505
  506#define D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP (100)
  507
  508#define D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (144)
  509
  510#define D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP (112)
  511
  512#define D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (128)
  513
  514#define D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP (128)
  515
  516#define D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (112)
  517
  518#define D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP (144)
  519
  520#define D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (96)
  521
  522#define D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP (168)
  523
  524#define D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (80)
  525
  526#define D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP (204)
  527
  528#define D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (64)
  529
  530#define D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP (256)
  531
  532#define D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (48)
  533
  534#define D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP (340)
  535
  536#define D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (32)
  537
  538#define D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP (512)
  539
  540#define D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (16)
  541
  542#define D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP (768)
  543
  544#define D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION (1)
  545
  546#define D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT (256)
  547
  548#define D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP (768)
  549
  550#define D3D11_CS_4_X_THREAD_GROUP_MAX_X (768)
  551
  552#define D3D11_CS_4_X_THREAD_GROUP_MAX_Y (768)
  553
  554#define D3D11_CS_4_X_UAV_REGISTER_COUNT (1)
  555
  556#define D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535)
  557
  558#define D3D11_CS_TGSM_REGISTER_COUNT (8192)
  559
  560#define D3D11_CS_TGSM_REGISTER_READS_PER_INST (1)
  561
  562#define D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS (1)
  563
  564#define D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS (1)
  565
  566#define D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP (1024)
  567
  568#define D3D11_CS_THREAD_GROUP_MAX_X (1024)
  569
  570#define D3D11_CS_THREAD_GROUP_MAX_Y (1024)
  571
  572#define D3D11_CS_THREAD_GROUP_MAX_Z (64)
  573
  574#define D3D11_CS_THREAD_GROUP_MIN_X (1)
  575
  576#define D3D11_CS_THREAD_GROUP_MIN_Y (1)
  577
  578#define D3D11_CS_THREAD_GROUP_MIN_Z (1)
  579
  580#define D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL (16384)
  581
  582#define D3D11_DEFAULT_DEPTH_BIAS (0)
  583
  584#define D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0f
  585#define D3D11_DEFAULT_MAX_ANISOTROPY (16)
  586
  587#define D3D11_DEFAULT_MIP_LOD_BIAS 0.0f
  588#define D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX (0)
  589
  590#define D3D11_DEFAULT_SAMPLE_MASK (0xffffffff)
  591
  592#define D3D11_DEFAULT_SCISSOR_ENDX (0)
  593
  594#define D3D11_DEFAULT_SCISSOR_ENDY (0)
  595
  596#define D3D11_DEFAULT_SCISSOR_STARTX (0)
  597
  598#define D3D11_DEFAULT_SCISSOR_STARTY (0)
  599
  600#define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0f
  601#define D3D11_DEFAULT_STENCIL_READ_MASK (0xff)
  602
  603#define D3D11_DEFAULT_STENCIL_REFERENCE (0)
  604
  605#define D3D11_DEFAULT_STENCIL_WRITE_MASK (0xff)
  606
  607#define D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX (0)
  608
  609#define D3D11_DEFAULT_VIEWPORT_HEIGHT (0)
  610
  611#define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0f
  612#define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0f
  613#define D3D11_DEFAULT_VIEWPORT_TOPLEFTX (0)
  614
  615#define D3D11_DEFAULT_VIEWPORT_TOPLEFTY (0)
  616
  617#define D3D11_DEFAULT_VIEWPORT_WIDTH (0)
  618
  619#define D3D11_FLOAT32_MAX         (3.402823466e+38f)
  620#define D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES (0)
  621
  622#define D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY (0)
  623
  624#define D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES (0)
  625
  626#define D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
  627
  628#define D3D11_IA_INSTANCE_ID_BIT_COUNT (32)
  629
  630#define D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT (32)
  631
  632#define D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT (32)
  633
  634#define D3D11_IA_PRIMITIVE_ID_BIT_COUNT (32)
  635
  636#define D3D11_IA_VERTEX_ID_BIT_COUNT (32)
  637
  638#define D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32)
  639
  640#define D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS (128)
  641
  642#define D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT (32)
  643
  644#define D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT (8)
  645
  646#define D3D11_MAX_MAXANISOTROPY (16)
  647
  648#define D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
  649
  650#define D3D11_VIEWPORT_BOUNDS_MAX (32767)
  651
  652#define D3D11_VIEWPORT_BOUNDS_MIN (-32768)
  653
  654#define D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX (15)
  655
  656#define D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
  657
  658#define D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL (0xffffffff)
  659
  660#define D3D11_KEEP_UNORDERED_ACCESS_VIEWS (0xffffffff)
  661
  662#define D3D11_SHADER_MAJOR_VERSION (5)
  663
  664#define D3D11_SHADER_MAX_INSTANCES (65535)
  665
  666#define D3D11_SHADER_MAX_INTERFACES (253)
  667
  668#define D3D11_SHADER_MAX_INTERFACE_CALL_SITES (4096)
  669
  670#define D3D11_SHADER_MAX_TYPES (65535)
  671
  672#define D3D11_SHADER_MINOR_VERSION (0)
  673
  674#define D3D11_VS_OUTPUT_REGISTER_COUNT (32)
  675
  676#define D3D11_OMAC_SIZE (16)
  677
  678#define D3D11_PS_CS_UAV_REGISTER_COMPONENTS (1)
  679
  680#define D3D11_PS_CS_UAV_REGISTER_COUNT (8)
  681
  682#define D3D11_PS_CS_UAV_REGISTER_READS_PER_INST (1)
  683
  684#define D3D11_PS_CS_UAV_REGISTER_READ_PORTS (1)
  685
  686#define D3D11_PS_FRONTFACING_DEFAULT_VALUE (0xffffffff)
  687
  688#define D3D11_PS_FRONTFACING_FALSE_VALUE (0)
  689
  690#define D3D11_PS_FRONTFACING_TRUE_VALUE (0xffffffff)
  691
  692#define D3D11_PS_INPUT_REGISTER_COMPONENTS (4)
  693
  694#define D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
  695
  696#define D3D11_PS_INPUT_REGISTER_COUNT (32)
  697
  698#define D3D11_PS_INPUT_REGISTER_READS_PER_INST (2)
  699
  700#define D3D11_PS_INPUT_REGISTER_READ_PORTS (1)
  701
  702#define D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.0f)
  703#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS (1)
  704
  705#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT (32)
  706
  707#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
  708
  709#define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS (1)
  710
  711#define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT (32)
  712
  713#define D3D11_PS_OUTPUT_MASK_REGISTER_COUNT (1)
  714
  715#define D3D11_PS_OUTPUT_REGISTER_COMPONENTS (4)
  716
  717#define D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
  718
  719#define D3D11_PS_OUTPUT_REGISTER_COUNT (8)
  720
  721#define D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.5f)
  722#define D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT (16)
  723
  724#define D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096)
  725
  726#define D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (27)
  727
  728#define D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
  729
  730#define D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096)
  731
  732#define D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (32)
  733
  734#define D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (32)
  735
  736#define D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384)
  737
  738#define D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT (1024)
  739
  740#define D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
  741
  742#define D3D11_REQ_MAXANISOTROPY (16)
  743
  744#define D3D11_REQ_MIP_LEVELS (15)
  745
  746#define D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048)
  747
  748#define D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096)
  749
  750#define D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH (16384)
  751
  752#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
  753
  754#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)
  755#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM (2048)
  756
  757#define D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (20)
  758
  759#define D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096)
  760
  761#define D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (2048)
  762
  763#define D3D11_REQ_TEXTURE1D_U_DIMENSION (16384)
  764
  765#define D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048)
  766
  767#define D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384)
  768
  769#define D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
  770
  771#define D3D11_REQ_TEXTURECUBE_DIMENSION (16384)
  772
  773#define D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL (0)
  774
  775#define D3D11_SHIFT_INSTRUCTION_PAD_VALUE (0)
  776
  777#define D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT (5)
  778
  779#define D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES (2048)
  780
  781#define D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES (512)
  782
  783#define D3D11_SO_BUFFER_SLOT_COUNT (4)
  784
  785#define D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP (0xffffffff)
  786
  787#define D3D11_SO_NO_RASTERIZED_STREAM (0xffffffff)
  788
  789#define D3D11_SO_OUTPUT_COMPONENT_COUNT (128)
  790
  791#define D3D11_SO_STREAM_COUNT (4)
  792
  793#define D3D11_SPEC_DATE_DAY (16)
  794
  795#define D3D11_SPEC_DATE_MONTH (5)
  796
  797#define D3D11_SPEC_DATE_YEAR (2011)
  798
  799#define D3D11_SPEC_VERSION                   (1.07)
  800#define D3D11_SRGB_GAMMA                     (2.2f)
  801#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_1    (12.92f)
  802#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_2    (1.055f)
  803#define D3D11_SRGB_TO_FLOAT_EXPONENT         (2.4f)
  804#define D3D11_SRGB_TO_FLOAT_OFFSET           (0.055f)
  805#define D3D11_SRGB_TO_FLOAT_THRESHOLD        (0.04045f)
  806#define D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.5f)
  807#define D3D11_STANDARD_COMPONENT_BIT_COUNT (32)
  808
  809#define D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED (64)
  810
  811#define D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE (4)
  812
  813#define D3D11_STANDARD_PIXEL_COMPONENT_COUNT (128)
  814
  815#define D3D11_STANDARD_PIXEL_ELEMENT_COUNT (32)
  816
  817#define D3D11_STANDARD_VECTOR_SIZE (4)
  818
  819#define D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
  820
  821#define D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT (64)
  822
  823#endif
  824#ifndef _D3D11_1_CONSTANTS
  825#define _D3D11_1_CONSTANTS
  826#define D3D11_1_UAV_SLOT_COUNT (64)
  827
  828#endif
  829#ifndef _D3D11_2_CONSTANTS
  830#define _D3D11_2_CONSTANTS
  831#define D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES (0x10000)
  832
  833#endif
  834#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  835struct CD3D11_DEFAULT {};
  836extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;
  837#endif
  838typedef enum D3D11_BLEND {
  839    D3D11_BLEND_ZERO = 1,
  840    D3D11_BLEND_ONE = 2,
  841    D3D11_BLEND_SRC_COLOR = 3,
  842    D3D11_BLEND_INV_SRC_COLOR = 4,
  843    D3D11_BLEND_SRC_ALPHA = 5,
  844    D3D11_BLEND_INV_SRC_ALPHA = 6,
  845    D3D11_BLEND_DEST_ALPHA = 7,
  846    D3D11_BLEND_INV_DEST_ALPHA = 8,
  847    D3D11_BLEND_DEST_COLOR = 9,
  848    D3D11_BLEND_INV_DEST_COLOR = 10,
  849    D3D11_BLEND_SRC_ALPHA_SAT = 11,
  850    D3D11_BLEND_BLEND_FACTOR = 14,
  851    D3D11_BLEND_INV_BLEND_FACTOR = 15,
  852    D3D11_BLEND_SRC1_COLOR = 16,
  853    D3D11_BLEND_INV_SRC1_COLOR = 17,
  854    D3D11_BLEND_SRC1_ALPHA = 18,
  855    D3D11_BLEND_INV_SRC1_ALPHA = 19
  856} D3D11_BLEND;
  857typedef enum D3D11_BLEND_OP {
  858    D3D11_BLEND_OP_ADD = 1,
  859    D3D11_BLEND_OP_SUBTRACT = 2,
  860    D3D11_BLEND_OP_REV_SUBTRACT = 3,
  861    D3D11_BLEND_OP_MIN = 4,
  862    D3D11_BLEND_OP_MAX = 5
  863} D3D11_BLEND_OP;
  864typedef enum D3D11_VIDEO_DECODER_BUFFER_TYPE {
  865    D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0,
  866    D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1,
  867    D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2,
  868    D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3,
  869    D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4,
  870    D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5,
  871    D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6,
  872    D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7,
  873    D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8
  874} D3D11_VIDEO_DECODER_BUFFER_TYPE;
  875typedef enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE {
  876    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0,
  877    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1,
  878    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2,
  879    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3
  880} D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE;
  881typedef enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE {
  882    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0,
  883    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1,
  884    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2
  885} D3D11_VIDEO_PROCESSOR_OUTPUT_RATE;
  886typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT {
  887    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0,
  888    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1,
  889    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2,
  890    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3,
  891    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4,
  892    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5,
  893    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6,
  894    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7
  895} D3D11_VIDEO_PROCESSOR_STEREO_FORMAT;
  896typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE {
  897    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0,
  898    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1,
  899    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2
  900} D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE;
  901typedef enum D3D11_VIDEO_PROCESSOR_ROTATION {
  902    D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0,
  903    D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1,
  904    D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2,
  905    D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3
  906} D3D11_VIDEO_PROCESSOR_ROTATION;
  907typedef enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS {
  908    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x1,
  909    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x2,
  910    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4,
  911    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8,
  912    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x10
  913} D3D11_VIDEO_PROCESSOR_DEVICE_CAPS;
  914typedef enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS {
  915    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x1,
  916    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x2,
  917    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x4,
  918    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x8,
  919    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x10,
  920    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x20,
  921    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x40,
  922    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x80,
  923    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x100,
  924    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x200,
  925    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400,
  926    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 = 0x800
  927} D3D11_VIDEO_PROCESSOR_FEATURE_CAPS;
  928typedef enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS {
  929    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x1,
  930    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x2,
  931    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x4,
  932    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x8,
  933    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x10,
  934    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20,
  935    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40,
  936    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x80
  937} D3D11_VIDEO_PROCESSOR_FILTER_CAPS;
  938typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS {
  939    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x1,
  940    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x2,
  941    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x4,
  942    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x8
  943} D3D11_VIDEO_PROCESSOR_FORMAT_CAPS;
  944typedef enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS {
  945    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x1,
  946    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x2,
  947    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x4,
  948    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x8,
  949    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x10,
  950    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x20,
  951    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x40,
  952    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x80
  953} D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS;
  954typedef enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS {
  955    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x1,
  956    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x2,
  957    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x4,
  958    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x8,
  959    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x10
  960} D3D11_VIDEO_PROCESSOR_STEREO_CAPS;
  961typedef enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS {
  962    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1,
  963    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2,
  964    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4,
  965    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8,
  966    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10,
  967    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20
  968} D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS;
  969typedef enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS {
  970    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 = 0x1,
  971    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 = 0x2,
  972    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 = 0x4,
  973    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 = 0x8,
  974    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 = 0x10,
  975    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 = 0x20,
  976    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 = 0x40,
  977    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 = 0x80,
  978    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 = 0x100,
  979    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER = 0x80000000
  980} D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS;
  981typedef enum D3D11_CONTENT_PROTECTION_CAPS {
  982    D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x1,
  983    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x2,
  984    D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x4,
  985    D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x8,
  986    D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x10,
  987    D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x20,
  988    D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x40,
  989    D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x80,
  990    D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x100,
  991    D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x200,
  992    D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x400,
  993    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x800,
  994    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x1000,
  995    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x2000,
  996    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x4000
  997} D3D11_CONTENT_PROTECTION_CAPS;
  998typedef enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE {
  999    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED = 0x0,
 1000    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 = 0x1,
 1001    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 = 0x2
 1002} D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE;
 1003typedef enum D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE {
 1004    D3D11_PROCESSIDTYPE_UNKNOWN = 0x0,
 1005    D3D11_PROCESSIDTYPE_DWM = 0x1,
 1006    D3D11_PROCESSIDTYPE_HANDLE = 0x2
 1007} D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE;
 1008typedef enum D3D11_BUS_TYPE {
 1009    D3D11_BUS_TYPE_OTHER = 0x0,
 1010    D3D11_BUS_TYPE_PCI = 0x1,
 1011    D3D11_BUS_TYPE_PCIX = 0x2,
 1012    D3D11_BUS_TYPE_PCIEXPRESS = 0x3,
 1013    D3D11_BUS_TYPE_AGP = 0x4,
 1014    D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x10000,
 1015    D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x20000,
 1016    D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x30000,
 1017    D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x40000,
 1018    D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x50000,
 1019    D3D11_BUS_IMPL_MODIFIER_NON_STANDARD = 0x80000000
 1020} D3D11_BUS_TYPE;
 1021typedef struct D3D11_BOX {
 1022    UINT left;
 1023    UINT top;
 1024    UINT front;
 1025    UINT right;
 1026    UINT bottom;
 1027    UINT back;
 1028} D3D11_BOX;
 1029typedef struct D3D11_BUFFER_RTV {
 1030    __C89_NAMELESS union {
 1031        UINT FirstElement;
 1032        UINT ElementOffset;
 1033    } __C89_NAMELESSUNIONNAME1;
 1034    __C89_NAMELESS union {
 1035        UINT NumElements;
 1036        UINT ElementWidth;
 1037    } __C89_NAMELESSUNIONNAME2;
 1038} D3D11_BUFFER_RTV;
 1039typedef struct D3D11_BUFFER_SRV {
 1040    __C89_NAMELESS union {
 1041        UINT FirstElement;
 1042        UINT ElementOffset;
 1043    } __C89_NAMELESSUNIONNAME1;
 1044    __C89_NAMELESS union {
 1045        UINT NumElements;
 1046        UINT ElementWidth;
 1047    } __C89_NAMELESSUNIONNAME2;
 1048} D3D11_BUFFER_SRV;
 1049typedef struct D3D11_BUFFER_UAV {
 1050    UINT FirstElement;
 1051    UINT NumElements;
 1052    UINT Flags;
 1053} D3D11_BUFFER_UAV;
 1054typedef struct D3D11_BUFFEREX_SRV {
 1055    UINT FirstElement;
 1056    UINT NumElements;
 1057    UINT Flags;
 1058} D3D11_BUFFEREX_SRV;
 1059typedef struct D3D11_CLASS_INSTANCE_DESC {
 1060    UINT InstanceId;
 1061    UINT InstanceIndex;
 1062    UINT TypeId;
 1063    UINT ConstantBuffer;
 1064    UINT BaseConstantBufferOffset;
 1065    UINT BaseTexture;
 1066    UINT BaseSampler;
 1067    WINBOOL Created;
 1068} D3D11_CLASS_INSTANCE_DESC;
 1069typedef enum D3D11_COMPARISON_FUNC {
 1070    D3D11_COMPARISON_NEVER = 1,
 1071    D3D11_COMPARISON_LESS = 2,
 1072    D3D11_COMPARISON_EQUAL = 3,
 1073    D3D11_COMPARISON_LESS_EQUAL = 4,
 1074    D3D11_COMPARISON_GREATER = 5,
 1075    D3D11_COMPARISON_NOT_EQUAL = 6,
 1076    D3D11_COMPARISON_GREATER_EQUAL = 7,
 1077    D3D11_COMPARISON_ALWAYS = 8
 1078} D3D11_COMPARISON_FUNC;
 1079typedef enum D3D11_COUNTER {
 1080    D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
 1081} D3D11_COUNTER;
 1082typedef struct D3D11_COUNTER_DESC {
 1083    D3D11_COUNTER Counter;
 1084    UINT MiscFlags;
 1085} D3D11_COUNTER_DESC;
 1086typedef struct D3D11_COUNTER_INFO {
 1087    D3D11_COUNTER LastDeviceDependentCounter;
 1088    UINT NumSimultaneousCounters;
 1089    UINT8 NumDetectableParallelUnits;
 1090} D3D11_COUNTER_INFO;
 1091typedef enum D3D11_COUNTER_TYPE {
 1092    D3D11_COUNTER_TYPE_FLOAT32 = 0,
 1093    D3D11_COUNTER_TYPE_UINT16 = 1,
 1094    D3D11_COUNTER_TYPE_UINT32 = 2,
 1095    D3D11_COUNTER_TYPE_UINT64 = 3
 1096} D3D11_COUNTER_TYPE;
 1097typedef enum D3D11_CULL_MODE {
 1098    D3D11_CULL_NONE = 1,
 1099    D3D11_CULL_FRONT = 2,
 1100    D3D11_CULL_BACK = 3
 1101} D3D11_CULL_MODE;
 1102typedef enum D3D11_DEPTH_WRITE_MASK {
 1103    D3D11_DEPTH_WRITE_MASK_ZERO = 0,
 1104    D3D11_DEPTH_WRITE_MASK_ALL = 1
 1105} D3D11_DEPTH_WRITE_MASK;
 1106typedef enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS {
 1107    D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
 1108    D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe
 1109} D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
 1110typedef enum D3D11_DEVICE_CONTEXT_TYPE {
 1111    D3D11_DEVICE_CONTEXT_IMMEDIATE = 0,
 1112    D3D11_DEVICE_CONTEXT_DEFERRED = 1
 1113} D3D11_DEVICE_CONTEXT_TYPE;
 1114typedef enum D3D11_DSV_DIMENSION {
 1115    D3D11_DSV_DIMENSION_UNKNOWN = 0,
 1116    D3D11_DSV_DIMENSION_TEXTURE1D = 1,
 1117    D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2,
 1118    D3D11_DSV_DIMENSION_TEXTURE2D = 3,
 1119    D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4,
 1120    D3D11_DSV_DIMENSION_TEXTURE2DMS = 5,
 1121    D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
 1122} D3D11_DSV_DIMENSION;
 1123typedef enum D3D11_FEATURE {
 1124    D3D11_FEATURE_THREADING = 0,
 1125    D3D11_FEATURE_DOUBLES = 1,
 1126    D3D11_FEATURE_FORMAT_SUPPORT = 2,
 1127    D3D11_FEATURE_FORMAT_SUPPORT2 = 3,
 1128    D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = 4,
 1129    D3D11_FEATURE_D3D11_OPTIONS = 5,
 1130    D3D11_FEATURE_ARCHITECTURE_INFO = 6,
 1131    D3D11_FEATURE_D3D9_OPTIONS = 7,
 1132    D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT = 8,
 1133    D3D11_FEATURE_D3D9_SHADOW_SUPPORT = 9,
 1134    D3D11_FEATURE_D3D11_OPTIONS1 = 10,
 1135    D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT = 11,
 1136    D3D11_FEATURE_MARKER_SUPPORT = 12,
 1137    D3D11_FEATURE_D3D9_OPTIONS1 = 13,
 1138    D3D11_FEATURE_D3D11_OPTIONS2 = 14,
 1139    D3D11_FEATURE_D3D11_OPTIONS3 = 15,
 1140    D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 16,
 1141    D3D11_FEATURE_D3D11_OPTIONS4 = 17,
 1142    D3D11_FEATURE_SHADER_CACHE = 18,
 1143    D3D11_FEATURE_D3D11_OPTIONS5 = 19
 1144} D3D11_FEATURE;
 1145typedef struct D3D11_FEATURE_DATA_THREADING {
 1146    WINBOOL DriverConcurrentCreates;
 1147    WINBOOL DriverCommandLists;
 1148} D3D11_FEATURE_DATA_THREADING;
 1149typedef struct D3D11_FEATURE_DATA_DOUBLES {
 1150    WINBOOL DoublePrecisionFloatShaderOps;
 1151} D3D11_FEATURE_DATA_DOUBLES;
 1152typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT {
 1153    DXGI_FORMAT InFormat;
 1154    UINT OutFormatSupport;
 1155} D3D11_FEATURE_DATA_FORMAT_SUPPORT;
 1156typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 {
 1157    DXGI_FORMAT InFormat;
 1158    UINT OutFormatSupport2;
 1159} D3D11_FEATURE_DATA_FORMAT_SUPPORT2;
 1160typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS {
 1161    WINBOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x;
 1162} D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS;
 1163typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS {
 1164    WINBOOL OutputMergerLogicOp;
 1165    WINBOOL UAVOnlyRenderingForcedSampleCount;
 1166    WINBOOL DiscardAPIsSeenByDriver;
 1167    WINBOOL FlagsForUpdateAndCopySeenByDriver;
 1168    WINBOOL ClearView;
 1169    WINBOOL CopyWithOverlap;
 1170    WINBOOL ConstantBufferPartialUpdate;
 1171    WINBOOL ConstantBufferOffsetting;
 1172    WINBOOL MapNoOverwriteOnDynamicConstantBuffer;
 1173    WINBOOL MapNoOverwriteOnDynamicBufferSRV;
 1174    WINBOOL MultisampleRTVWithForcedSampleCountOne;
 1175    WINBOOL SAD4ShaderInstructions;
 1176    WINBOOL ExtendedDoublesShaderInstructions;
 1177    WINBOOL ExtendedResourceSharing;
 1178} D3D11_FEATURE_DATA_D3D11_OPTIONS;
 1179typedef struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO {
 1180    WINBOOL TileBasedDeferredRenderer;
 1181} D3D11_FEATURE_DATA_ARCHITECTURE_INFO;
 1182typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS {
 1183    WINBOOL FullNonPow2TextureSupport;
 1184} D3D11_FEATURE_DATA_D3D9_OPTIONS;
 1185typedef struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT {
 1186    WINBOOL SupportsDepthAsTextureWithLessEqualComparisonFilter;
 1187} D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT;
 1188typedef enum D3D11_SHADER_MIN_PRECISION_SUPPORT {
 1189    D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1,
 1190    D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2
 1191} D3D11_SHADER_MIN_PRECISION_SUPPORT;
 1192typedef struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT {
 1193    UINT PixelShaderMinPrecision;
 1194    UINT AllOtherShaderStagesMinPrecision;
 1195} D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT;
 1196typedef enum D3D11_TILED_RESOURCES_TIER {
 1197    D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0x0,
 1198    D3D11_TILED_RESOURCES_TIER_1 = 0x1,
 1199    D3D11_TILED_RESOURCES_TIER_2 = 0x2,
 1200    D3D11_TILED_RESOURCES_TIER_3 = 0x3
 1201} D3D11_TILED_RESOURCES_TIER;
 1202typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 {
 1203    D3D11_TILED_RESOURCES_TIER TiledResourcesTier;
 1204    WINBOOL MinMaxFiltering;
 1205    WINBOOL ClearViewAlsoSupportsDepthOnlyFormats;
 1206    WINBOOL MapOnDefaultBuffers;
 1207} D3D11_FEATURE_DATA_D3D11_OPTIONS1;
 1208typedef struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT {
 1209    WINBOOL SimpleInstancingSupported;
 1210} D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT;
 1211typedef struct D3D11_FEATURE_DATA_MARKER_SUPPORT {
 1212    WINBOOL Profile;
 1213} D3D11_FEATURE_DATA_MARKER_SUPPORT;
 1214typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 {
 1215    WINBOOL FullNonPow2TextureSupported;
 1216    WINBOOL DepthAsTextureWithLessEqualComparisonFilterSupported;
 1217    WINBOOL SimpleInstancingSupported;
 1218    WINBOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported;
 1219} D3D11_FEATURE_DATA_D3D9_OPTIONS1;
 1220typedef enum D3D11_CONSERVATIVE_RASTERIZATION_TIER {
 1221    D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0x0,
 1222    D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 0x1,
 1223    D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 0x2,
 1224    D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 0x3
 1225} D3D11_CONSERVATIVE_RASTERIZATION_TIER;
 1226typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 {
 1227    WINBOOL PSSpecifiedStencilRefSupported;
 1228    WINBOOL TypedUAVLoadAdditionalFormats;
 1229    WINBOOL ROVsSupported;
 1230    D3D11_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
 1231    D3D11_TILED_RESOURCES_TIER TiledResourcesTier;
 1232    WINBOOL MapOnDefaultTextures;
 1233    WINBOOL StandardSwizzle;
 1234    WINBOOL UnifiedMemoryArchitecture;
 1235} D3D11_FEATURE_DATA_D3D11_OPTIONS2;
 1236typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 {
 1237    WINBOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizer;
 1238} D3D11_FEATURE_DATA_D3D11_OPTIONS3;
 1239typedef struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
 1240    UINT MaxGPUVirtualAddressBitsPerResource;
 1241    UINT MaxGPUVirtualAddressBitsPerProcess;
 1242} D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;
 1243typedef enum D3D11_SHADER_CACHE_SUPPORT_FLAGS {
 1244    D3D11_SHADER_CACHE_SUPPORT_NONE = 0x0,
 1245    D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x1,
 1246    D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x2
 1247} D3D11_SHADER_CACHE_SUPPORT_FLAGS;
 1248typedef struct D3D11_FEATURE_DATA_SHADER_CACHE {
 1249    UINT SupportFlags;
 1250} D3D11_FEATURE_DATA_SHADER_CACHE;
 1251typedef enum D3D11_SHARED_RESOURCE_TIER {
 1252    D3D11_SHARED_RESOURCE_TIER_0 = 0,
 1253    D3D11_SHARED_RESOURCE_TIER_1 = 1,
 1254    D3D11_SHARED_RESOURCE_TIER_2 = 2,
 1255    D3D11_SHARED_RESOURCE_TIER_3 = 3
 1256} D3D11_SHARED_RESOURCE_TIER;
 1257typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS5 {
 1258    D3D11_SHARED_RESOURCE_TIER SharedResourceTier;
 1259} D3D11_FEATURE_DATA_D3D11_OPTIONS5;
 1260typedef enum D3D11_FILL_MODE {
 1261    D3D11_FILL_WIREFRAME = 2,
 1262    D3D11_FILL_SOLID = 3
 1263} D3D11_FILL_MODE;
 1264typedef enum D3D11_FILTER_TYPE {
 1265    D3D11_FILTER_TYPE_POINT = 0,
 1266    D3D11_FILTER_TYPE_LINEAR = 1
 1267} D3D11_FILTER_TYPE;
 1268#define D3D11_MIN_FILTER_SHIFT (4)
 1269
 1270#define D3D11_MAG_FILTER_SHIFT (2)
 1271
 1272#define D3D11_MIP_FILTER_SHIFT (0)
 1273
 1274#define D3D11_FILTER_TYPE_MASK (0x3)
 1275
 1276#define D3D11_COMPARISON_FILTERING_BIT (0x80)
 1277
 1278#define D3D11_ANISOTROPIC_FILTERING_BIT (0x40)
 1279
 1280#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, bComparison) \
 1281    ((D3D11_FILTER)(((bComparison) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \
 1282                    (((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \
 1283                    (((mag)&D3D11_FILTER_TYPE_MASK) << D3D11_MAG_FILTER_SHIFT) | \
 1284                    (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))
 1285#define D3D11_ENCODE_ANISOTROPIC_FILTER(bComparison) \
 1286    ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | \
 1287                    D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR,D3D11_FILTER_TYPE_LINEAR, \
 1288                                              D3D11_FILTER_TYPE_LINEAR,bComparison)))
 1289#define D3D11_DECODE_MIN_FILTER(d3d11Filter) \
 1290    ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
 1291#define D3D11_DECODE_MAG_FILTER(d3d11Filter) \
 1292    ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MAG_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
 1293#define D3D11_DECODE_MIP_FILTER(d3d11Filter) \
 1294    ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
 1295#define D3D11_DECODE_IS_COMPARISON_FILTER(d3d11Filter) ((d3d11Filter) & D3D11_COMPARISON_FILTERING_BIT)
 1296#define D3D11_DECODE_IS_ANISOTROPIC_FILTER(d3d11Filter) \
 1297    (((d3d11Filter) & D3D11_ANISOTROPIC_FILTERING_BIT ) \
 1298     && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER(d3d11Filter)) \
 1299     && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER(d3d11Filter)) \
 1300     && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER(d3d11Filter)))
 1301typedef enum D3D11_FILTER {
 1302    D3D11_FILTER_MIN_MAG_MIP_POINT = 0x0,
 1303    D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
 1304    D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
 1305    D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
 1306    D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
 1307    D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
 1308    D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
 1309    D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
 1310    D3D11_FILTER_ANISOTROPIC = 0x55,
 1311    D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
 1312    D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
 1313    D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
 1314    D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
 1315    D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
 1316    D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
 1317    D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
 1318    D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
 1319    D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
 1320    D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
 1321    D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
 1322    D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
 1323    D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
 1324    D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
 1325    D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
 1326    D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
 1327    D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
 1328    D3D11_FILTER_MINIMUM_ANISOTROPIC = 0x155,
 1329    D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
 1330    D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
 1331    D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
 1332    D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
 1333    D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
 1334    D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
 1335    D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
 1336    D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
 1337    D3D11_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
 1338} D3D11_FILTER;
 1339typedef enum D3D11_DSV_FLAG {
 1340    D3D11_DSV_READ_ONLY_DEPTH = 0x1,
 1341    D3D11_DSV_READ_ONLY_STENCIL = 0x2
 1342} D3D11_DSV_FLAG;
 1343typedef enum D3D11_BUFFEREX_SRV_FLAG {
 1344    D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1
 1345} D3D11_BUFFEREX_SRV_FLAG;
 1346typedef enum D3D11_UAV_FLAG {
 1347    D3D11_BUFFER_UAV_FLAG_RAW = 0x1,
 1348    D3D11_BUFFER_UAV_FLAG_APPEND = 0x2,
 1349    D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4
 1350} D3D11_UAV_FLAG;
 1351typedef enum D3D11_INPUT_CLASSIFICATION {
 1352    D3D11_INPUT_PER_VERTEX_DATA = 0,
 1353    D3D11_INPUT_PER_INSTANCE_DATA = 1
 1354} D3D11_INPUT_CLASSIFICATION;
 1355#define D3D11_APPEND_ALIGNED_ELEMENT (0xffffffff)
 1356
 1357typedef struct D3D11_INPUT_ELEMENT_DESC {
 1358    LPCSTR SemanticName;
 1359    UINT SemanticIndex;
 1360    DXGI_FORMAT Format;
 1361    UINT InputSlot;
 1362    UINT AlignedByteOffset;
 1363    D3D11_INPUT_CLASSIFICATION InputSlotClass;
 1364    UINT InstanceDataStepRate;
 1365} D3D11_INPUT_ELEMENT_DESC;
 1366typedef enum D3D11_MAP {
 1367    D3D11_MAP_READ = 1,
 1368    D3D11_MAP_WRITE = 2,
 1369    D3D11_MAP_READ_WRITE = 3,
 1370    D3D11_MAP_WRITE_DISCARD = 4,
 1371    D3D11_MAP_WRITE_NO_OVERWRITE = 5
 1372} D3D11_MAP;
 1373typedef enum D3D11_MAP_FLAG {
 1374    D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000
 1375} D3D11_MAP_FLAG;
 1376typedef enum D3D11_RAISE_FLAG {
 1377    D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1
 1378} D3D11_RAISE_FLAG;
 1379typedef struct D3D11_QUERY_DATA_SO_STATISTICS {
 1380    UINT64 NumPrimitivesWritten;
 1381    UINT64 PrimitivesStorageNeeded;
 1382} D3D11_QUERY_DATA_SO_STATISTICS;
 1383typedef struct D3D11_MAPPED_SUBRESOURCE {
 1384    void *pData;
 1385    UINT RowPitch;
 1386    UINT DepthPitch;
 1387} D3D11_MAPPED_SUBRESOURCE;
 1388typedef enum D3D11_QUERY {
 1389    D3D11_QUERY_EVENT = 0,
 1390    D3D11_QUERY_OCCLUSION = 1,
 1391    D3D11_QUERY_TIMESTAMP = 2,
 1392    D3D11_QUERY_TIMESTAMP_DISJOINT = 3,
 1393    D3D11_QUERY_PIPELINE_STATISTICS = 4,
 1394    D3D11_QUERY_OCCLUSION_PREDICATE = 5,
 1395    D3D11_QUERY_SO_STATISTICS = 6,
 1396    D3D11_QUERY_SO_OVERFLOW_PREDICATE = 7,
 1397    D3D11_QUERY_SO_STATISTICS_STREAM0 = 8,
 1398    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = 9,
 1399    D3D11_QUERY_SO_STATISTICS_STREAM1 = 10,
 1400    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = 11,
 1401    D3D11_QUERY_SO_STATISTICS_STREAM2 = 12,
 1402    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = 13,
 1403    D3D11_QUERY_SO_STATISTICS_STREAM3 = 14,
 1404    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = 15
 1405} D3D11_QUERY;
 1406typedef enum D3D11_QUERY_MISC_FLAG {
 1407    D3D11_QUERY_MISC_PREDICATEHINT = 0x1
 1408} D3D11_QUERY_MISC_FLAG;
 1409typedef enum D3D11_ASYNC_GETDATA_FLAG {
 1410    D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x1
 1411} D3D11_ASYNC_GETDATA_FLAG;
 1412typedef enum D3D11_RESOURCE_MISC_FLAG {
 1413    D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1,
 1414    D3D11_RESOURCE_MISC_SHARED = 0x2,
 1415    D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4,
 1416    D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10,
 1417    D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20,
 1418    D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40,
 1419    D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80,
 1420    D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100,
 1421    D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200,
 1422    D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800,
 1423    D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000,
 1424    D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000,
 1425    D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000,
 1426    D3D11_RESOURCE_MISC_GUARDED = 0x8000,
 1427    D3D11_RESOURCE_MISC_TILE_POOL = 0x20000,
 1428    D3D11_RESOURCE_MISC_TILED = 0x40000,
 1429    D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000,
 1430    D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE = 0x100000,
 1431    D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER = 0x200000
 1432} D3D11_RESOURCE_MISC_FLAG;
 1433typedef struct D3D11_QUERY_DESC {
 1434    D3D11_QUERY Query;
 1435    UINT MiscFlags;
 1436} D3D11_QUERY_DESC;
 1437#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 1438struct CD3D11_QUERY_DESC : public D3D11_QUERY_DESC {
 1439    CD3D11_QUERY_DESC() {}
 1440    ~CD3D11_QUERY_DESC() {}
 1441    explicit CD3D11_QUERY_DESC(const D3D11_QUERY_DESC &other) : D3D11_QUERY_DESC(other) {}
 1442    explicit CD3D11_QUERY_DESC(D3D11_QUERY query, UINT misc_flags = 0) {
 1443        Query = query;
 1444        MiscFlags = misc_flags;
 1445    }
 1446    operator const D3D11_QUERY_DESC&() const {
 1447        return *this;
 1448    }
 1449};
 1450#endif
 1451typedef struct D3D11_RASTERIZER_DESC {
 1452    D3D11_FILL_MODE FillMode;
 1453    D3D11_CULL_MODE CullMode;
 1454    WINBOOL FrontCounterClockwise;
 1455    INT DepthBias;
 1456    FLOAT DepthBiasClamp;
 1457    FLOAT SlopeScaledDepthBias;
 1458    WINBOOL DepthClipEnable;
 1459    WINBOOL ScissorEnable;
 1460    WINBOOL MultisampleEnable;
 1461    WINBOOL AntialiasedLineEnable;
 1462} D3D11_RASTERIZER_DESC;
 1463#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 1464struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC {
 1465    CD3D11_RASTERIZER_DESC() {}
 1466    explicit CD3D11_RASTERIZER_DESC(const D3D11_RASTERIZER_DESC &o) : D3D11_RASTERIZER_DESC(o) {}
 1467    explicit CD3D11_RASTERIZER_DESC(CD3D11_DEFAULT) {
 1468        FillMode = D3D11_FILL_SOLID;
 1469        CullMode = D3D11_CULL_BACK;
 1470        FrontCounterClockwise = FALSE;
 1471        DepthBias = D3D11_DEFAULT_DEPTH_BIAS;
 1472        DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;
 1473        SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
 1474        DepthClipEnable = TRUE;
 1475        ScissorEnable = FALSE;
 1476        MultisampleEnable = FALSE;
 1477        AntialiasedLineEnable = FALSE;
 1478    }
 1479    explicit CD3D11_RASTERIZER_DESC(D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode,
 1480            WINBOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias,
 1481            BOOL depthClipEnable, WINBOOL scissorEnable, WINBOOL multisampleEnable, WINBOOL antialiasedLineEnable) {
 1482        FillMode = fillMode;
 1483        CullMode = cullMode;
 1484        FrontCounterClockwise = frontCounterClockwise;
 1485        DepthBias = depthBias;
 1486        DepthBiasClamp = depthBiasClamp;
 1487        SlopeScaledDepthBias = slopeScaledDepthBias;
 1488        DepthClipEnable = depthClipEnable;
 1489        ScissorEnable = scissorEnable;
 1490        MultisampleEnable = multisampleEnable;
 1491        AntialiasedLineEnable = antialiasedLineEnable;
 1492    }
 1493    ~CD3D11_RASTERIZER_DESC() {}
 1494    operator const D3D11_RASTERIZER_DESC&() const { return *this; }
 1495};
 1496#endif
 1497typedef enum D3D11_RESOURCE_DIMENSION {
 1498    D3D11_RESOURCE_DIMENSION_UNKNOWN = 0,
 1499    D3D11_RESOURCE_DIMENSION_BUFFER = 1,
 1500    D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2,
 1501    D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3,
 1502    D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4
 1503} D3D11_RESOURCE_DIMENSION;
 1504typedef enum D3D11_RTV_DIMENSION {
 1505    D3D11_RTV_DIMENSION_UNKNOWN = 0,
 1506    D3D11_RTV_DIMENSION_BUFFER = 1,
 1507    D3D11_RTV_DIMENSION_TEXTURE1D = 2,
 1508    D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3,
 1509    D3D11_RTV_DIMENSION_TEXTURE2D = 4,
 1510    D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5,
 1511    D3D11_RTV_DIMENSION_TEXTURE2DMS = 6,
 1512    D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
 1513    D3D11_RTV_DIMENSION_TEXTURE3D = 8
 1514} D3D11_RTV_DIMENSION;
 1515typedef struct D3D11_SO_DECLARATION_ENTRY {
 1516    UINT Stream;
 1517    LPCSTR SemanticName;
 1518    UINT SemanticIndex;
 1519    BYTE StartComponent;
 1520    BYTE ComponentCount;
 1521    BYTE OutputSlot;
 1522} D3D11_SO_DECLARATION_ENTRY;
 1523typedef enum D3D11_STENCIL_OP {
 1524    D3D11_STENCIL_OP_KEEP = 1,
 1525    D3D11_STENCIL_OP_ZERO = 2,
 1526    D3D11_STENCIL_OP_REPLACE = 3,
 1527    D3D11_STENCIL_OP_INCR_SAT = 4,
 1528    D3D11_STENCIL_OP_DECR_SAT = 5,
 1529    D3D11_STENCIL_OP_INVERT = 6,
 1530    D3D11_STENCIL_OP_INCR = 7,
 1531    D3D11_STENCIL_OP_DECR = 8
 1532} D3D11_STENCIL_OP;
 1533#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 1534}
 1535inline UINT D3D11CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) {
 1536    return MipSlice + ArraySlice * MipLevels;
 1537}
 1538extern "C"{
 1539#endif
 1540typedef struct D3D11_SUBRESOURCE_DATA {
 1541    const void *pSysMem;
 1542    UINT SysMemPitch;
 1543    UINT SysMemSlicePitch;
 1544} D3D11_SUBRESOURCE_DATA;
 1545typedef struct D3D11_TEX1D_ARRAY_DSV {
 1546    UINT MipSlice;
 1547    UINT FirstArraySlice;
 1548    UINT ArraySize;
 1549} D3D11_TEX1D_ARRAY_DSV;
 1550typedef struct D3D11_TEX1D_ARRAY_RTV {
 1551    UINT MipSlice;
 1552    UINT FirstArraySlice;
 1553    UINT ArraySize;
 1554} D3D11_TEX1D_ARRAY_RTV;
 1555typedef struct D3D11_TEX1D_ARRAY_SRV {
 1556    UINT MostDetailedMip;
 1557    UINT MipLevels;
 1558    UINT FirstArraySlice;
 1559    UINT ArraySize;
 1560} D3D11_TEX1D_ARRAY_SRV;
 1561typedef struct D3D11_TEX1D_ARRAY_UAV {
 1562    UINT MipSlice;
 1563    UINT FirstArraySlice;
 1564    UINT ArraySize;
 1565} D3D11_TEX1D_ARRAY_UAV;
 1566typedef struct D3D11_TEX1D_DSV {
 1567    UINT MipSlice;
 1568} D3D11_TEX1D_DSV;
 1569typedef struct D3D11_TEX1D_RTV {
 1570    UINT MipSlice;
 1571} D3D11_TEX1D_RTV;
 1572typedef struct D3D11_TEX1D_SRV {
 1573    UINT MostDetailedMip;
 1574    UINT MipLevels;
 1575} D3D11_TEX1D_SRV;
 1576typedef struct D3D11_TEX1D_UAV {
 1577    UINT MipSlice;
 1578} D3D11_TEX1D_UAV;
 1579typedef struct D3D11_TEX2D_ARRAY_DSV {
 1580    UINT MipSlice;
 1581    UINT FirstArraySlice;
 1582    UINT ArraySize;
 1583} D3D11_TEX2D_ARRAY_DSV;
 1584typedef struct D3D11_TEX2D_ARRAY_RTV {
 1585    UINT MipSlice;
 1586    UINT FirstArraySlice;
 1587    UINT ArraySize;
 1588} D3D11_TEX2D_ARRAY_RTV;
 1589typedef struct D3D11_TEX2D_ARRAY_SRV {
 1590    UINT MostDetailedMip;
 1591    UINT MipLevels;
 1592    UINT FirstArraySlice;
 1593    UINT ArraySize;
 1594} D3D11_TEX2D_ARRAY_SRV;
 1595typedef struct D3D11_TEX2D_ARRAY_UAV {
 1596    UINT MipSlice;
 1597    UINT FirstArraySlice;
 1598    UINT ArraySize;
 1599} D3D11_TEX2D_ARRAY_UAV;
 1600typedef struct D3D11_TEX2D_DSV {
 1601    UINT MipSlice;
 1602} D3D11_TEX2D_DSV;
 1603typedef struct D3D11_TEX2D_RTV {
 1604    UINT MipSlice;
 1605} D3D11_TEX2D_RTV;
 1606typedef struct D3D11_TEX2D_SRV {
 1607    UINT MostDetailedMip;
 1608    UINT MipLevels;
 1609} D3D11_TEX2D_SRV;
 1610typedef struct D3D11_TEX2D_UAV {
 1611    UINT MipSlice;
 1612} D3D11_TEX2D_UAV;
 1613typedef struct D3D11_TEX2DMS_ARRAY_DSV {
 1614    UINT FirstArraySlice;
 1615    UINT ArraySize;
 1616} D3D11_TEX2DMS_ARRAY_DSV;
 1617typedef struct D3D11_TEX2DMS_ARRAY_RTV {
 1618    UINT FirstArraySlice;
 1619    UINT ArraySize;
 1620} D3D11_TEX2DMS_ARRAY_RTV;
 1621typedef struct D3D11_TEX2DMS_ARRAY_SRV {
 1622    UINT FirstArraySlice;
 1623    UINT ArraySize;
 1624} D3D11_TEX2DMS_ARRAY_SRV;
 1625typedef struct D3D11_TEX2DMS_DSV {
 1626    UINT UnusedField_NothingToDefine;
 1627} D3D11_TEX2DMS_DSV;
 1628typedef struct D3D11_TEX2DMS_RTV {
 1629    UINT UnusedField_NothingToDefine;
 1630} D3D11_TEX2DMS_RTV;
 1631typedef struct D3D11_TEX2DMS_SRV {
 1632    UINT UnusedField_NothingToDefine;
 1633} D3D11_TEX2DMS_SRV;
 1634typedef struct D3D11_TEX3D_RTV {
 1635    UINT MipSlice;
 1636    UINT FirstWSlice;
 1637    UINT WSize;
 1638} D3D11_TEX3D_RTV;
 1639typedef struct D3D11_TEX3D_SRV {
 1640    UINT MostDetailedMip;
 1641    UINT MipLevels;
 1642} D3D11_TEX3D_SRV;
 1643typedef struct D3D11_TEX3D_UAV {
 1644    UINT MipSlice;
 1645    UINT FirstWSlice;
 1646    UINT WSize;
 1647} D3D11_TEX3D_UAV;
 1648typedef struct D3D11_TEXCUBE_ARRAY_SRV {
 1649    UINT MostDetailedMip;
 1650    UINT MipLevels;
 1651    UINT First2DArrayFace;
 1652    UINT NumCubes;
 1653} D3D11_TEXCUBE_ARRAY_SRV;
 1654typedef struct D3D11_TEXCUBE_SRV {
 1655    UINT MostDetailedMip;
 1656    UINT MipLevels;
 1657} D3D11_TEXCUBE_SRV;
 1658typedef enum D3D11_TEXTURE_ADDRESS_MODE {
 1659    D3D11_TEXTURE_ADDRESS_WRAP = 1,
 1660    D3D11_TEXTURE_ADDRESS_MIRROR = 2,
 1661    D3D11_TEXTURE_ADDRESS_CLAMP = 3,
 1662    D3D11_TEXTURE_ADDRESS_BORDER = 4,
 1663    D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5
 1664} D3D11_TEXTURE_ADDRESS_MODE;
 1665typedef enum D3D11_UAV_DIMENSION {
 1666    D3D11_UAV_DIMENSION_UNKNOWN = 0,
 1667    D3D11_UAV_DIMENSION_BUFFER = 1,
 1668    D3D11_UAV_DIMENSION_TEXTURE1D = 2,
 1669    D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3,
 1670    D3D11_UAV_DIMENSION_TEXTURE2D = 4,
 1671    D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5,
 1672    D3D11_UAV_DIMENSION_TEXTURE3D = 8
 1673} D3D11_UAV_DIMENSION;
 1674typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC {
 1675    DXGI_FORMAT Format;
 1676    D3D11_UAV_DIMENSION ViewDimension;
 1677    __C89_NAMELESS union {
 1678        D3D11_BUFFER_UAV Buffer;
 1679        D3D11_TEX1D_UAV Texture1D;
 1680        D3D11_TEX1D_ARRAY_UAV Texture1DArray;
 1681        D3D11_TEX2D_UAV Texture2D;
 1682        D3D11_TEX2D_ARRAY_UAV Texture2DArray;
 1683        D3D11_TEX3D_UAV Texture3D;
 1684    } __C89_NAMELESSUNIONNAME;
 1685} D3D11_UNORDERED_ACCESS_VIEW_DESC;
 1686typedef enum D3D11_USAGE {
 1687    D3D11_USAGE_DEFAULT = 0,
 1688    D3D11_USAGE_IMMUTABLE = 1,
 1689    D3D11_USAGE_DYNAMIC = 2,
 1690    D3D11_USAGE_STAGING = 3
 1691} D3D11_USAGE;
 1692typedef enum D3D11_BIND_FLAG {
 1693    D3D11_BIND_VERTEX_BUFFER = 0x1,
 1694    D3D11_BIND_INDEX_BUFFER = 0x2,
 1695    D3D11_BIND_CONSTANT_BUFFER = 0x4,
 1696    D3D11_BIND_SHADER_RESOURCE = 0x8,
 1697    D3D11_BIND_STREAM_OUTPUT = 0x10,
 1698    D3D11_BIND_RENDER_TARGET = 0x20,
 1699    D3D11_BIND_DEPTH_STENCIL = 0x40,
 1700    D3D11_BIND_UNORDERED_ACCESS = 0x80,
 1701    D3D11_BIND_DECODER = 0x200,
 1702    D3D11_BIND_VIDEO_ENCODER = 0x400
 1703} D3D11_BIND_FLAG;
 1704typedef enum D3D11_CPU_ACCESS_FLAG {
 1705    D3D11_CPU_ACCESS_WRITE = 0x10000,
 1706    D3D11_CPU_ACCESS_READ = 0x20000
 1707} D3D11_CPU_ACCESS_FLAG;
 1708typedef struct D3D11_VIEWPORT {
 1709    FLOAT TopLeftX;
 1710    FLOAT TopLeftY;
 1711    FLOAT Width;
 1712    FLOAT Height;
 1713    FLOAT MinDepth;
 1714    FLOAT MaxDepth;
 1715} D3D11_VIEWPORT;
 1716typedef enum D3D11_COLOR_WRITE_ENABLE {
 1717    D3D11_COLOR_WRITE_ENABLE_RED = 1,
 1718    D3D11_COLOR_WRITE_ENABLE_GREEN = 2,
 1719    D3D11_COLOR_WRITE_ENABLE_BLUE = 4,
 1720    D3D11_COLOR_WRITE_ENABLE_ALPHA = 8,
 1721    D3D11_COLOR_WRITE_ENABLE_ALL = ((D3D11_COLOR_WRITE_ENABLE_RED | D3D11_COLOR_WRITE_ENABLE_GREEN) | D3D11_COLOR_WRITE_ENABLE_BLUE) | D3D11_COLOR_WRITE_ENABLE_ALPHA
 1722} D3D11_COLOR_WRITE_ENABLE;
 1723typedef enum D3D11_FORMAT_SUPPORT {
 1724    D3D11_FORMAT_SUPPORT_BUFFER = 0x1,
 1725    D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2,
 1726    D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4,
 1727    D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x8,
 1728    D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x10,
 1729    D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x20,
 1730    D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x40,
 1731    D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x80,
 1732    D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x100,
 1733    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200,
 1734    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400,
 1735    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800,
 1736    D3D11_FORMAT_SUPPORT_MIP = 0x1000,
 1737    D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000,
 1738    D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x4000,
 1739    D3D11_FORMAT_SUPPORT_BLENDABLE = 0x8000,
 1740    D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000,
 1741    D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000,
 1742    D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000,
 1743    D3D11_FORMAT_SUPPORT_DISPLAY = 0x80000,
 1744    D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000,
 1745    D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000,
 1746    D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000,
 1747    D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x800000,
 1748    D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000,
 1749    D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
 1750    D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x4000000,
 1751    D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x8000000,
 1752    D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
 1753    D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000,
 1754    D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000
 1755} D3D11_FORMAT_SUPPORT;
 1756typedef enum D3D11_FORMAT_SUPPORT2 {
 1757    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
 1758    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
 1759    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
 1760    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
 1761    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
 1762    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
 1763    D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
 1764    D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80,
 1765    D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100,
 1766    D3D11_FORMAT_SUPPORT2_TILED = 0x200,
 1767    D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x400,
 1768    D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000
 1769} D3D11_FORMAT_SUPPORT2;
 1770typedef enum D3D11_CLEAR_FLAG {
 1771    D3D11_CLEAR_DEPTH = 0x1,
 1772    D3D11_CLEAR_STENCIL = 0x2
 1773} D3D11_CLEAR_FLAG;
 1774typedef struct D3D11_RENDER_TARGET_BLEND_DESC {
 1775    WINBOOL BlendEnable;
 1776    D3D11_BLEND SrcBlend;
 1777    D3D11_BLEND DestBlend;
 1778    D3D11_BLEND_OP BlendOp;
 1779    D3D11_BLEND SrcBlendAlpha;
 1780    D3D11_BLEND DestBlendAlpha;
 1781    D3D11_BLEND_OP BlendOpAlpha;
 1782    UINT8 RenderTargetWriteMask;
 1783} D3D11_RENDER_TARGET_BLEND_DESC;
 1784typedef struct D3D11_BLEND_DESC {
 1785    WINBOOL AlphaToCoverageEnable;
 1786    WINBOOL IndependentBlendEnable;
 1787    D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[8];
 1788} D3D11_BLEND_DESC;
 1789#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 1790struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC {
 1791    CD3D11_BLEND_DESC() {}
 1792    explicit CD3D11_BLEND_DESC(const D3D11_BLEND_DESC &o) : D3D11_BLEND_DESC(o) {}
 1793    explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {
 1794        AlphaToCoverageEnable = FALSE;
 1795        IndependentBlendEnable = FALSE;
 1796        for(D3D11_RENDER_TARGET_BLEND_DESC *target = RenderTarget;
 1797                target < RenderTarget + D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT;
 1798                target++) {
 1799            target->BlendEnable = FALSE;
 1800            target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;
 1801            target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;
 1802            target->BlendOp = target->BlendOpAlpha = D3D11_BLEND_OP_ADD;
 1803            target->RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
 1804        }
 1805    }
 1806    ~CD3D11_BLEND_DESC() {}
 1807    operator const D3D11_BLEND_DESC&() const { return *this; }
 1808};
 1809#endif
 1810typedef struct D3D11_BUFFER_DESC {
 1811    UINT ByteWidth;
 1812    D3D11_USAGE Usage;
 1813    UINT BindFlags;
 1814    UINT CPUAccessFlags;
 1815    UINT MiscFlags;
 1816    UINT StructureByteStride;
 1817} D3D11_BUFFER_DESC;
 1818#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 1819struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC {
 1820    CD3D11_BUFFER_DESC() {}
 1821    explicit CD3D11_BUFFER_DESC(const D3D11_BUFFER_DESC &o) : D3D11_BUFFER_DESC(o) {}
 1822    explicit CD3D11_BUFFER_DESC(UINT byteWidth,UINT bindFlags,
 1823            D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0,
 1824            UINT miscFlags = 0, UINT structureByteStride = 0 ) {
 1825        ByteWidth = byteWidth;
 1826        Usage = usage;
 1827        BindFlags = bindFlags;
 1828        CPUAccessFlags = cpuaccessFlags;
 1829        MiscFlags = miscFlags;
 1830        StructureByteStride = structureByteStride;
 1831    }
 1832    ~CD3D11_BUFFER_DESC() {}
 1833    operator const D3D11_BUFFER_DESC&() const { return *this; }
 1834};
 1835#endif
 1836typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC {
 1837    DXGI_FORMAT Format;
 1838    D3D11_DSV_DIMENSION ViewDimension;
 1839    UINT Flags;
 1840    __C89_NAMELESS union {
 1841        D3D11_TEX1D_DSV Texture1D;
 1842        D3D11_TEX1D_ARRAY_DSV Texture1DArray;
 1843        D3D11_TEX2D_DSV Texture2D;
 1844        D3D11_TEX2D_ARRAY_DSV Texture2DArray;
 1845        D3D11_TEX2DMS_DSV Texture2DMS;
 1846        D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
 1847    } __C89_NAMELESSUNIONNAME;
 1848} D3D11_DEPTH_STENCIL_VIEW_DESC;
 1849typedef struct D3D11_DEPTH_STENCILOP_DESC {
 1850    D3D11_STENCIL_OP StencilFailOp;
 1851    D3D11_STENCIL_OP StencilDepthFailOp;
 1852    D3D11_STENCIL_OP StencilPassOp;
 1853    D3D11_COMPARISON_FUNC StencilFunc;
 1854} D3D11_DEPTH_STENCILOP_DESC;
 1855typedef struct D3D11_DEPTH_STENCIL_DESC {
 1856    WINBOOL DepthEnable;
 1857    D3D11_DEPTH_WRITE_MASK DepthWriteMask;
 1858    D3D11_COMPARISON_FUNC DepthFunc;
 1859    WINBOOL StencilEnable;
 1860    UINT8 StencilReadMask;
 1861    UINT8 StencilWriteMask;
 1862    D3D11_DEPTH_STENCILOP_DESC FrontFace;
 1863    D3D11_DEPTH_STENCILOP_DESC BackFace;
 1864} D3D11_DEPTH_STENCIL_DESC;
 1865#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
 1866struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC {
 1867    CD3D11_DEPTH_STENCIL_DESC() {}
 1868    explicit CD3D11_DEPTH_STENCIL_DESC(const D3D11_DEPTH_STENCIL_DESC &other) : D3D11_DEPTH_STENCIL_DESC(other) {}
 1869    explicit CD3D11_DEPTH_STENCIL_DESC(CD3D11_DEFAULT) {
 1870        const D3D11_DEPTH_STENCILOP_DESC default_op =
 1871            {D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_COMPARISON_ALWAYS};
 1872        DepthEnable = TRUE;
 1873        DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;
 1874        DepthFunc = D3D11_COMPARISON_LESS;
 1875        StencilEnable = FALSE;
 1876        StencilReadMask = D3D11_DEFAULT_STENCIL_READ_MASK;
 1877        StencilWriteMask = D3D11_DEFAULT_STENCIL_WRITE_MASK;
 1878        FrontFace = default_op;
 1879        BackFace = default_op;
 1880    }
 1881    explicit CD3D11_DEPTH_STENCIL_DESC(
 1882            WINBOOL depth_enable,
 1883            D3D11_DEPTH_WRITE_MASK depth_write_mask,
 1884            D3D11_COMPARISON_FUNC depth_func,
 1885            WINBOOL stencil_enable,
 1886            UINT8 stencil_read_mask,
 1887            UINT8 stencil_write_mask,
 1888            D3D11_STENCIL_OP front_stencil_fail_op,
 1889            D3D11_STENCIL_OP front_stencil_depth_fail_op,
 1890            D3D11_STENCIL_OP front_stencil_pass_op,
 1891            D3D11_COMPARISON_FUNC front_stencil_func,
 1892            D3D11_STENCIL_OP back_stencil_fail_op,
 1893            D3D11_STENCIL_OP back_stencil_depth_fail_op,
 1894            D3D11_STENCIL_OP back_stencil_pass_op,
 1895            D3D11_COMPARISON_FUNC back_stencil_func) {
 1896        DepthEnable = depth_enable;
 1897        DepthWriteMask = depth_write_mask;
 1898        DepthFunc = depth_func;
 1899        StencilEnable = stencil_enable;
 1900        StencilReadMask = stencil_read_mask;
 1901        StencilWriteMask = stencil_write_mask;
 1902        FrontFace.StencilFailOp = front_stencil_fail_op;
 1903        FrontFace.StencilDepthFailOp = front_stencil_depth_fail_op;
 1904        FrontFace.StencilPassOp = front_stencil_pass_op;
 1905        FrontFace.StencilFunc = front_stencil_func;
 1906        BackFace.StencilFailOp = back_stencil_fail_op;
 1907        BackFace.StencilDepthFailOp = back_stencil_depth_fail_op;
 1908        BackFace.StencilPassOp = back_stencil_pass_op;
 1909        BackFace.StencilFunc = back_stencil_func;
 1910    }
 1911    ~CD3D11_DEPTH_STENCIL_DESC() {}
 1912    operator const D3D11_DEPTH_STENCIL_DESC&() const { return *this; }
 1913};
 1914#endif
 1915typedef struct D3D11_RENDER_TARGET_VIEW_DESC {
 1916    DXGI_FORMAT Format;
 1917    D3D11_RTV_DIMENSION ViewDimension;
 1918    __C89_NAMELESS union {
 1919        D3D11_BUFFER_RTV Buffer;
 1920        D3D11_TEX1D_RTV Texture1D;
 1921        D3D11_TEX1D_ARRAY_RTV Texture1DArray;
 1922        D3D11_TEX2D_RTV Texture2D;
 1923        D3D11_TEX2D_ARRAY_RTV Texture2DArray;
 1924        D3D11_TEX2DMS_RTV Texture2DMS;
 1925        D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
 1926        D3D11_TEX3D_RTV Texture3D;
 1927    } __C89_NAMELESSUNIONNAME;
 1928} D3D11_RENDER_TARGET_VIEW_DESC;
 1929#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 1930struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_DESC {
 1931    CD3D11_RENDER_TARGET_VIEW_DESC() {}
 1932    explicit CD3D11_RENDER_TARGET_VIEW_DESC(D3D11_RTV_DIMENSION dim, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
 1933            UINT mip_slice = 0, UINT first_slice = 0, UINT array_size = -1) {
 1934        Format = format;
 1935        ViewDimension = dim;
 1936        switch(dim) {
 1937        case D3D11_RTV_DIMENSION_BUFFER:
 1938            Buffer.FirstElement = mip_slice;
 1939            Buffer.NumElements = first_slice;
 1940            break;
 1941        case D3D11_RTV_DIMENSION_TEXTURE1D:
 1942            Texture1D.MipSlice = mip_slice;
 1943            break;
 1944        case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
 1945            Texture1DArray.MipSlice = mip_slice;
 1946            Texture1DArray.FirstArraySlice = first_slice;
 1947            Texture1DArray.ArraySize = array_size;
 1948            break;
 1949        case D3D11_RTV_DIMENSION_TEXTURE2D:
 1950            Texture2D.MipSlice = mip_slice;
 1951            break;
 1952        case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
 1953            Texture2DArray.MipSlice = mip_slice;
 1954            Texture2DArray.FirstArraySlice = first_slice;
 1955            Texture2DArray.ArraySize = array_size;
 1956            break;
 1957        case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
 1958            Texture2DMSArray.FirstArraySlice = first_slice;
 1959            Texture2DMSArray.ArraySize = array_size;
 1960            break;
 1961        case D3D11_RTV_DIMENSION_TEXTURE3D:
 1962            Texture3D.MipSlice = mip_slice;
 1963            Texture3D.FirstWSlice = first_slice;
 1964            Texture3D.WSize = array_size;
 1965            break;
 1966        default:
 1967            break;
 1968        }
 1969    }
 1970    explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,
 1971            UINT elem_cnt) {
 1972        Format = format;
 1973        ViewDimension = D3D11_RTV_DIMENSION_BUFFER;
 1974        Buffer.FirstElement = first_elem;
 1975        Buffer.NumElements = elem_cnt;
 1976    }
 1977    explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture1D *texture, D3D11_RTV_DIMENSION dim,
 1978            DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,
 1979            UINT array_size = -1);
 1980    explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture2D *texture, D3D11_RTV_DIMENSION dim,
 1981            DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,
 1982            UINT array_size = -1);
 1983    explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
 1984            UINT mip_slice = 0, UINT first_w_slice = 0, UINT w_slice = -1 );
 1985    ~CD3D11_RENDER_TARGET_VIEW_DESC() {}
 1986    explicit CD3D11_RENDER_TARGET_VIEW_DESC(const D3D11_RENDER_TARGET_VIEW_DESC &other)
 1987        : D3D11_RENDER_TARGET_VIEW_DESC(other) {}
 1988    operator const D3D11_RENDER_TARGET_VIEW_DESC&() const {
 1989        return *this;
 1990    }
 1991};
 1992#endif
 1993typedef struct D3D11_SAMPLER_DESC {
 1994    D3D11_FILTER Filter;
 1995    D3D11_TEXTURE_ADDRESS_MODE AddressU;
 1996    D3D11_TEXTURE_ADDRESS_MODE AddressV;
 1997    D3D11_TEXTURE_ADDRESS_MODE AddressW;
 1998    FLOAT MipLODBias;
 1999    UINT MaxAnisotropy;
 2000    D3D11_COMPARISON_FUNC ComparisonFunc;
 2001    FLOAT BorderColor[4];
 2002    FLOAT MinLOD;
 2003    FLOAT MaxLOD;
 2004} D3D11_SAMPLER_DESC;
 2005#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 2006struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC {
 2007    CD3D11_SAMPLER_DESC() {}
 2008    explicit CD3D11_SAMPLER_DESC(const D3D11_SAMPLER_DESC &o) : D3D11_SAMPLER_DESC(o) {}
 2009    explicit CD3D11_SAMPLER_DESC(CD3D11_DEFAULT) {
 2010        Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
 2011        AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;
 2012        AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;
 2013        AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
 2014        MipLODBias = 0;
 2015        MaxAnisotropy = 1;
 2016        ComparisonFunc = D3D11_COMPARISON_NEVER;
 2017        BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;
 2018        MinLOD = -3.402823466e+38f;
 2019        MaxLOD = 3.402823466e+38f;
 2020    }
 2021    explicit CD3D11_SAMPLER_DESC(D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE addressU,
 2022            D3D11_TEXTURE_ADDRESS_MODE addressV, D3D11_TEXTURE_ADDRESS_MODE addressW,
 2023            FLOAT mipLODBias, UINT maxAnisotropy, D3D11_COMPARISON_FUNC comparisonFunc,
 2024            const FLOAT *borderColor, FLOAT minLOD, FLOAT maxLOD) {
 2025        Filter = filter;
 2026        AddressU = addressU;
 2027        AddressV = addressV;
 2028        AddressW = addressW;
 2029        MipLODBias = mipLODBias;
 2030        MaxAnisotropy = maxAnisotropy;
 2031        ComparisonFunc = comparisonFunc;
 2032        if(borderColor) {
 2033            BorderColor[0] = borderColor[0];
 2034            BorderColor[1] = borderColor[1];
 2035            BorderColor[2] = borderColor[2];
 2036            BorderColor[3] = borderColor[3];
 2037        }else {
 2038            BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;
 2039        }
 2040        MinLOD = minLOD;
 2041        MaxLOD = maxLOD;
 2042    }
 2043    ~CD3D11_SAMPLER_DESC() {}
 2044    operator const D3D11_SAMPLER_DESC&() const { return *this; }
 2045};
 2046#endif
 2047typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC {
 2048    DXGI_FORMAT Format;
 2049    D3D11_SRV_DIMENSION ViewDimension;
 2050    __C89_NAMELESS union {
 2051        D3D11_BUFFER_SRV Buffer;
 2052        D3D11_TEX1D_SRV Texture1D;
 2053        D3D11_TEX1D_ARRAY_SRV Texture1DArray;
 2054        D3D11_TEX2D_SRV Texture2D;
 2055        D3D11_TEX2D_ARRAY_SRV Texture2DArray;
 2056        D3D11_TEX2DMS_SRV Texture2DMS;
 2057        D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
 2058        D3D11_TEX3D_SRV Texture3D;
 2059        D3D11_TEXCUBE_SRV TextureCube;
 2060        D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
 2061        D3D11_BUFFEREX_SRV BufferEx;
 2062    } __C89_NAMELESSUNIONNAME;
 2063} D3D11_SHADER_RESOURCE_VIEW_DESC;
 2064#if !defined(D3D11_NO_HELPERS) && defined( __cplusplus )
 2065struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC {
 2066    CD3D11_SHADER_RESOURCE_VIEW_DESC() {}
 2067    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(D3D11_SRV_DIMENSION dim,
 2068            DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0,
 2069            UINT mip_levels = -1, UINT first_slice = 0, UINT array_size = -1, UINT flags = 0) {
 2070        Format = format;
 2071        ViewDimension = dim;
 2072        switch(ViewDimension) {
 2073        case D3D11_SRV_DIMENSION_BUFFER:
 2074            Buffer.FirstElement = most_detailed_mip;
 2075            Buffer.NumElements = mip_levels;
 2076            break;
 2077        case D3D11_SRV_DIMENSION_TEXTURE1D:
 2078            Texture1D.MostDetailedMip = most_detailed_mip;
 2079            Texture1D.MipLevels = mip_levels;
 2080            break;
 2081        case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:
 2082            Texture1DArray.MostDetailedMip = most_detailed_mip;
 2083            Texture1DArray.MipLevels = mip_levels;
 2084            Texture1DArray.FirstArraySlice = first_slice;
 2085            Texture1DArray.ArraySize = array_size;
 2086            break;
 2087        case D3D11_SRV_DIMENSION_TEXTURE2D:
 2088            Texture2D.MostDetailedMip = most_detailed_mip;
 2089            Texture2D.MipLevels = mip_levels;
 2090            break;
 2091        case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:
 2092            Texture2DArray.MostDetailedMip = most_detailed_mip;
 2093            Texture2DArray.MipLevels = mip_levels;
 2094            Texture2DArray.FirstArraySlice = first_slice;
 2095            Texture2DArray.ArraySize = array_size;
 2096            break;
 2097        case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:
 2098            Texture2DMSArray.FirstArraySlice = first_slice;
 2099            Texture2DMSArray.ArraySize = array_size;
 2100            break;
 2101        case D3D11_SRV_DIMENSION_TEXTURE3D:
 2102            Texture3D.MostDetailedMip = most_detailed_mip;
 2103            Texture3D.MipLevels = mip_levels;
 2104            break;
 2105        case D3D11_SRV_DIMENSION_TEXTURECUBE:
 2106            TextureCube.MostDetailedMip = most_detailed_mip;
 2107            TextureCube.MipLevels = mip_levels;
 2108            break;
 2109        case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:
 2110            TextureCubeArray.MostDetailedMip = most_detailed_mip;
 2111            TextureCubeArray.MipLevels = mip_levels;
 2112            TextureCubeArray.First2DArrayFace = first_slice;
 2113            TextureCubeArray.NumCubes = array_size;
 2114            break;
 2115        case D3D11_SRV_DIMENSION_BUFFEREX:
 2116            BufferEx.FirstElement = most_detailed_mip;
 2117            BufferEx.NumElements = mip_levels;
 2118            BufferEx.Flags = flags;
 2119            break;
 2120        default:
 2121            break;
 2122        }
 2123    }
 2124    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,
 2125            UINT elem_cnt, UINT flags = 0);
 2126    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture1D *texture, D3D11_SRV_DIMENSION dim,
 2127            DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,
 2128            UINT first_slice = 0, UINT array_size = -1 );
 2129    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture2D *texture, D3D11_SRV_DIMENSION dim,
 2130            DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,
 2131            UINT first_slice = 0, UINT array_size = -1 );
 2132    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
 2133            UINT most_detailed_mip = 0, UINT mip_levels = -1 );
 2134    ~CD3D11_SHADER_RESOURCE_VIEW_DESC() {}
 2135    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(const D3D11_SHADER_RESOURCE_VIEW_DESC &other)
 2136        : D3D11_SHADER_RESOURCE_VIEW_DESC(other) {}
 2137    operator const D3D11_SHADER_RESOURCE_VIEW_DESC&() const {
 2138        return *this;
 2139    }
 2140};
 2141#endif
 2142typedef struct D3D11_TEXTURE1D_DESC {
 2143    UINT Width;
 2144    UINT MipLevels;
 2145    UINT ArraySize;
 2146    DXGI_FORMAT Format;
 2147    D3D11_USAGE Usage;
 2148    UINT BindFlags;
 2149    UINT CPUAccessFlags;
 2150    UINT MiscFlags;
 2151} D3D11_TEXTURE1D_DESC;
 2152typedef struct D3D11_TEXTURE2D_DESC {
 2153    UINT Width;
 2154    UINT Height;
 2155    UINT MipLevels;
 2156    UINT ArraySize;
 2157    DXGI_FORMAT Format;
 2158    DXGI_SAMPLE_DESC SampleDesc;
 2159    D3D11_USAGE Usage;
 2160    UINT BindFlags;
 2161    UINT CPUAccessFlags;
 2162    UINT MiscFlags;
 2163} D3D11_TEXTURE2D_DESC;
 2164#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 2165struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC {
 2166    CD3D11_TEXTURE2D_DESC() {}
 2167    explicit CD3D11_TEXTURE2D_DESC(const D3D11_TEXTURE2D_DESC &o) : D3D11_TEXTURE2D_DESC(o) {}
 2168    explicit CD3D11_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height, UINT arraySize = 1,
 2169            UINT mipLevels = 0, UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
 2170            D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT sampleCount = 1,
 2171            UINT sampleQuality = 0, UINT miscFlags = 0) {
 2172        Width = width;
 2173        Height = height;
 2174        MipLevels = mipLevels;
 2175        ArraySize = arraySize;
 2176        Format = format;
 2177        SampleDesc.Count = sampleCount;
 2178        SampleDesc.Quality = sampleQuality;
 2179        Usage = usage;
 2180        BindFlags = bindFlags;
 2181        CPUAccessFlags = cpuaccessFlags;
 2182        MiscFlags = miscFlags;
 2183    }
 2184    ~CD3D11_TEXTURE2D_DESC() {}
 2185    operator const D3D11_TEXTURE2D_DESC&() const { return *this; }
 2186};
 2187#endif
 2188typedef struct D3D11_TEXTURE3D_DESC {
 2189    UINT Width;
 2190    UINT Height;
 2191    UINT Depth;
 2192    UINT MipLevels;
 2193    DXGI_FORMAT Format;
 2194    D3D11_USAGE Usage;
 2195    UINT BindFlags;
 2196    UINT CPUAccessFlags;
 2197    UINT MiscFlags;
 2198} D3D11_TEXTURE3D_DESC;
 2199DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_MOCOMP,                      0xe6a9f44b,0x61b0,0x4563,0x9e,0xa4,0x63,0xd2,0xa3,0xc6,0xfe,0x66);
 2200DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_IDCT,                        0xbf22ad00,0x03ea,0x4690,0x80,0x77,0x47,0x33,0x46,0x20,0x9b,0x7e);
 2201DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_VLD,                         0xee27417f,0x5e28,0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);
 2202DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG1_VLD,                         0x6f3ec719,0x3735,0x42cc,0x80,0x63,0x65,0xcc,0x3c,0xb3,0x66,0x16);
 2203DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2and1_VLD,                     0x86695f12,0x340e,0x4f04,0x9f,0xd3,0x92,0x53,0xdd,0x32,0x74,0x60);
 2204DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT,                 0x1b81be64,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2205DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_FGT,                   0x1b81be65,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2206DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_NOFGT,                   0x1b81be66,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2207DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_FGT,                     0x1b81be67,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2208DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_NOFGT,                    0x1b81be68,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2209DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_FGT,                      0x1b81be69,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2210DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT,         0xd5f04ff9,0x3418,0x45d8,0x95,0x61,0x32,0xa7,0x6a,0xae,0x2d,0xdd);
 2211DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, 0xd79be8da,0x0cf1,0x4c81,0xb8,0x2a,0x69,0xa4,0xe2,0x36,0xf4,0x3d);
 2212DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT,             0xf9aaccbb,0xc2b6,0x4cfc,0x87,0x79,0x57,0x07,0xb1,0x76,0x05,0x52);
 2213DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT,          0x705b9d82,0x76cf,0x49d6,0xb7,0xe6,0xac,0x88,0x72,0xdb,0x01,0x3c);
 2214DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_POSTPROC,                     0x1b81be80,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2215DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_MOCOMP,                       0x1b81be81,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2216DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_POSTPROC,                     0x1b81be90,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2217DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_MOCOMP,                       0x1b81be91,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2218DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_IDCT,                         0x1b81be94,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2219DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_POSTPROC,                      0x1b81beA0,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2220DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_MOCOMP,                        0x1b81beA1,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2221DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_IDCT,                          0x1b81beA2,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2222DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_VLD,                           0x1b81beA3,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2223DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_D2010,                         0x1b81beA4,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 2224DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE,               0xefd64d74,0xc9e8,0x41d7,0xa5,0xe9,0xe9,0xb0,0xe3,0x9f,0xa3,0x19);
 2225DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC,      0xed418a9f,0x010d,0x4eda,0x9a,0xe3,0x9a,0x65,0x35,0x8d,0x8d,0x2e);
 2226DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC,        0xab998b5b,0x4258,0x44a9,0x9f,0xeb,0x94,0xe5,0x97,0xa6,0xba,0xae);
 2227DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN,                     0x5b11d51b,0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
 2228DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10,                   0x107af0e0,0xef1a,0x4d19,0xab,0xa8,0x67,0xa1,0x63,0x07,0x3d,0x13);
 2229DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0,                  0x463707f8,0xa1d0,0x4585,0x87,0x6d,0x83,0xaa,0x6d,0x60,0xb8,0x9e);
 2230DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_10BIT_PROFILE2,            0xa4c749ef,0x6ecf,0x48aa,0x84,0x48,0x50,0xa7,0xa1,0x16,0x5f,0xf7);
 2231DEFINE_GUID(D3D11_DECODER_PROFILE_VP8_VLD,                           0x90b899ea,0x3a62,0x4705,0x88,0xb3,0x8d,0xf0,0x4b,0x27,0x44,0xe7);
 2232typedef struct D3D11_VIDEO_DECODER_DESC {
 2233    GUID Guid;
 2234    UINT SampleWidth;
 2235    UINT SampleHeight;
 2236    DXGI_FORMAT OutputFormat;
 2237} D3D11_VIDEO_DECODER_DESC;
 2238typedef struct D3D11_VIDEO_DECODER_CONFIG {
 2239    GUID guidConfigBitstreamEncryption;
 2240    GUID guidConfigMBcontrolEncryption;
 2241    GUID guidConfigResidDiffEncryption;
 2242    UINT ConfigBitstreamRaw;
 2243    UINT ConfigMBcontrolRasterOrder;
 2244    UINT ConfigResidDiffHost;
 2245    UINT ConfigSpatialResid8;
 2246    UINT ConfigResid8Subtraction;
 2247    UINT ConfigSpatialHost8or9Clipping;
 2248    UINT ConfigSpatialResidInterleaved;
 2249    UINT ConfigIntraResidUnsigned;
 2250    UINT ConfigResidDiffAccelerator;
 2251    UINT ConfigHostInverseScan;
 2252    UINT ConfigSpecificIDCT;
 2253    UINT Config4GroupedCoefs;
 2254    USHORT ConfigMinRenderTargetBuffCount;
 2255    USHORT ConfigDecoderSpecific;
 2256} D3D11_VIDEO_DECODER_CONFIG;
 2257typedef enum D3D11_VIDEO_FRAME_FORMAT {
 2258    D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0,
 2259    D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1,
 2260    D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2
 2261} D3D11_VIDEO_FRAME_FORMAT;
 2262typedef enum D3D11_VIDEO_USAGE {
 2263    D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0,
 2264    D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1,
 2265    D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2
 2266} D3D11_VIDEO_USAGE;
 2267typedef struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC {
 2268    D3D11_VIDEO_FRAME_FORMAT InputFrameFormat;
 2269    DXGI_RATIONAL InputFrameRate;
 2270    UINT InputWidth;
 2271    UINT InputHeight;
 2272    DXGI_RATIONAL OutputFrameRate;
 2273    UINT OutputWidth;
 2274    UINT OutputHeight;
 2275    D3D11_VIDEO_USAGE Usage;
 2276} D3D11_VIDEO_PROCESSOR_CONTENT_DESC;
 2277typedef struct D3D11_VIDEO_PROCESSOR_CAPS {
 2278    UINT DeviceCaps;
 2279    UINT FeatureCaps;
 2280    UINT FilterCaps;
 2281    UINT InputFormatCaps;
 2282    UINT AutoStreamCaps;
 2283    UINT StereoCaps;
 2284    UINT RateConversionCapsCount;
 2285    UINT MaxInputStreams;
 2286    UINT MaxStreamStates;
 2287} D3D11_VIDEO_PROCESSOR_CAPS;
 2288typedef struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS {
 2289    UINT PastFrames;
 2290    UINT FutureFrames;
 2291    UINT ProcessorCaps;
 2292    UINT ITelecineCaps;
 2293    UINT CustomRateCount;
 2294} D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS;
 2295typedef struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE {
 2296    DXGI_RATIONAL CustomRate;
 2297    UINT OutputFrames;
 2298    WINBOOL InputInterlaced;
 2299    UINT InputFramesOrFields;
 2300} D3D11_VIDEO_PROCESSOR_CUSTOM_RATE;
 2301typedef enum D3D11_VIDEO_PROCESSOR_FILTER {
 2302    D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0,
 2303    D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1,
 2304    D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2,
 2305    D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3,
 2306    D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4,
 2307    D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5,
 2308    D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6,
 2309    D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7
 2310} D3D11_VIDEO_PROCESSOR_FILTER;
 2311typedef struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE {
 2312    int Minimum;
 2313    int Maximum;
 2314    int Default;
 2315    float Multiplier;
 2316} D3D11_VIDEO_PROCESSOR_FILTER_RANGE;
 2317typedef enum D3D11_AUTHENTICATED_CHANNEL_TYPE {
 2318    D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1,
 2319    D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2,
 2320    D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3
 2321} D3D11_AUTHENTICATED_CHANNEL_TYPE;
 2322typedef enum D3D11_VDOV_DIMENSION {
 2323    D3D11_VDOV_DIMENSION_UNKNOWN = 0,
 2324    D3D11_VDOV_DIMENSION_TEXTURE2D = 1
 2325} D3D11_VDOV_DIMENSION;
 2326typedef struct D3D11_TEX2D_VDOV {
 2327    UINT ArraySlice;
 2328} D3D11_TEX2D_VDOV;
 2329typedef struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC {
 2330    GUID DecodeProfile;
 2331    D3D11_VDOV_DIMENSION ViewDimension;
 2332    __C89_NAMELESS union {
 2333        D3D11_TEX2D_VDOV Texture2D;
 2334    } __C89_NAMELESSUNIONNAME;
 2335} D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC;
 2336typedef enum D3D11_VPIV_DIMENSION {
 2337    D3D11_VPIV_DIMENSION_UNKNOWN = 0,
 2338    D3D11_VPIV_DIMENSION_TEXTURE2D = 1
 2339} D3D11_VPIV_DIMENSION;
 2340typedef struct D3D11_TEX2D_VPIV {
 2341    UINT MipSlice;
 2342    UINT ArraySlice;
 2343} D3D11_TEX2D_VPIV;
 2344typedef struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC {
 2345    UINT FourCC;
 2346    D3D11_VPIV_DIMENSION ViewDimension;
 2347    __C89_NAMELESS union {
 2348        D3D11_TEX2D_VPIV Texture2D;
 2349    } __C89_NAMELESSUNIONNAME;
 2350} D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC;
 2351typedef enum D3D11_VPOV_DIMENSION {
 2352    D3D11_VPOV_DIMENSION_UNKNOWN = 0,
 2353    D3D11_VPOV_DIMENSION_TEXTURE2D = 1,
 2354    D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2
 2355} D3D11_VPOV_DIMENSION;
 2356typedef struct D3D11_TEX2D_VPOV {
 2357    UINT MipSlice;
 2358} D3D11_TEX2D_VPOV;
 2359typedef struct D3D11_TEX2D_ARRAY_VPOV {
 2360    UINT MipSlice;
 2361    UINT FirstArraySlice;
 2362    UINT ArraySize;
 2363} D3D11_TEX2D_ARRAY_VPOV;
 2364typedef struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC {
 2365    D3D11_VPOV_DIMENSION ViewDimension;
 2366    __C89_NAMELESS union {
 2367        D3D11_TEX2D_VPOV Texture2D;
 2368        D3D11_TEX2D_ARRAY_VPOV Texture2DArray;
 2369    } __C89_NAMELESSUNIONNAME;
 2370} D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC;
 2371typedef struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS {
 2372    UINT Caps;
 2373    UINT KeyExchangeTypeCount;
 2374    UINT BlockAlignmentSize;
 2375    ULONGLONG ProtectedMemorySize;
 2376} D3D11_VIDEO_CONTENT_PROTECTION_CAPS;
 2377typedef struct D3D11_ENCRYPTED_BLOCK_INFO {
 2378    UINT NumEncryptedBytesAtBeginning;
 2379    UINT NumBytesInSkipPattern;
 2380    UINT NumBytesInEncryptPattern;
 2381} D3D11_ENCRYPTED_BLOCK_INFO;
 2382typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC {
 2383    D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType;
 2384    UINT BufferIndex;
 2385    UINT DataOffset;
 2386    UINT DataSize;
 2387    UINT FirstMBaddress;
 2388    UINT NumMBsInBuffer;
 2389    UINT Width;
 2390    UINT Height;
 2391    UINT Stride;
 2392    UINT ReservedBits;
 2393    void *pIV;
 2394    UINT IVSize;
 2395    WINBOOL PartialEncryption;
 2396    D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo;
 2397} D3D11_VIDEO_DECODER_BUFFER_DESC;
 2398typedef struct D3D11_VIDEO_DECODER_EXTENSION {
 2399    UINT Function;
 2400    void *pPrivateInputData;
 2401    UINT PrivateInputDataSize;
 2402    void *pPrivateOutputData;
 2403    UINT PrivateOutputDataSize;
 2404    UINT ResourceCount;
 2405    ID3D11Resource **ppResourceList;
 2406} D3D11_VIDEO_DECODER_EXTENSION;
 2407typedef struct D3D11_VIDEO_COLOR_YCbCrA {
 2408    float Y;
 2409    float Cb;
 2410    float Cr;
 2411    float A;
 2412} D3D11_VIDEO_COLOR_YCbCrA;
 2413typedef struct D3D11_VIDEO_COLOR_RGBA {
 2414    float R;
 2415    float G;
 2416    float B;
 2417    float A;
 2418} D3D11_VIDEO_COLOR_RGBA;
 2419typedef struct D3D11_VIDEO_COLOR {
 2420    __C89_NAMELESS union {
 2421        D3D11_VIDEO_COLOR_YCbCrA YCbCr;
 2422        D3D11_VIDEO_COLOR_RGBA RGBA;
 2423    } __C89_NAMELESSUNIONNAME;
 2424} D3D11_VIDEO_COLOR;
 2425typedef struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE {
 2426    UINT Usage : 1;
 2427    UINT RGB_Range : 1;
 2428    UINT YCbCr_Matrix : 1;
 2429    UINT YCbCr_xvYCC : 1;
 2430    UINT Nominal_Range : 2;
 2431    UINT Reserved : 26;
 2432} D3D11_VIDEO_PROCESSOR_COLOR_SPACE;
 2433typedef struct D3D11_VIDEO_PROCESSOR_STREAM {
 2434    WINBOOL Enable;
 2435    UINT OutputIndex;
 2436    UINT InputFrameOrField;
 2437    UINT PastFrames;
 2438    UINT FutureFrames;
 2439    ID3D11VideoProcessorInputView **ppPastSurfaces;
 2440    ID3D11VideoProcessorInputView *pInputSurface;
 2441    ID3D11VideoProcessorInputView **ppFutureSurfaces;
 2442    ID3D11VideoProcessorInputView **ppPastSurfacesRight;
 2443    ID3D11VideoProcessorInputView *pInputSurfaceRight;
 2444    ID3D11VideoProcessorInputView **ppFutureSurfacesRight;
 2445} D3D11_VIDEO_PROCESSOR_STREAM;
 2446typedef struct D3D11_OMAC {
 2447    BYTE Omac[16];
 2448} D3D11_OMAC;
 2449typedef struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT {
 2450    D3D11_OMAC omac;
 2451    GUID ConfigureType;
 2452    HANDLE hChannel;
 2453    UINT SequenceNumber;
 2454    HRESULT ReturnCode;
 2455} D3D11_AUTHENTICATED_CONFIGURE_OUTPUT;
 2456typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT {
 2457    UINT64 Frequency;
 2458    WINBOOL Disjoint;
 2459} D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;
 2460typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS {
 2461    UINT64 IAVertices;
 2462    UINT64 IAPrimitives;
 2463    UINT64 VSInvocations;
 2464    UINT64 GSInvocations;
 2465    UINT64 GSPrimitives;
 2466    UINT64 CInvocations;
 2467    UINT64 CPrimitives;
 2468    UINT64 PSInvocations;
 2469    UINT64 HSInvocations;
 2470    UINT64 DSInvocations;
 2471    UINT64 CSInvocations;
 2472} D3D11_QUERY_DATA_PIPELINE_STATISTICS;
 2473typedef struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS {
 2474    UINT VertexCountPerInstance;
 2475    UINT InstanceCount;
 2476    UINT StartVertexLocation;
 2477    UINT StartInstanceLocation;
 2478} D3D11_DRAW_INSTANCED_INDIRECT_ARGS;
 2479typedef struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS {
 2480    UINT IndexCountPerInstance;
 2481    UINT InstanceCount;
 2482    UINT StartIndexLocation;
 2483    INT BaseVertexLocation;
 2484    UINT StartInstanceLocation;
 2485} D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS;
 2486typedef struct D3D11_AUTHENTICATED_CONFIGURE_INPUT {
 2487    D3D11_OMAC omac;
 2488    GUID ConfigureType;
 2489    HANDLE hChannel;
 2490    UINT SequenceNumber;
 2491} D3D11_AUTHENTICATED_CONFIGURE_INPUT;
 2492typedef struct D3D11_AUTHENTICATED_QUERY_INPUT {
 2493    GUID QueryType;
 2494    HANDLE hChannel;
 2495    UINT SequenceNumber;
 2496} D3D11_AUTHENTICATED_QUERY_INPUT;
 2497typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT {
 2498    D3D11_OMAC omac;
 2499    GUID QueryType;
 2500    HANDLE hChannel;
 2501    UINT SequenceNumber;
 2502    HRESULT ReturnCode;
 2503} D3D11_AUTHENTICATED_QUERY_OUTPUT;
 2504typedef union D3D11_AUTHENTICATED_PROTECTION_FLAGS {
 2505    struct {
 2506        UINT ProtectionEnabled : 1;
 2507        UINT OverlayOrFullscreenRequired : 1;
 2508        UINT Reserved : 30;
 2509    } Flags;
 2510    UINT Value;
 2511} D3D11_AUTHENTICATED_PROTECTION_FLAGS;
 2512typedef struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT {
 2513    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2514    D3D11_AUTHENTICATED_PROTECTION_FLAGS ProtectionFlags;
 2515} D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT;
 2516typedef struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT {
 2517    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2518    D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType;
 2519} D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT;
 2520typedef struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT {
 2521    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2522    HANDLE DeviceHandle;
 2523} D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT;
 2524typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT {
 2525    D3D11_AUTHENTICATED_QUERY_INPUT Input;
 2526    HANDLE DecoderHandle;
 2527} D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT;
 2528typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT {
 2529    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2530    HANDLE DecoderHandle;
 2531    HANDLE CryptoSessionHandle;
 2532    HANDLE DeviceHandle;
 2533} D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT;
 2534typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT {
 2535    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2536    UINT RestrictedSharedResourceProcessCount;
 2537} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT;
 2538typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT {
 2539    D3D11_AUTHENTICATED_QUERY_INPUT Input;
 2540    UINT ProcessIndex;
 2541} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT;
 2542typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT {
 2543    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2544    UINT ProcessIndex;
 2545    D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessIdentifier;
 2546    HANDLE ProcessHandle;
 2547} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT;
 2548typedef struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT {
 2549    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2550    UINT UnrestrictedProtectedSharedResourceCount;
 2551} D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT;
 2552typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT {
 2553    D3D11_AUTHENTICATED_QUERY_INPUT Input;
 2554    HANDLE DeviceHandle;
 2555    HANDLE CryptoSessionHandle;
 2556} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT;
 2557typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT {
 2558    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2559    HANDLE DeviceHandle;
 2560    HANDLE CryptoSessionHandle;
 2561    UINT OutputIDCount;
 2562} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT;
 2563typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT {
 2564    D3D11_AUTHENTICATED_QUERY_INPUT Input;
 2565    HANDLE DeviceHandle;
 2566    HANDLE CryptoSessionHandle;
 2567    UINT OutputIDIndex;
 2568} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT;
 2569typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT {
 2570    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2571    HANDLE DeviceHandle;
 2572    HANDLE CryptoSessionHandle;
 2573    UINT OutputIDIndex;
 2574    UINT64 OutputID;
 2575} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT;
 2576typedef struct D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT {
 2577    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2578    D3D11_BUS_TYPE BusType;
 2579    WINBOOL AccessibleInContiguousBlocks;
 2580    WINBOOL AccessibleInNonContiguousBlocks;
 2581} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT;
 2582typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT {
 2583    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2584    UINT EncryptionGuidCount;
 2585} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT;
 2586typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT {
 2587    D3D11_AUTHENTICATED_QUERY_INPUT Input;
 2588    UINT EncryptionGuidIndex;
 2589} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT;
 2590typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT {
 2591    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2592    UINT EncryptionGuidIndex;
 2593    GUID EncryptionGuid;
 2594} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT;
 2595typedef struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT {
 2596    D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
 2597    GUID EncryptionGuid;
 2598} D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT;
 2599typedef struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT {
 2600    D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
 2601    UINT StartSequenceQuery;
 2602    UINT StartSequenceConfigure;
 2603} D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT;
 2604typedef struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT {
 2605    D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
 2606    D3D11_AUTHENTICATED_PROTECTION_FLAGS Protections;
 2607} D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT;
 2608typedef struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT {
 2609    D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
 2610    HANDLE DecoderHandle;
 2611    HANDLE CryptoSessionHandle;
 2612    HANDLE DeviceHandle;
 2613} D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT;
 2614typedef struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT {
 2615    D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
 2616    D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessType;
 2617    HANDLE ProcessHandle;
 2618    WINBOOL AllowAccess;
 2619} D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT;
 2620typedef struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT {
 2621    D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
 2622    GUID EncryptionGuid;
 2623} D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT;
 2624/*****************************************************************************
 2625 * ID3D11DeviceChild interface
 2626 */
 2627#ifndef __ID3D11DeviceChild_INTERFACE_DEFINED__
 2628#define __ID3D11DeviceChild_INTERFACE_DEFINED__
 2629
 2630DEFINE_GUID(IID_ID3D11DeviceChild, 0x1841e5c8, 0x16b0, 0x489b, 0xbc,0xc8, 0x44,0xcf,0xb0,0xd5,0xde,0xae);
 2631#if defined(__cplusplus) && !defined(CINTERFACE)
 2632MIDL_INTERFACE("1841e5c8-16b0-489b-bcc8-44cfb0d5deae")
 2633ID3D11DeviceChild : public IUnknown
 2634{
 2635    virtual void STDMETHODCALLTYPE GetDevice(
 2636        ID3D11Device **ppDevice) = 0;
 2637
 2638    virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
 2639        REFGUID guid,
 2640        UINT *pDataSize,
 2641        void *pData) = 0;
 2642
 2643    virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
 2644        REFGUID guid,
 2645        UINT DataSize,
 2646        const void *pData) = 0;
 2647
 2648    virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
 2649        REFGUID guid,
 2650        const IUnknown *pData) = 0;
 2651
 2652};
 2653#ifdef __CRT_UUID_DECL
 2654__CRT_UUID_DECL(ID3D11DeviceChild, 0x1841e5c8, 0x16b0, 0x489b, 0xbc,0xc8, 0x44,0xcf,0xb0,0xd5,0xde,0xae)
 2655#endif
 2656#else
 2657typedef struct ID3D11DeviceChildVtbl {
 2658    BEGIN_INTERFACE
 2659
 2660    /*** IUnknown methods ***/
 2661    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 2662        ID3D11DeviceChild *This,
 2663        REFIID riid,
 2664        void **ppvObject);
 2665
 2666    ULONG (STDMETHODCALLTYPE *AddRef)(
 2667        ID3D11DeviceChild *This);
 2668
 2669    ULONG (STDMETHODCALLTYPE *Release)(
 2670        ID3D11DeviceChild *This);
 2671
 2672    /*** ID3D11DeviceChild methods ***/
 2673    void (STDMETHODCALLTYPE *GetDevice)(
 2674        ID3D11DeviceChild *This,
 2675        ID3D11Device **ppDevice);
 2676
 2677    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 2678        ID3D11DeviceChild *This,
 2679        REFGUID guid,
 2680        UINT *pDataSize,
 2681        void *pData);
 2682
 2683    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 2684        ID3D11DeviceChild *This,
 2685        REFGUID guid,
 2686        UINT DataSize,
 2687        const void *pData);
 2688
 2689    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 2690        ID3D11DeviceChild *This,
 2691        REFGUID guid,
 2692        const IUnknown *pData);
 2693
 2694    END_INTERFACE
 2695} ID3D11DeviceChildVtbl;
 2696
 2697interface ID3D11DeviceChild {
 2698    CONST_VTBL ID3D11DeviceChildVtbl* lpVtbl;
 2699};
 2700
 2701#ifdef COBJMACROS
 2702#ifndef WIDL_C_INLINE_WRAPPERS
 2703/*** IUnknown methods ***/
 2704#define ID3D11DeviceChild_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 2705#define ID3D11DeviceChild_AddRef(This) (This)->lpVtbl->AddRef(This)
 2706#define ID3D11DeviceChild_Release(This) (This)->lpVtbl->Release(This)
 2707/*** ID3D11DeviceChild methods ***/
 2708#define ID3D11DeviceChild_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 2709#define ID3D11DeviceChild_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 2710#define ID3D11DeviceChild_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 2711#define ID3D11DeviceChild_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 2712#else
 2713/*** IUnknown methods ***/
 2714static inline HRESULT ID3D11DeviceChild_QueryInterface(ID3D11DeviceChild* This,REFIID riid,void **ppvObject) {
 2715    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 2716}
 2717static inline ULONG ID3D11DeviceChild_AddRef(ID3D11DeviceChild* This) {
 2718    return This->lpVtbl->AddRef(This);
 2719}
 2720static inline ULONG ID3D11DeviceChild_Release(ID3D11DeviceChild* This) {
 2721    return This->lpVtbl->Release(This);
 2722}
 2723/*** ID3D11DeviceChild methods ***/
 2724static inline void ID3D11DeviceChild_GetDevice(ID3D11DeviceChild* This,ID3D11Device **ppDevice) {
 2725    This->lpVtbl->GetDevice(This,ppDevice);
 2726}
 2727static inline HRESULT ID3D11DeviceChild_GetPrivateData(ID3D11DeviceChild* This,REFGUID guid,UINT *pDataSize,void *pData) {
 2728    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 2729}
 2730static inline HRESULT ID3D11DeviceChild_SetPrivateData(ID3D11DeviceChild* This,REFGUID guid,UINT DataSize,const void *pData) {
 2731    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 2732}
 2733static inline HRESULT ID3D11DeviceChild_SetPrivateDataInterface(ID3D11DeviceChild* This,REFGUID guid,const IUnknown *pData) {
 2734    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 2735}
 2736#endif
 2737#endif
 2738
 2739#endif
 2740
 2741
 2742#endif  /* __ID3D11DeviceChild_INTERFACE_DEFINED__ */
 2743
 2744/*****************************************************************************
 2745 * ID3D11Asynchronous interface
 2746 */
 2747#ifndef __ID3D11Asynchronous_INTERFACE_DEFINED__
 2748#define __ID3D11Asynchronous_INTERFACE_DEFINED__
 2749
 2750DEFINE_GUID(IID_ID3D11Asynchronous, 0x4b35d0cd, 0x1e15, 0x4258, 0x9c,0x98, 0x1b,0x13,0x33,0xf6,0xdd,0x3b);
 2751#if defined(__cplusplus) && !defined(CINTERFACE)
 2752MIDL_INTERFACE("4b35d0cd-1e15-4258-9c98-1b1333f6dd3b")
 2753ID3D11Asynchronous : public ID3D11DeviceChild
 2754{
 2755    virtual UINT STDMETHODCALLTYPE GetDataSize(
 2756        ) = 0;
 2757
 2758};
 2759#ifdef __CRT_UUID_DECL
 2760__CRT_UUID_DECL(ID3D11Asynchronous, 0x4b35d0cd, 0x1e15, 0x4258, 0x9c,0x98, 0x1b,0x13,0x33,0xf6,0xdd,0x3b)
 2761#endif
 2762#else
 2763typedef struct ID3D11AsynchronousVtbl {
 2764    BEGIN_INTERFACE
 2765
 2766    /*** IUnknown methods ***/
 2767    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 2768        ID3D11Asynchronous *This,
 2769        REFIID riid,
 2770        void **ppvObject);
 2771
 2772    ULONG (STDMETHODCALLTYPE *AddRef)(
 2773        ID3D11Asynchronous *This);
 2774
 2775    ULONG (STDMETHODCALLTYPE *Release)(
 2776        ID3D11Asynchronous *This);
 2777
 2778    /*** ID3D11DeviceChild methods ***/
 2779    void (STDMETHODCALLTYPE *GetDevice)(
 2780        ID3D11Asynchronous *This,
 2781        ID3D11Device **ppDevice);
 2782
 2783    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 2784        ID3D11Asynchronous *This,
 2785        REFGUID guid,
 2786        UINT *pDataSize,
 2787        void *pData);
 2788
 2789    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 2790        ID3D11Asynchronous *This,
 2791        REFGUID guid,
 2792        UINT DataSize,
 2793        const void *pData);
 2794
 2795    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 2796        ID3D11Asynchronous *This,
 2797        REFGUID guid,
 2798        const IUnknown *pData);
 2799
 2800    /*** ID3D11Asynchronous methods ***/
 2801    UINT (STDMETHODCALLTYPE *GetDataSize)(
 2802        ID3D11Asynchronous *This);
 2803
 2804    END_INTERFACE
 2805} ID3D11AsynchronousVtbl;
 2806
 2807interface ID3D11Asynchronous {
 2808    CONST_VTBL ID3D11AsynchronousVtbl* lpVtbl;
 2809};
 2810
 2811#ifdef COBJMACROS
 2812#ifndef WIDL_C_INLINE_WRAPPERS
 2813/*** IUnknown methods ***/
 2814#define ID3D11Asynchronous_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 2815#define ID3D11Asynchronous_AddRef(This) (This)->lpVtbl->AddRef(This)
 2816#define ID3D11Asynchronous_Release(This) (This)->lpVtbl->Release(This)
 2817/*** ID3D11DeviceChild methods ***/
 2818#define ID3D11Asynchronous_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 2819#define ID3D11Asynchronous_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 2820#define ID3D11Asynchronous_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 2821#define ID3D11Asynchronous_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 2822/*** ID3D11Asynchronous methods ***/
 2823#define ID3D11Asynchronous_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
 2824#else
 2825/*** IUnknown methods ***/
 2826static inline HRESULT ID3D11Asynchronous_QueryInterface(ID3D11Asynchronous* This,REFIID riid,void **ppvObject) {
 2827    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 2828}
 2829static inline ULONG ID3D11Asynchronous_AddRef(ID3D11Asynchronous* This) {
 2830    return This->lpVtbl->AddRef(This);
 2831}
 2832static inline ULONG ID3D11Asynchronous_Release(ID3D11Asynchronous* This) {
 2833    return This->lpVtbl->Release(This);
 2834}
 2835/*** ID3D11DeviceChild methods ***/
 2836static inline void ID3D11Asynchronous_GetDevice(ID3D11Asynchronous* This,ID3D11Device **ppDevice) {
 2837    This->lpVtbl->GetDevice(This,ppDevice);
 2838}
 2839static inline HRESULT ID3D11Asynchronous_GetPrivateData(ID3D11Asynchronous* This,REFGUID guid,UINT *pDataSize,void *pData) {
 2840    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 2841}
 2842static inline HRESULT ID3D11Asynchronous_SetPrivateData(ID3D11Asynchronous* This,REFGUID guid,UINT DataSize,const void *pData) {
 2843    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 2844}
 2845static inline HRESULT ID3D11Asynchronous_SetPrivateDataInterface(ID3D11Asynchronous* This,REFGUID guid,const IUnknown *pData) {
 2846    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 2847}
 2848/*** ID3D11Asynchronous methods ***/
 2849static inline UINT ID3D11Asynchronous_GetDataSize(ID3D11Asynchronous* This) {
 2850    return This->lpVtbl->GetDataSize(This);
 2851}
 2852#endif
 2853#endif
 2854
 2855#endif
 2856
 2857
 2858#endif  /* __ID3D11Asynchronous_INTERFACE_DEFINED__ */
 2859
 2860/*****************************************************************************
 2861 * ID3D11Query interface
 2862 */
 2863#ifndef __ID3D11Query_INTERFACE_DEFINED__
 2864#define __ID3D11Query_INTERFACE_DEFINED__
 2865
 2866DEFINE_GUID(IID_ID3D11Query, 0xd6c00747, 0x87b7, 0x425e, 0xb8,0x4d, 0x44,0xd1,0x08,0x56,0x0a,0xfd);
 2867#if defined(__cplusplus) && !defined(CINTERFACE)
 2868MIDL_INTERFACE("d6c00747-87b7-425e-b84d-44d108560afd")
 2869ID3D11Query : public ID3D11Asynchronous
 2870{
 2871    virtual void STDMETHODCALLTYPE GetDesc(
 2872        D3D11_QUERY_DESC *pDesc) = 0;
 2873
 2874};
 2875#ifdef __CRT_UUID_DECL
 2876__CRT_UUID_DECL(ID3D11Query, 0xd6c00747, 0x87b7, 0x425e, 0xb8,0x4d, 0x44,0xd1,0x08,0x56,0x0a,0xfd)
 2877#endif
 2878#else
 2879typedef struct ID3D11QueryVtbl {
 2880    BEGIN_INTERFACE
 2881
 2882    /*** IUnknown methods ***/
 2883    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 2884        ID3D11Query *This,
 2885        REFIID riid,
 2886        void **ppvObject);
 2887
 2888    ULONG (STDMETHODCALLTYPE *AddRef)(
 2889        ID3D11Query *This);
 2890
 2891    ULONG (STDMETHODCALLTYPE *Release)(
 2892        ID3D11Query *This);
 2893
 2894    /*** ID3D11DeviceChild methods ***/
 2895    void (STDMETHODCALLTYPE *GetDevice)(
 2896        ID3D11Query *This,
 2897        ID3D11Device **ppDevice);
 2898
 2899    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 2900        ID3D11Query *This,
 2901        REFGUID guid,
 2902        UINT *pDataSize,
 2903        void *pData);
 2904
 2905    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 2906        ID3D11Query *This,
 2907        REFGUID guid,
 2908        UINT DataSize,
 2909        const void *pData);
 2910
 2911    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 2912        ID3D11Query *This,
 2913        REFGUID guid,
 2914        const IUnknown *pData);
 2915
 2916    /*** ID3D11Asynchronous methods ***/
 2917    UINT (STDMETHODCALLTYPE *GetDataSize)(
 2918        ID3D11Query *This);
 2919
 2920    /*** ID3D11Query methods ***/
 2921    void (STDMETHODCALLTYPE *GetDesc)(
 2922        ID3D11Query *This,
 2923        D3D11_QUERY_DESC *pDesc);
 2924
 2925    END_INTERFACE
 2926} ID3D11QueryVtbl;
 2927
 2928interface ID3D11Query {
 2929    CONST_VTBL ID3D11QueryVtbl* lpVtbl;
 2930};
 2931
 2932#ifdef COBJMACROS
 2933#ifndef WIDL_C_INLINE_WRAPPERS
 2934/*** IUnknown methods ***/
 2935#define ID3D11Query_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 2936#define ID3D11Query_AddRef(This) (This)->lpVtbl->AddRef(This)
 2937#define ID3D11Query_Release(This) (This)->lpVtbl->Release(This)
 2938/*** ID3D11DeviceChild methods ***/
 2939#define ID3D11Query_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 2940#define ID3D11Query_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 2941#define ID3D11Query_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 2942#define ID3D11Query_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 2943/*** ID3D11Asynchronous methods ***/
 2944#define ID3D11Query_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
 2945/*** ID3D11Query methods ***/
 2946#define ID3D11Query_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 2947#else
 2948/*** IUnknown methods ***/
 2949static inline HRESULT ID3D11Query_QueryInterface(ID3D11Query* This,REFIID riid,void **ppvObject) {
 2950    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 2951}
 2952static inline ULONG ID3D11Query_AddRef(ID3D11Query* This) {
 2953    return This->lpVtbl->AddRef(This);
 2954}
 2955static inline ULONG ID3D11Query_Release(ID3D11Query* This) {
 2956    return This->lpVtbl->Release(This);
 2957}
 2958/*** ID3D11DeviceChild methods ***/
 2959static inline void ID3D11Query_GetDevice(ID3D11Query* This,ID3D11Device **ppDevice) {
 2960    This->lpVtbl->GetDevice(This,ppDevice);
 2961}
 2962static inline HRESULT ID3D11Query_GetPrivateData(ID3D11Query* This,REFGUID guid,UINT *pDataSize,void *pData) {
 2963    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 2964}
 2965static inline HRESULT ID3D11Query_SetPrivateData(ID3D11Query* This,REFGUID guid,UINT DataSize,const void *pData) {
 2966    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 2967}
 2968static inline HRESULT ID3D11Query_SetPrivateDataInterface(ID3D11Query* This,REFGUID guid,const IUnknown *pData) {
 2969    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 2970}
 2971/*** ID3D11Asynchronous methods ***/
 2972static inline UINT ID3D11Query_GetDataSize(ID3D11Query* This) {
 2973    return This->lpVtbl->GetDataSize(This);
 2974}
 2975/*** ID3D11Query methods ***/
 2976static inline void ID3D11Query_GetDesc(ID3D11Query* This,D3D11_QUERY_DESC *pDesc) {
 2977    This->lpVtbl->GetDesc(This,pDesc);
 2978}
 2979#endif
 2980#endif
 2981
 2982#endif
 2983
 2984
 2985#endif  /* __ID3D11Query_INTERFACE_DEFINED__ */
 2986
 2987/*****************************************************************************
 2988 * ID3D11Resource interface
 2989 */
 2990#ifndef __ID3D11Resource_INTERFACE_DEFINED__
 2991#define __ID3D11Resource_INTERFACE_DEFINED__
 2992
 2993DEFINE_GUID(IID_ID3D11Resource, 0xdc8e63f3, 0xd12b, 0x4952, 0xb4,0x7b, 0x5e,0x45,0x02,0x6a,0x86,0x2d);
 2994#if defined(__cplusplus) && !defined(CINTERFACE)
 2995MIDL_INTERFACE("dc8e63f3-d12b-4952-b47b-5e45026a862d")
 2996ID3D11Resource : public ID3D11DeviceChild
 2997{
 2998    virtual void STDMETHODCALLTYPE GetType(
 2999        D3D11_RESOURCE_DIMENSION *pResourceDimension) = 0;
 3000
 3001    virtual void STDMETHODCALLTYPE SetEvictionPriority(
 3002        UINT EvictionPriority) = 0;
 3003
 3004    virtual UINT STDMETHODCALLTYPE GetEvictionPriority(
 3005        ) = 0;
 3006
 3007};
 3008#ifdef __CRT_UUID_DECL
 3009__CRT_UUID_DECL(ID3D11Resource, 0xdc8e63f3, 0xd12b, 0x4952, 0xb4,0x7b, 0x5e,0x45,0x02,0x6a,0x86,0x2d)
 3010#endif
 3011#else
 3012typedef struct ID3D11ResourceVtbl {
 3013    BEGIN_INTERFACE
 3014
 3015    /*** IUnknown methods ***/
 3016    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 3017        ID3D11Resource *This,
 3018        REFIID riid,
 3019        void **ppvObject);
 3020
 3021    ULONG (STDMETHODCALLTYPE *AddRef)(
 3022        ID3D11Resource *This);
 3023
 3024    ULONG (STDMETHODCALLTYPE *Release)(
 3025        ID3D11Resource *This);
 3026
 3027    /*** ID3D11DeviceChild methods ***/
 3028    void (STDMETHODCALLTYPE *GetDevice)(
 3029        ID3D11Resource *This,
 3030        ID3D11Device **ppDevice);
 3031
 3032    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 3033        ID3D11Resource *This,
 3034        REFGUID guid,
 3035        UINT *pDataSize,
 3036        void *pData);
 3037
 3038    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 3039        ID3D11Resource *This,
 3040        REFGUID guid,
 3041        UINT DataSize,
 3042        const void *pData);
 3043
 3044    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 3045        ID3D11Resource *This,
 3046        REFGUID guid,
 3047        const IUnknown *pData);
 3048
 3049    /*** ID3D11Resource methods ***/
 3050    void (STDMETHODCALLTYPE *GetType)(
 3051        ID3D11Resource *This,
 3052        D3D11_RESOURCE_DIMENSION *pResourceDimension);
 3053
 3054    void (STDMETHODCALLTYPE *SetEvictionPriority)(
 3055        ID3D11Resource *This,
 3056        UINT EvictionPriority);
 3057
 3058    UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
 3059        ID3D11Resource *This);
 3060
 3061    END_INTERFACE
 3062} ID3D11ResourceVtbl;
 3063
 3064interface ID3D11Resource {
 3065    CONST_VTBL ID3D11ResourceVtbl* lpVtbl;
 3066};
 3067
 3068#ifdef COBJMACROS
 3069#ifndef WIDL_C_INLINE_WRAPPERS
 3070/*** IUnknown methods ***/
 3071#define ID3D11Resource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 3072#define ID3D11Resource_AddRef(This) (This)->lpVtbl->AddRef(This)
 3073#define ID3D11Resource_Release(This) (This)->lpVtbl->Release(This)
 3074/*** ID3D11DeviceChild methods ***/
 3075#define ID3D11Resource_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 3076#define ID3D11Resource_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 3077#define ID3D11Resource_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 3078#define ID3D11Resource_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 3079/*** ID3D11Resource methods ***/
 3080#define ID3D11Resource_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
 3081#define ID3D11Resource_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
 3082#define ID3D11Resource_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
 3083#else
 3084/*** IUnknown methods ***/
 3085static inline HRESULT ID3D11Resource_QueryInterface(ID3D11Resource* This,REFIID riid,void **ppvObject) {
 3086    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 3087}
 3088static inline ULONG ID3D11Resource_AddRef(ID3D11Resource* This) {
 3089    return This->lpVtbl->AddRef(This);
 3090}
 3091static inline ULONG ID3D11Resource_Release(ID3D11Resource* This) {
 3092    return This->lpVtbl->Release(This);
 3093}
 3094/*** ID3D11DeviceChild methods ***/
 3095static inline void ID3D11Resource_GetDevice(ID3D11Resource* This,ID3D11Device **ppDevice) {
 3096    This->lpVtbl->GetDevice(This,ppDevice);
 3097}
 3098static inline HRESULT ID3D11Resource_GetPrivateData(ID3D11Resource* This,REFGUID guid,UINT *pDataSize,void *pData) {
 3099    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 3100}
 3101static inline HRESULT ID3D11Resource_SetPrivateData(ID3D11Resource* This,REFGUID guid,UINT DataSize,const void *pData) {
 3102    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 3103}
 3104static inline HRESULT ID3D11Resource_SetPrivateDataInterface(ID3D11Resource* This,REFGUID guid,const IUnknown *pData) {
 3105    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 3106}
 3107/*** ID3D11Resource methods ***/
 3108static inline void ID3D11Resource_GetType(ID3D11Resource* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
 3109    This->lpVtbl->GetType(This,pResourceDimension);
 3110}
 3111static inline void ID3D11Resource_SetEvictionPriority(ID3D11Resource* This,UINT EvictionPriority) {
 3112    This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
 3113}
 3114static inline UINT ID3D11Resource_GetEvictionPriority(ID3D11Resource* This) {
 3115    return This->lpVtbl->GetEvictionPriority(This);
 3116}
 3117#endif
 3118#endif
 3119
 3120#endif
 3121
 3122
 3123#endif  /* __ID3D11Resource_INTERFACE_DEFINED__ */
 3124
 3125/*****************************************************************************
 3126 * ID3D11View interface
 3127 */
 3128#ifndef __ID3D11View_INTERFACE_DEFINED__
 3129#define __ID3D11View_INTERFACE_DEFINED__
 3130
 3131DEFINE_GUID(IID_ID3D11View, 0x839d1216, 0xbb2e, 0x412b, 0xb7,0xf4, 0xa9,0xdb,0xeb,0xe0,0x8e,0xd1);
 3132#if defined(__cplusplus) && !defined(CINTERFACE)
 3133MIDL_INTERFACE("839d1216-bb2e-412b-b7f4-a9dbebe08ed1")
 3134ID3D11View : public ID3D11DeviceChild
 3135{
 3136    virtual void STDMETHODCALLTYPE GetResource(
 3137        ID3D11Resource **ppResource) = 0;
 3138
 3139};
 3140#ifdef __CRT_UUID_DECL
 3141__CRT_UUID_DECL(ID3D11View, 0x839d1216, 0xbb2e, 0x412b, 0xb7,0xf4, 0xa9,0xdb,0xeb,0xe0,0x8e,0xd1)
 3142#endif
 3143#else
 3144typedef struct ID3D11ViewVtbl {
 3145    BEGIN_INTERFACE
 3146
 3147    /*** IUnknown methods ***/
 3148    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 3149        ID3D11View *This,
 3150        REFIID riid,
 3151        void **ppvObject);
 3152
 3153    ULONG (STDMETHODCALLTYPE *AddRef)(
 3154        ID3D11View *This);
 3155
 3156    ULONG (STDMETHODCALLTYPE *Release)(
 3157        ID3D11View *This);
 3158
 3159    /*** ID3D11DeviceChild methods ***/
 3160    void (STDMETHODCALLTYPE *GetDevice)(
 3161        ID3D11View *This,
 3162        ID3D11Device **ppDevice);
 3163
 3164    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 3165        ID3D11View *This,
 3166        REFGUID guid,
 3167        UINT *pDataSize,
 3168        void *pData);
 3169
 3170    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 3171        ID3D11View *This,
 3172        REFGUID guid,
 3173        UINT DataSize,
 3174        const void *pData);
 3175
 3176    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 3177        ID3D11View *This,
 3178        REFGUID guid,
 3179        const IUnknown *pData);
 3180
 3181    /*** ID3D11View methods ***/
 3182    void (STDMETHODCALLTYPE *GetResource)(
 3183        ID3D11View *This,
 3184        ID3D11Resource **ppResource);
 3185
 3186    END_INTERFACE
 3187} ID3D11ViewVtbl;
 3188
 3189interface ID3D11View {
 3190    CONST_VTBL ID3D11ViewVtbl* lpVtbl;
 3191};
 3192
 3193#ifdef COBJMACROS
 3194#ifndef WIDL_C_INLINE_WRAPPERS
 3195/*** IUnknown methods ***/
 3196#define ID3D11View_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 3197#define ID3D11View_AddRef(This) (This)->lpVtbl->AddRef(This)
 3198#define ID3D11View_Release(This) (This)->lpVtbl->Release(This)
 3199/*** ID3D11DeviceChild methods ***/
 3200#define ID3D11View_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 3201#define ID3D11View_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 3202#define ID3D11View_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 3203#define ID3D11View_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 3204/*** ID3D11View methods ***/
 3205#define ID3D11View_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 3206#else
 3207/*** IUnknown methods ***/
 3208static inline HRESULT ID3D11View_QueryInterface(ID3D11View* This,REFIID riid,void **ppvObject) {
 3209    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 3210}
 3211static inline ULONG ID3D11View_AddRef(ID3D11View* This) {
 3212    return This->lpVtbl->AddRef(This);
 3213}
 3214static inline ULONG ID3D11View_Release(ID3D11View* This) {
 3215    return This->lpVtbl->Release(This);
 3216}
 3217/*** ID3D11DeviceChild methods ***/
 3218static inline void ID3D11View_GetDevice(ID3D11View* This,ID3D11Device **ppDevice) {
 3219    This->lpVtbl->GetDevice(This,ppDevice);
 3220}
 3221static inline HRESULT ID3D11View_GetPrivateData(ID3D11View* This,REFGUID guid,UINT *pDataSize,void *pData) {
 3222    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 3223}
 3224static inline HRESULT ID3D11View_SetPrivateData(ID3D11View* This,REFGUID guid,UINT DataSize,const void *pData) {
 3225    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 3226}
 3227static inline HRESULT ID3D11View_SetPrivateDataInterface(ID3D11View* This,REFGUID guid,const IUnknown *pData) {
 3228    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 3229}
 3230/*** ID3D11View methods ***/
 3231static inline void ID3D11View_GetResource(ID3D11View* This,ID3D11Resource **ppResource) {
 3232    This->lpVtbl->GetResource(This,ppResource);
 3233}
 3234#endif
 3235#endif
 3236
 3237#endif
 3238
 3239
 3240#endif  /* __ID3D11View_INTERFACE_DEFINED__ */
 3241
 3242/*****************************************************************************
 3243 * ID3D11BlendState interface
 3244 */
 3245#ifndef __ID3D11BlendState_INTERFACE_DEFINED__
 3246#define __ID3D11BlendState_INTERFACE_DEFINED__
 3247
 3248DEFINE_GUID(IID_ID3D11BlendState, 0x75b68faa, 0x347d, 0x4159, 0x8f,0x45, 0xa0,0x64,0x0f,0x01,0xcd,0x9a);
 3249#if defined(__cplusplus) && !defined(CINTERFACE)
 3250MIDL_INTERFACE("75b68faa-347d-4159-8f45-a0640f01cd9a")
 3251ID3D11BlendState : public ID3D11DeviceChild
 3252{
 3253    virtual void STDMETHODCALLTYPE GetDesc(
 3254        D3D11_BLEND_DESC *pDesc) = 0;
 3255
 3256};
 3257#ifdef __CRT_UUID_DECL
 3258__CRT_UUID_DECL(ID3D11BlendState, 0x75b68faa, 0x347d, 0x4159, 0x8f,0x45, 0xa0,0x64,0x0f,0x01,0xcd,0x9a)
 3259#endif
 3260#else
 3261typedef struct ID3D11BlendStateVtbl {
 3262    BEGIN_INTERFACE
 3263
 3264    /*** IUnknown methods ***/
 3265    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 3266        ID3D11BlendState *This,
 3267        REFIID riid,
 3268        void **ppvObject);
 3269
 3270    ULONG (STDMETHODCALLTYPE *AddRef)(
 3271        ID3D11BlendState *This);
 3272
 3273    ULONG (STDMETHODCALLTYPE *Release)(
 3274        ID3D11BlendState *This);
 3275
 3276    /*** ID3D11DeviceChild methods ***/
 3277    void (STDMETHODCALLTYPE *GetDevice)(
 3278        ID3D11BlendState *This,
 3279        ID3D11Device **ppDevice);
 3280
 3281    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 3282        ID3D11BlendState *This,
 3283        REFGUID guid,
 3284        UINT *pDataSize,
 3285        void *pData);
 3286
 3287    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 3288        ID3D11BlendState *This,
 3289        REFGUID guid,
 3290        UINT DataSize,
 3291        const void *pData);
 3292
 3293    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 3294        ID3D11BlendState *This,
 3295        REFGUID guid,
 3296        const IUnknown *pData);
 3297
 3298    /*** ID3D11BlendState methods ***/
 3299    void (STDMETHODCALLTYPE *GetDesc)(
 3300        ID3D11BlendState *This,
 3301        D3D11_BLEND_DESC *pDesc);
 3302
 3303    END_INTERFACE
 3304} ID3D11BlendStateVtbl;
 3305
 3306interface ID3D11BlendState {
 3307    CONST_VTBL ID3D11BlendStateVtbl* lpVtbl;
 3308};
 3309
 3310#ifdef COBJMACROS
 3311#ifndef WIDL_C_INLINE_WRAPPERS
 3312/*** IUnknown methods ***/
 3313#define ID3D11BlendState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 3314#define ID3D11BlendState_AddRef(This) (This)->lpVtbl->AddRef(This)
 3315#define ID3D11BlendState_Release(This) (This)->lpVtbl->Release(This)
 3316/*** ID3D11DeviceChild methods ***/
 3317#define ID3D11BlendState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 3318#define ID3D11BlendState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 3319#define ID3D11BlendState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 3320#define ID3D11BlendState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 3321/*** ID3D11BlendState methods ***/
 3322#define ID3D11BlendState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 3323#else
 3324/*** IUnknown methods ***/
 3325static inline HRESULT ID3D11BlendState_QueryInterface(ID3D11BlendState* This,REFIID riid,void **ppvObject) {
 3326    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 3327}
 3328static inline ULONG ID3D11BlendState_AddRef(ID3D11BlendState* This) {
 3329    return This->lpVtbl->AddRef(This);
 3330}
 3331static inline ULONG ID3D11BlendState_Release(ID3D11BlendState* This) {
 3332    return This->lpVtbl->Release(This);
 3333}
 3334/*** ID3D11DeviceChild methods ***/
 3335static inline void ID3D11BlendState_GetDevice(ID3D11BlendState* This,ID3D11Device **ppDevice) {
 3336    This->lpVtbl->GetDevice(This,ppDevice);
 3337}
 3338static inline HRESULT ID3D11BlendState_GetPrivateData(ID3D11BlendState* This,REFGUID guid,UINT *pDataSize,void *pData) {
 3339    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 3340}
 3341static inline HRESULT ID3D11BlendState_SetPrivateData(ID3D11BlendState* This,REFGUID guid,UINT DataSize,const void *pData) {
 3342    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 3343}
 3344static inline HRESULT ID3D11BlendState_SetPrivateDataInterface(ID3D11BlendState* This,REFGUID guid,const IUnknown *pData) {
 3345    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 3346}
 3347/*** ID3D11BlendState methods ***/
 3348static inline void ID3D11BlendState_GetDesc(ID3D11BlendState* This,D3D11_BLEND_DESC *pDesc) {
 3349    This->lpVtbl->GetDesc(This,pDesc);
 3350}
 3351#endif
 3352#endif
 3353
 3354#endif
 3355
 3356
 3357#endif  /* __ID3D11BlendState_INTERFACE_DEFINED__ */
 3358
 3359/*****************************************************************************
 3360 * ID3D11Buffer interface
 3361 */
 3362#ifndef __ID3D11Buffer_INTERFACE_DEFINED__
 3363#define __ID3D11Buffer_INTERFACE_DEFINED__
 3364
 3365DEFINE_GUID(IID_ID3D11Buffer, 0x48570b85, 0xd1ee, 0x4fcd, 0xa2,0x50, 0xeb,0x35,0x07,0x22,0xb0,0x37);
 3366#if defined(__cplusplus) && !defined(CINTERFACE)
 3367MIDL_INTERFACE("48570b85-d1ee-4fcd-a250-eb350722b037")
 3368ID3D11Buffer : public ID3D11Resource
 3369{
 3370    virtual void STDMETHODCALLTYPE GetDesc(
 3371        D3D11_BUFFER_DESC *pDesc) = 0;
 3372
 3373};
 3374#ifdef __CRT_UUID_DECL
 3375__CRT_UUID_DECL(ID3D11Buffer, 0x48570b85, 0xd1ee, 0x4fcd, 0xa2,0x50, 0xeb,0x35,0x07,0x22,0xb0,0x37)
 3376#endif
 3377#else
 3378typedef struct ID3D11BufferVtbl {
 3379    BEGIN_INTERFACE
 3380
 3381    /*** IUnknown methods ***/
 3382    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 3383        ID3D11Buffer *This,
 3384        REFIID riid,
 3385        void **ppvObject);
 3386
 3387    ULONG (STDMETHODCALLTYPE *AddRef)(
 3388        ID3D11Buffer *This);
 3389
 3390    ULONG (STDMETHODCALLTYPE *Release)(
 3391        ID3D11Buffer *This);
 3392
 3393    /*** ID3D11DeviceChild methods ***/
 3394    void (STDMETHODCALLTYPE *GetDevice)(
 3395        ID3D11Buffer *This,
 3396        ID3D11Device **ppDevice);
 3397
 3398    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 3399        ID3D11Buffer *This,
 3400        REFGUID guid,
 3401        UINT *pDataSize,
 3402        void *pData);
 3403
 3404    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 3405        ID3D11Buffer *This,
 3406        REFGUID guid,
 3407        UINT DataSize,
 3408        const void *pData);
 3409
 3410    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 3411        ID3D11Buffer *This,
 3412        REFGUID guid,
 3413        const IUnknown *pData);
 3414
 3415    /*** ID3D11Resource methods ***/
 3416    void (STDMETHODCALLTYPE *GetType)(
 3417        ID3D11Buffer *This,
 3418        D3D11_RESOURCE_DIMENSION *pResourceDimension);
 3419
 3420    void (STDMETHODCALLTYPE *SetEvictionPriority)(
 3421        ID3D11Buffer *This,
 3422        UINT EvictionPriority);
 3423
 3424    UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
 3425        ID3D11Buffer *This);
 3426
 3427    /*** ID3D11Buffer methods ***/
 3428    void (STDMETHODCALLTYPE *GetDesc)(
 3429        ID3D11Buffer *This,
 3430        D3D11_BUFFER_DESC *pDesc);
 3431
 3432    END_INTERFACE
 3433} ID3D11BufferVtbl;
 3434
 3435interface ID3D11Buffer {
 3436    CONST_VTBL ID3D11BufferVtbl* lpVtbl;
 3437};
 3438
 3439#ifdef COBJMACROS
 3440#ifndef WIDL_C_INLINE_WRAPPERS
 3441/*** IUnknown methods ***/
 3442#define ID3D11Buffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 3443#define ID3D11Buffer_AddRef(This) (This)->lpVtbl->AddRef(This)
 3444#define ID3D11Buffer_Release(This) (This)->lpVtbl->Release(This)
 3445/*** ID3D11DeviceChild methods ***/
 3446#define ID3D11Buffer_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 3447#define ID3D11Buffer_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 3448#define ID3D11Buffer_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 3449#define ID3D11Buffer_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 3450/*** ID3D11Resource methods ***/
 3451#define ID3D11Buffer_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
 3452#define ID3D11Buffer_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
 3453#define ID3D11Buffer_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
 3454/*** ID3D11Buffer methods ***/
 3455#define ID3D11Buffer_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 3456#else
 3457/*** IUnknown methods ***/
 3458static inline HRESULT ID3D11Buffer_QueryInterface(ID3D11Buffer* This,REFIID riid,void **ppvObject) {
 3459    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 3460}
 3461static inline ULONG ID3D11Buffer_AddRef(ID3D11Buffer* This) {
 3462    return This->lpVtbl->AddRef(This);
 3463}
 3464static inline ULONG ID3D11Buffer_Release(ID3D11Buffer* This) {
 3465    return This->lpVtbl->Release(This);
 3466}
 3467/*** ID3D11DeviceChild methods ***/
 3468static inline void ID3D11Buffer_GetDevice(ID3D11Buffer* This,ID3D11Device **ppDevice) {
 3469    This->lpVtbl->GetDevice(This,ppDevice);
 3470}
 3471static inline HRESULT ID3D11Buffer_GetPrivateData(ID3D11Buffer* This,REFGUID guid,UINT *pDataSize,void *pData) {
 3472    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 3473}
 3474static inline HRESULT ID3D11Buffer_SetPrivateData(ID3D11Buffer* This,REFGUID guid,UINT DataSize,const void *pData) {
 3475    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 3476}
 3477static inline HRESULT ID3D11Buffer_SetPrivateDataInterface(ID3D11Buffer* This,REFGUID guid,const IUnknown *pData) {
 3478    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 3479}
 3480/*** ID3D11Resource methods ***/
 3481static inline void ID3D11Buffer_GetType(ID3D11Buffer* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
 3482    This->lpVtbl->GetType(This,pResourceDimension);
 3483}
 3484static inline void ID3D11Buffer_SetEvictionPriority(ID3D11Buffer* This,UINT EvictionPriority) {
 3485    This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
 3486}
 3487static inline UINT ID3D11Buffer_GetEvictionPriority(ID3D11Buffer* This) {
 3488    return This->lpVtbl->GetEvictionPriority(This);
 3489}
 3490/*** ID3D11Buffer methods ***/
 3491static inline void ID3D11Buffer_GetDesc(ID3D11Buffer* This,D3D11_BUFFER_DESC *pDesc) {
 3492    This->lpVtbl->GetDesc(This,pDesc);
 3493}
 3494#endif
 3495#endif
 3496
 3497#endif
 3498
 3499
 3500#endif  /* __ID3D11Buffer_INTERFACE_DEFINED__ */
 3501
 3502/*****************************************************************************
 3503 * ID3D11ClassInstance interface
 3504 */
 3505#ifndef __ID3D11ClassInstance_INTERFACE_DEFINED__
 3506#define __ID3D11ClassInstance_INTERFACE_DEFINED__
 3507
 3508DEFINE_GUID(IID_ID3D11ClassInstance, 0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94,0x36, 0x86,0x62,0xa6,0x57,0x97,0xcb);
 3509#if defined(__cplusplus) && !defined(CINTERFACE)
 3510MIDL_INTERFACE("a6cd7faa-b0b7-4a2f-9436-8662a65797cb")
 3511ID3D11ClassInstance : public ID3D11DeviceChild
 3512{
 3513    virtual void STDMETHODCALLTYPE GetClassLinkage(
 3514        ID3D11ClassLinkage **ppLinkage) = 0;
 3515
 3516    virtual void STDMETHODCALLTYPE GetDesc(
 3517        D3D11_CLASS_INSTANCE_DESC *pDesc) = 0;
 3518
 3519    virtual void STDMETHODCALLTYPE GetInstanceName(
 3520        LPSTR pInstanceName,
 3521        SIZE_T *pBufferLength) = 0;
 3522
 3523    virtual void STDMETHODCALLTYPE GetTypeName(
 3524        LPSTR pTypeName,
 3525        SIZE_T *pBufferLength) = 0;
 3526
 3527};
 3528#ifdef __CRT_UUID_DECL
 3529__CRT_UUID_DECL(ID3D11ClassInstance, 0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94,0x36, 0x86,0x62,0xa6,0x57,0x97,0xcb)
 3530#endif
 3531#else
 3532typedef struct ID3D11ClassInstanceVtbl {
 3533    BEGIN_INTERFACE
 3534
 3535    /*** IUnknown methods ***/
 3536    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 3537        ID3D11ClassInstance *This,
 3538        REFIID riid,
 3539        void **ppvObject);
 3540
 3541    ULONG (STDMETHODCALLTYPE *AddRef)(
 3542        ID3D11ClassInstance *This);
 3543
 3544    ULONG (STDMETHODCALLTYPE *Release)(
 3545        ID3D11ClassInstance *This);
 3546
 3547    /*** ID3D11DeviceChild methods ***/
 3548    void (STDMETHODCALLTYPE *GetDevice)(
 3549        ID3D11ClassInstance *This,
 3550        ID3D11Device **ppDevice);
 3551
 3552    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 3553        ID3D11ClassInstance *This,
 3554        REFGUID guid,
 3555        UINT *pDataSize,
 3556        void *pData);
 3557
 3558    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 3559        ID3D11ClassInstance *This,
 3560        REFGUID guid,
 3561        UINT DataSize,
 3562        const void *pData);
 3563
 3564    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 3565        ID3D11ClassInstance *This,
 3566        REFGUID guid,
 3567        const IUnknown *pData);
 3568
 3569    /*** ID3D11ClassInstance methods ***/
 3570    void (STDMETHODCALLTYPE *GetClassLinkage)(
 3571        ID3D11ClassInstance *This,
 3572        ID3D11ClassLinkage **ppLinkage);
 3573
 3574    void (STDMETHODCALLTYPE *GetDesc)(
 3575        ID3D11ClassInstance *This,
 3576        D3D11_CLASS_INSTANCE_DESC *pDesc);
 3577
 3578    void (STDMETHODCALLTYPE *GetInstanceName)(
 3579        ID3D11ClassInstance *This,
 3580        LPSTR pInstanceName,
 3581        SIZE_T *pBufferLength);
 3582
 3583    void (STDMETHODCALLTYPE *GetTypeName)(
 3584        ID3D11ClassInstance *This,
 3585        LPSTR pTypeName,
 3586        SIZE_T *pBufferLength);
 3587
 3588    END_INTERFACE
 3589} ID3D11ClassInstanceVtbl;
 3590
 3591interface ID3D11ClassInstance {
 3592    CONST_VTBL ID3D11ClassInstanceVtbl* lpVtbl;
 3593};
 3594
 3595#ifdef COBJMACROS
 3596#ifndef WIDL_C_INLINE_WRAPPERS
 3597/*** IUnknown methods ***/
 3598#define ID3D11ClassInstance_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 3599#define ID3D11ClassInstance_AddRef(This) (This)->lpVtbl->AddRef(This)
 3600#define ID3D11ClassInstance_Release(This) (This)->lpVtbl->Release(This)
 3601/*** ID3D11DeviceChild methods ***/
 3602#define ID3D11ClassInstance_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 3603#define ID3D11ClassInstance_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 3604#define ID3D11ClassInstance_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 3605#define ID3D11ClassInstance_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 3606/*** ID3D11ClassInstance methods ***/
 3607#define ID3D11ClassInstance_GetClassLinkage(This,ppLinkage) (This)->lpVtbl->GetClassLinkage(This,ppLinkage)
 3608#define ID3D11ClassInstance_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 3609#define ID3D11ClassInstance_GetInstanceName(This,pInstanceName,pBufferLength) (This)->lpVtbl->GetInstanceName(This,pInstanceName,pBufferLength)
 3610#define ID3D11ClassInstance_GetTypeName(This,pTypeName,pBufferLength) (This)->lpVtbl->GetTypeName(This,pTypeName,pBufferLength)
 3611#else
 3612/*** IUnknown methods ***/
 3613static inline HRESULT ID3D11ClassInstance_QueryInterface(ID3D11ClassInstance* This,REFIID riid,void **ppvObject) {
 3614    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 3615}
 3616static inline ULONG ID3D11ClassInstance_AddRef(ID3D11ClassInstance* This) {
 3617    return This->lpVtbl->AddRef(This);
 3618}
 3619static inline ULONG ID3D11ClassInstance_Release(ID3D11ClassInstance* This) {
 3620    return This->lpVtbl->Release(This);
 3621}
 3622/*** ID3D11DeviceChild methods ***/
 3623static inline void ID3D11ClassInstance_GetDevice(ID3D11ClassInstance* This,ID3D11Device **ppDevice) {
 3624    This->lpVtbl->GetDevice(This,ppDevice);
 3625}
 3626static inline HRESULT ID3D11ClassInstance_GetPrivateData(ID3D11ClassInstance* This,REFGUID guid,UINT *pDataSize,void *pData) {
 3627    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 3628}
 3629static inline HRESULT ID3D11ClassInstance_SetPrivateData(ID3D11ClassInstance* This,REFGUID guid,UINT DataSize,const void *pData) {
 3630    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 3631}
 3632static inline HRESULT ID3D11ClassInstance_SetPrivateDataInterface(ID3D11ClassInstance* This,REFGUID guid,const IUnknown *pData) {
 3633    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 3634}
 3635/*** ID3D11ClassInstance methods ***/
 3636static inline void ID3D11ClassInstance_GetClassLinkage(ID3D11ClassInstance* This,ID3D11ClassLinkage **ppLinkage) {
 3637    This->lpVtbl->GetClassLinkage(This,ppLinkage);
 3638}
 3639static inline void ID3D11ClassInstance_GetDesc(ID3D11ClassInstance* This,D3D11_CLASS_INSTANCE_DESC *pDesc) {
 3640    This->lpVtbl->GetDesc(This,pDesc);
 3641}
 3642static inline void ID3D11ClassInstance_GetInstanceName(ID3D11ClassInstance* This,LPSTR pInstanceName,SIZE_T *pBufferLength) {
 3643    This->lpVtbl->GetInstanceName(This,pInstanceName,pBufferLength);
 3644}
 3645static inline void ID3D11ClassInstance_GetTypeName(ID3D11ClassInstance* This,LPSTR pTypeName,SIZE_T *pBufferLength) {
 3646    This->lpVtbl->GetTypeName(This,pTypeName,pBufferLength);
 3647}
 3648#endif
 3649#endif
 3650
 3651#endif
 3652
 3653
 3654#endif  /* __ID3D11ClassInstance_INTERFACE_DEFINED__ */
 3655
 3656/*****************************************************************************
 3657 * ID3D11ClassLinkage interface
 3658 */
 3659#ifndef __ID3D11ClassLinkage_INTERFACE_DEFINED__
 3660#define __ID3D11ClassLinkage_INTERFACE_DEFINED__
 3661
 3662DEFINE_GUID(IID_ID3D11ClassLinkage, 0xddf57cba, 0x9543, 0x46e4, 0xa1,0x2b, 0xf2,0x07,0xa0,0xfe,0x7f,0xed);
 3663#if defined(__cplusplus) && !defined(CINTERFACE)
 3664MIDL_INTERFACE("ddf57cba-9543-46e4-a12b-f207a0fe7fed")
 3665ID3D11ClassLinkage : public ID3D11DeviceChild
 3666{
 3667    virtual HRESULT STDMETHODCALLTYPE GetClassInstance(
 3668        LPCSTR pClassInstanceName,
 3669        UINT InstanceIndex,
 3670        ID3D11ClassInstance **ppInstance) = 0;
 3671
 3672    virtual HRESULT STDMETHODCALLTYPE CreateClassInstance(
 3673        LPCSTR pClassTypeName,
 3674        UINT ConstantBufferOffset,
 3675        UINT ConstantVectorOffset,
 3676        UINT TextureOffset,
 3677        UINT SamplerOffset,
 3678        ID3D11ClassInstance **ppInstance) = 0;
 3679
 3680};
 3681#ifdef __CRT_UUID_DECL
 3682__CRT_UUID_DECL(ID3D11ClassLinkage, 0xddf57cba, 0x9543, 0x46e4, 0xa1,0x2b, 0xf2,0x07,0xa0,0xfe,0x7f,0xed)
 3683#endif
 3684#else
 3685typedef struct ID3D11ClassLinkageVtbl {
 3686    BEGIN_INTERFACE
 3687
 3688    /*** IUnknown methods ***/
 3689    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 3690        ID3D11ClassLinkage *This,
 3691        REFIID riid,
 3692        void **ppvObject);
 3693
 3694    ULONG (STDMETHODCALLTYPE *AddRef)(
 3695        ID3D11ClassLinkage *This);
 3696
 3697    ULONG (STDMETHODCALLTYPE *Release)(
 3698        ID3D11ClassLinkage *This);
 3699
 3700    /*** ID3D11DeviceChild methods ***/
 3701    void (STDMETHODCALLTYPE *GetDevice)(
 3702        ID3D11ClassLinkage *This,
 3703        ID3D11Device **ppDevice);
 3704
 3705    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 3706        ID3D11ClassLinkage *This,
 3707        REFGUID guid,
 3708        UINT *pDataSize,
 3709        void *pData);
 3710
 3711    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 3712        ID3D11ClassLinkage *This,
 3713        REFGUID guid,
 3714        UINT DataSize,
 3715        const void *pData);
 3716
 3717    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 3718        ID3D11ClassLinkage *This,
 3719        REFGUID guid,
 3720        const IUnknown *pData);
 3721
 3722    /*** ID3D11ClassLinkage methods ***/
 3723    HRESULT (STDMETHODCALLTYPE *GetClassInstance)(
 3724        ID3D11ClassLinkage *This,
 3725        LPCSTR pClassInstanceName,
 3726        UINT InstanceIndex,
 3727        ID3D11ClassInstance **ppInstance);
 3728
 3729    HRESULT (STDMETHODCALLTYPE *CreateClassInstance)(
 3730        ID3D11ClassLinkage *This,
 3731        LPCSTR pClassTypeName,
 3732        UINT ConstantBufferOffset,
 3733        UINT ConstantVectorOffset,
 3734        UINT TextureOffset,
 3735        UINT SamplerOffset,
 3736        ID3D11ClassInstance **ppInstance);
 3737
 3738    END_INTERFACE
 3739} ID3D11ClassLinkageVtbl;
 3740
 3741interface ID3D11ClassLinkage {
 3742    CONST_VTBL ID3D11ClassLinkageVtbl* lpVtbl;
 3743};
 3744
 3745#ifdef COBJMACROS
 3746#ifndef WIDL_C_INLINE_WRAPPERS
 3747/*** IUnknown methods ***/
 3748#define ID3D11ClassLinkage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 3749#define ID3D11ClassLinkage_AddRef(This) (This)->lpVtbl->AddRef(This)
 3750#define ID3D11ClassLinkage_Release(This) (This)->lpVtbl->Release(This)
 3751/*** ID3D11DeviceChild methods ***/
 3752#define ID3D11ClassLinkage_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 3753#define ID3D11ClassLinkage_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 3754#define ID3D11ClassLinkage_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 3755#define ID3D11ClassLinkage_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 3756/*** ID3D11ClassLinkage methods ***/
 3757#define ID3D11ClassLinkage_GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance) (This)->lpVtbl->GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance)
 3758#define ID3D11ClassLinkage_CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance) (This)->lpVtbl->CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance)
 3759#else
 3760/*** IUnknown methods ***/
 3761static inline HRESULT ID3D11ClassLinkage_QueryInterface(ID3D11ClassLinkage* This,REFIID riid,void **ppvObject) {
 3762    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 3763}
 3764static inline ULONG ID3D11ClassLinkage_AddRef(ID3D11ClassLinkage* This) {
 3765    return This->lpVtbl->AddRef(This);
 3766}
 3767static inline ULONG ID3D11ClassLinkage_Release(ID3D11ClassLinkage* This) {
 3768    return This->lpVtbl->Release(This);
 3769}
 3770/*** ID3D11DeviceChild methods ***/
 3771static inline void ID3D11ClassLinkage_GetDevice(ID3D11ClassLinkage* This,ID3D11Device **ppDevice) {
 3772    This->lpVtbl->GetDevice(This,ppDevice);
 3773}
 3774static inline HRESULT ID3D11ClassLinkage_GetPrivateData(ID3D11ClassLinkage* This,REFGUID guid,UINT *pDataSize,void *pData) {
 3775    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 3776}
 3777static inline HRESULT ID3D11ClassLinkage_SetPrivateData(ID3D11ClassLinkage* This,REFGUID guid,UINT DataSize,const void *pData) {
 3778    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 3779}
 3780static inline HRESULT ID3D11ClassLinkage_SetPrivateDataInterface(ID3D11ClassLinkage* This,REFGUID guid,const IUnknown *pData) {
 3781    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 3782}
 3783/*** ID3D11ClassLinkage methods ***/
 3784static inline HRESULT ID3D11ClassLinkage_GetClassInstance(ID3D11ClassLinkage* This,LPCSTR pClassInstanceName,UINT InstanceIndex,ID3D11ClassInstance **ppInstance) {
 3785    return This->lpVtbl->GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance);
 3786}
 3787static inline HRESULT ID3D11ClassLinkage_CreateClassInstance(ID3D11ClassLinkage* This,LPCSTR pClassTypeName,UINT ConstantBufferOffset,UINT ConstantVectorOffset,UINT TextureOffset,UINT SamplerOffset,ID3D11ClassInstance **ppInstance) {
 3788    return This->lpVtbl->CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance);
 3789}
 3790#endif
 3791#endif
 3792
 3793#endif
 3794
 3795
 3796#endif  /* __ID3D11ClassLinkage_INTERFACE_DEFINED__ */
 3797
 3798/*****************************************************************************
 3799 * ID3D11CommandList interface
 3800 */
 3801#ifndef __ID3D11CommandList_INTERFACE_DEFINED__
 3802#define __ID3D11CommandList_INTERFACE_DEFINED__
 3803
 3804DEFINE_GUID(IID_ID3D11CommandList, 0xa24bc4d1, 0x769e, 0x43f7, 0x80,0x13, 0x98,0xff,0x56,0x6c,0x18,0xe2);
 3805#if defined(__cplusplus) && !defined(CINTERFACE)
 3806MIDL_INTERFACE("a24bc4d1-769e-43f7-8013-98ff566c18e2")
 3807ID3D11CommandList : public ID3D11DeviceChild
 3808{
 3809    virtual UINT STDMETHODCALLTYPE GetContextFlags(
 3810        ) = 0;
 3811
 3812};
 3813#ifdef __CRT_UUID_DECL
 3814__CRT_UUID_DECL(ID3D11CommandList, 0xa24bc4d1, 0x769e, 0x43f7, 0x80,0x13, 0x98,0xff,0x56,0x6c,0x18,0xe2)
 3815#endif
 3816#else
 3817typedef struct ID3D11CommandListVtbl {
 3818    BEGIN_INTERFACE
 3819
 3820    /*** IUnknown methods ***/
 3821    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 3822        ID3D11CommandList *This,
 3823        REFIID riid,
 3824        void **ppvObject);
 3825
 3826    ULONG (STDMETHODCALLTYPE *AddRef)(
 3827        ID3D11CommandList *This);
 3828
 3829    ULONG (STDMETHODCALLTYPE *Release)(
 3830        ID3D11CommandList *This);
 3831
 3832    /*** ID3D11DeviceChild methods ***/
 3833    void (STDMETHODCALLTYPE *GetDevice)(
 3834        ID3D11CommandList *This,
 3835        ID3D11Device **ppDevice);
 3836
 3837    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 3838        ID3D11CommandList *This,
 3839        REFGUID guid,
 3840        UINT *pDataSize,
 3841        void *pData);
 3842
 3843    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 3844        ID3D11CommandList *This,
 3845        REFGUID guid,
 3846        UINT DataSize,
 3847        const void *pData);
 3848
 3849    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 3850        ID3D11CommandList *This,
 3851        REFGUID guid,
 3852        const IUnknown *pData);
 3853
 3854    /*** ID3D11CommandList methods ***/
 3855    UINT (STDMETHODCALLTYPE *GetContextFlags)(
 3856        ID3D11CommandList *This);
 3857
 3858    END_INTERFACE
 3859} ID3D11CommandListVtbl;
 3860
 3861interface ID3D11CommandList {
 3862    CONST_VTBL ID3D11CommandListVtbl* lpVtbl;
 3863};
 3864
 3865#ifdef COBJMACROS
 3866#ifndef WIDL_C_INLINE_WRAPPERS
 3867/*** IUnknown methods ***/
 3868#define ID3D11CommandList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 3869#define ID3D11CommandList_AddRef(This) (This)->lpVtbl->AddRef(This)
 3870#define ID3D11CommandList_Release(This) (This)->lpVtbl->Release(This)
 3871/*** ID3D11DeviceChild methods ***/
 3872#define ID3D11CommandList_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 3873#define ID3D11CommandList_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 3874#define ID3D11CommandList_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 3875#define ID3D11CommandList_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 3876/*** ID3D11CommandList methods ***/
 3877#define ID3D11CommandList_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
 3878#else
 3879/*** IUnknown methods ***/
 3880static inline HRESULT ID3D11CommandList_QueryInterface(ID3D11CommandList* This,REFIID riid,void **ppvObject) {
 3881    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 3882}
 3883static inline ULONG ID3D11CommandList_AddRef(ID3D11CommandList* This) {
 3884    return This->lpVtbl->AddRef(This);
 3885}
 3886static inline ULONG ID3D11CommandList_Release(ID3D11CommandList* This) {
 3887    return This->lpVtbl->Release(This);
 3888}
 3889/*** ID3D11DeviceChild methods ***/
 3890static inline void ID3D11CommandList_GetDevice(ID3D11CommandList* This,ID3D11Device **ppDevice) {
 3891    This->lpVtbl->GetDevice(This,ppDevice);
 3892}
 3893static inline HRESULT ID3D11CommandList_GetPrivateData(ID3D11CommandList* This,REFGUID guid,UINT *pDataSize,void *pData) {
 3894    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 3895}
 3896static inline HRESULT ID3D11CommandList_SetPrivateData(ID3D11CommandList* This,REFGUID guid,UINT DataSize,const void *pData) {
 3897    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 3898}
 3899static inline HRESULT ID3D11CommandList_SetPrivateDataInterface(ID3D11CommandList* This,REFGUID guid,const IUnknown *pData) {
 3900    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 3901}
 3902/*** ID3D11CommandList methods ***/
 3903static inline UINT ID3D11CommandList_GetContextFlags(ID3D11CommandList* This) {
 3904    return This->lpVtbl->GetContextFlags(This);
 3905}
 3906#endif
 3907#endif
 3908
 3909#endif
 3910
 3911
 3912#endif  /* __ID3D11CommandList_INTERFACE_DEFINED__ */
 3913
 3914/*****************************************************************************
 3915 * ID3D11ComputeShader interface
 3916 */
 3917#ifndef __ID3D11ComputeShader_INTERFACE_DEFINED__
 3918#define __ID3D11ComputeShader_INTERFACE_DEFINED__
 3919
 3920DEFINE_GUID(IID_ID3D11ComputeShader, 0x4f5b196e, 0xc2bd, 0x495e, 0xbd,0x01, 0x1f,0xde,0xd3,0x8e,0x49,0x69);
 3921#if defined(__cplusplus) && !defined(CINTERFACE)
 3922MIDL_INTERFACE("4f5b196e-c2bd-495e-bd01-1fded38e4969")
 3923ID3D11ComputeShader : public ID3D11DeviceChild
 3924{
 3925};
 3926#ifdef __CRT_UUID_DECL
 3927__CRT_UUID_DECL(ID3D11ComputeShader, 0x4f5b196e, 0xc2bd, 0x495e, 0xbd,0x01, 0x1f,0xde,0xd3,0x8e,0x49,0x69)
 3928#endif
 3929#else
 3930typedef struct ID3D11ComputeShaderVtbl {
 3931    BEGIN_INTERFACE
 3932
 3933    /*** IUnknown methods ***/
 3934    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 3935        ID3D11ComputeShader *This,
 3936        REFIID riid,
 3937        void **ppvObject);
 3938
 3939    ULONG (STDMETHODCALLTYPE *AddRef)(
 3940        ID3D11ComputeShader *This);
 3941
 3942    ULONG (STDMETHODCALLTYPE *Release)(
 3943        ID3D11ComputeShader *This);
 3944
 3945    /*** ID3D11DeviceChild methods ***/
 3946    void (STDMETHODCALLTYPE *GetDevice)(
 3947        ID3D11ComputeShader *This,
 3948        ID3D11Device **ppDevice);
 3949
 3950    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 3951        ID3D11ComputeShader *This,
 3952        REFGUID guid,
 3953        UINT *pDataSize,
 3954        void *pData);
 3955
 3956    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 3957        ID3D11ComputeShader *This,
 3958        REFGUID guid,
 3959        UINT DataSize,
 3960        const void *pData);
 3961
 3962    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 3963        ID3D11ComputeShader *This,
 3964        REFGUID guid,
 3965        const IUnknown *pData);
 3966
 3967    END_INTERFACE
 3968} ID3D11ComputeShaderVtbl;
 3969
 3970interface ID3D11ComputeShader {
 3971    CONST_VTBL ID3D11ComputeShaderVtbl* lpVtbl;
 3972};
 3973
 3974#ifdef COBJMACROS
 3975#ifndef WIDL_C_INLINE_WRAPPERS
 3976/*** IUnknown methods ***/
 3977#define ID3D11ComputeShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 3978#define ID3D11ComputeShader_AddRef(This) (This)->lpVtbl->AddRef(This)
 3979#define ID3D11ComputeShader_Release(This) (This)->lpVtbl->Release(This)
 3980/*** ID3D11DeviceChild methods ***/
 3981#define ID3D11ComputeShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 3982#define ID3D11ComputeShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 3983#define ID3D11ComputeShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 3984#define ID3D11ComputeShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 3985#else
 3986/*** IUnknown methods ***/
 3987static inline HRESULT ID3D11ComputeShader_QueryInterface(ID3D11ComputeShader* This,REFIID riid,void **ppvObject) {
 3988    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 3989}
 3990static inline ULONG ID3D11ComputeShader_AddRef(ID3D11ComputeShader* This) {
 3991    return This->lpVtbl->AddRef(This);
 3992}
 3993static inline ULONG ID3D11ComputeShader_Release(ID3D11ComputeShader* This) {
 3994    return This->lpVtbl->Release(This);
 3995}
 3996/*** ID3D11DeviceChild methods ***/
 3997static inline void ID3D11ComputeShader_GetDevice(ID3D11ComputeShader* This,ID3D11Device **ppDevice) {
 3998    This->lpVtbl->GetDevice(This,ppDevice);
 3999}
 4000static inline HRESULT ID3D11ComputeShader_GetPrivateData(ID3D11ComputeShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4001    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4002}
 4003static inline HRESULT ID3D11ComputeShader_SetPrivateData(ID3D11ComputeShader* This,REFGUID guid,UINT DataSize,const void *pData) {
 4004    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4005}
 4006static inline HRESULT ID3D11ComputeShader_SetPrivateDataInterface(ID3D11ComputeShader* This,REFGUID guid,const IUnknown *pData) {
 4007    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4008}
 4009#endif
 4010#endif
 4011
 4012#endif
 4013
 4014
 4015#endif  /* __ID3D11ComputeShader_INTERFACE_DEFINED__ */
 4016
 4017/*****************************************************************************
 4018 * ID3D11Counter interface
 4019 */
 4020#ifndef __ID3D11Counter_INTERFACE_DEFINED__
 4021#define __ID3D11Counter_INTERFACE_DEFINED__
 4022
 4023DEFINE_GUID(IID_ID3D11Counter, 0x6e8c49fb, 0xa371, 0x4770, 0xb4,0x40, 0x29,0x08,0x60,0x22,0xb7,0x41);
 4024#if defined(__cplusplus) && !defined(CINTERFACE)
 4025MIDL_INTERFACE("6e8c49fb-a371-4770-b440-29086022b741")
 4026ID3D11Counter : public ID3D11Asynchronous
 4027{
 4028    virtual void STDMETHODCALLTYPE GetDesc(
 4029        D3D11_COUNTER_DESC *pDesc) = 0;
 4030
 4031};
 4032#ifdef __CRT_UUID_DECL
 4033__CRT_UUID_DECL(ID3D11Counter, 0x6e8c49fb, 0xa371, 0x4770, 0xb4,0x40, 0x29,0x08,0x60,0x22,0xb7,0x41)
 4034#endif
 4035#else
 4036typedef struct ID3D11CounterVtbl {
 4037    BEGIN_INTERFACE
 4038
 4039    /*** IUnknown methods ***/
 4040    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4041        ID3D11Counter *This,
 4042        REFIID riid,
 4043        void **ppvObject);
 4044
 4045    ULONG (STDMETHODCALLTYPE *AddRef)(
 4046        ID3D11Counter *This);
 4047
 4048    ULONG (STDMETHODCALLTYPE *Release)(
 4049        ID3D11Counter *This);
 4050
 4051    /*** ID3D11DeviceChild methods ***/
 4052    void (STDMETHODCALLTYPE *GetDevice)(
 4053        ID3D11Counter *This,
 4054        ID3D11Device **ppDevice);
 4055
 4056    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4057        ID3D11Counter *This,
 4058        REFGUID guid,
 4059        UINT *pDataSize,
 4060        void *pData);
 4061
 4062    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4063        ID3D11Counter *This,
 4064        REFGUID guid,
 4065        UINT DataSize,
 4066        const void *pData);
 4067
 4068    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4069        ID3D11Counter *This,
 4070        REFGUID guid,
 4071        const IUnknown *pData);
 4072
 4073    /*** ID3D11Asynchronous methods ***/
 4074    UINT (STDMETHODCALLTYPE *GetDataSize)(
 4075        ID3D11Counter *This);
 4076
 4077    /*** ID3D11Counter methods ***/
 4078    void (STDMETHODCALLTYPE *GetDesc)(
 4079        ID3D11Counter *This,
 4080        D3D11_COUNTER_DESC *pDesc);
 4081
 4082    END_INTERFACE
 4083} ID3D11CounterVtbl;
 4084
 4085interface ID3D11Counter {
 4086    CONST_VTBL ID3D11CounterVtbl* lpVtbl;
 4087};
 4088
 4089#ifdef COBJMACROS
 4090#ifndef WIDL_C_INLINE_WRAPPERS
 4091/*** IUnknown methods ***/
 4092#define ID3D11Counter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4093#define ID3D11Counter_AddRef(This) (This)->lpVtbl->AddRef(This)
 4094#define ID3D11Counter_Release(This) (This)->lpVtbl->Release(This)
 4095/*** ID3D11DeviceChild methods ***/
 4096#define ID3D11Counter_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4097#define ID3D11Counter_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4098#define ID3D11Counter_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4099#define ID3D11Counter_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4100/*** ID3D11Asynchronous methods ***/
 4101#define ID3D11Counter_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
 4102/*** ID3D11Counter methods ***/
 4103#define ID3D11Counter_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 4104#else
 4105/*** IUnknown methods ***/
 4106static inline HRESULT ID3D11Counter_QueryInterface(ID3D11Counter* This,REFIID riid,void **ppvObject) {
 4107    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4108}
 4109static inline ULONG ID3D11Counter_AddRef(ID3D11Counter* This) {
 4110    return This->lpVtbl->AddRef(This);
 4111}
 4112static inline ULONG ID3D11Counter_Release(ID3D11Counter* This) {
 4113    return This->lpVtbl->Release(This);
 4114}
 4115/*** ID3D11DeviceChild methods ***/
 4116static inline void ID3D11Counter_GetDevice(ID3D11Counter* This,ID3D11Device **ppDevice) {
 4117    This->lpVtbl->GetDevice(This,ppDevice);
 4118}
 4119static inline HRESULT ID3D11Counter_GetPrivateData(ID3D11Counter* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4120    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4121}
 4122static inline HRESULT ID3D11Counter_SetPrivateData(ID3D11Counter* This,REFGUID guid,UINT DataSize,const void *pData) {
 4123    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4124}
 4125static inline HRESULT ID3D11Counter_SetPrivateDataInterface(ID3D11Counter* This,REFGUID guid,const IUnknown *pData) {
 4126    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4127}
 4128/*** ID3D11Asynchronous methods ***/
 4129static inline UINT ID3D11Counter_GetDataSize(ID3D11Counter* This) {
 4130    return This->lpVtbl->GetDataSize(This);
 4131}
 4132/*** ID3D11Counter methods ***/
 4133static inline void ID3D11Counter_GetDesc(ID3D11Counter* This,D3D11_COUNTER_DESC *pDesc) {
 4134    This->lpVtbl->GetDesc(This,pDesc);
 4135}
 4136#endif
 4137#endif
 4138
 4139#endif
 4140
 4141
 4142#endif  /* __ID3D11Counter_INTERFACE_DEFINED__ */
 4143
 4144/*****************************************************************************
 4145 * ID3D11DepthStencilState interface
 4146 */
 4147#ifndef __ID3D11DepthStencilState_INTERFACE_DEFINED__
 4148#define __ID3D11DepthStencilState_INTERFACE_DEFINED__
 4149
 4150DEFINE_GUID(IID_ID3D11DepthStencilState, 0x03823efb, 0x8d8f, 0x4e1c, 0x9a,0xa2, 0xf6,0x4b,0xb2,0xcb,0xfd,0xf1);
 4151#if defined(__cplusplus) && !defined(CINTERFACE)
 4152MIDL_INTERFACE("03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1")
 4153ID3D11DepthStencilState : public ID3D11DeviceChild
 4154{
 4155    virtual void STDMETHODCALLTYPE GetDesc(
 4156        D3D11_DEPTH_STENCIL_DESC *pDesc) = 0;
 4157
 4158};
 4159#ifdef __CRT_UUID_DECL
 4160__CRT_UUID_DECL(ID3D11DepthStencilState, 0x03823efb, 0x8d8f, 0x4e1c, 0x9a,0xa2, 0xf6,0x4b,0xb2,0xcb,0xfd,0xf1)
 4161#endif
 4162#else
 4163typedef struct ID3D11DepthStencilStateVtbl {
 4164    BEGIN_INTERFACE
 4165
 4166    /*** IUnknown methods ***/
 4167    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4168        ID3D11DepthStencilState *This,
 4169        REFIID riid,
 4170        void **ppvObject);
 4171
 4172    ULONG (STDMETHODCALLTYPE *AddRef)(
 4173        ID3D11DepthStencilState *This);
 4174
 4175    ULONG (STDMETHODCALLTYPE *Release)(
 4176        ID3D11DepthStencilState *This);
 4177
 4178    /*** ID3D11DeviceChild methods ***/
 4179    void (STDMETHODCALLTYPE *GetDevice)(
 4180        ID3D11DepthStencilState *This,
 4181        ID3D11Device **ppDevice);
 4182
 4183    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4184        ID3D11DepthStencilState *This,
 4185        REFGUID guid,
 4186        UINT *pDataSize,
 4187        void *pData);
 4188
 4189    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4190        ID3D11DepthStencilState *This,
 4191        REFGUID guid,
 4192        UINT DataSize,
 4193        const void *pData);
 4194
 4195    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4196        ID3D11DepthStencilState *This,
 4197        REFGUID guid,
 4198        const IUnknown *pData);
 4199
 4200    /*** ID3D11DepthStencilState methods ***/
 4201    void (STDMETHODCALLTYPE *GetDesc)(
 4202        ID3D11DepthStencilState *This,
 4203        D3D11_DEPTH_STENCIL_DESC *pDesc);
 4204
 4205    END_INTERFACE
 4206} ID3D11DepthStencilStateVtbl;
 4207
 4208interface ID3D11DepthStencilState {
 4209    CONST_VTBL ID3D11DepthStencilStateVtbl* lpVtbl;
 4210};
 4211
 4212#ifdef COBJMACROS
 4213#ifndef WIDL_C_INLINE_WRAPPERS
 4214/*** IUnknown methods ***/
 4215#define ID3D11DepthStencilState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4216#define ID3D11DepthStencilState_AddRef(This) (This)->lpVtbl->AddRef(This)
 4217#define ID3D11DepthStencilState_Release(This) (This)->lpVtbl->Release(This)
 4218/*** ID3D11DeviceChild methods ***/
 4219#define ID3D11DepthStencilState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4220#define ID3D11DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4221#define ID3D11DepthStencilState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4222#define ID3D11DepthStencilState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4223/*** ID3D11DepthStencilState methods ***/
 4224#define ID3D11DepthStencilState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 4225#else
 4226/*** IUnknown methods ***/
 4227static inline HRESULT ID3D11DepthStencilState_QueryInterface(ID3D11DepthStencilState* This,REFIID riid,void **ppvObject) {
 4228    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4229}
 4230static inline ULONG ID3D11DepthStencilState_AddRef(ID3D11DepthStencilState* This) {
 4231    return This->lpVtbl->AddRef(This);
 4232}
 4233static inline ULONG ID3D11DepthStencilState_Release(ID3D11DepthStencilState* This) {
 4234    return This->lpVtbl->Release(This);
 4235}
 4236/*** ID3D11DeviceChild methods ***/
 4237static inline void ID3D11DepthStencilState_GetDevice(ID3D11DepthStencilState* This,ID3D11Device **ppDevice) {
 4238    This->lpVtbl->GetDevice(This,ppDevice);
 4239}
 4240static inline HRESULT ID3D11DepthStencilState_GetPrivateData(ID3D11DepthStencilState* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4241    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4242}
 4243static inline HRESULT ID3D11DepthStencilState_SetPrivateData(ID3D11DepthStencilState* This,REFGUID guid,UINT DataSize,const void *pData) {
 4244    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4245}
 4246static inline HRESULT ID3D11DepthStencilState_SetPrivateDataInterface(ID3D11DepthStencilState* This,REFGUID guid,const IUnknown *pData) {
 4247    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4248}
 4249/*** ID3D11DepthStencilState methods ***/
 4250static inline void ID3D11DepthStencilState_GetDesc(ID3D11DepthStencilState* This,D3D11_DEPTH_STENCIL_DESC *pDesc) {
 4251    This->lpVtbl->GetDesc(This,pDesc);
 4252}
 4253#endif
 4254#endif
 4255
 4256#endif
 4257
 4258
 4259#endif  /* __ID3D11DepthStencilState_INTERFACE_DEFINED__ */
 4260
 4261/*****************************************************************************
 4262 * ID3D11DepthStencilView interface
 4263 */
 4264#ifndef __ID3D11DepthStencilView_INTERFACE_DEFINED__
 4265#define __ID3D11DepthStencilView_INTERFACE_DEFINED__
 4266
 4267DEFINE_GUID(IID_ID3D11DepthStencilView, 0x9fdac92a, 0x1876, 0x48c3, 0xaf,0xad, 0x25,0xb9,0x4f,0x84,0xa9,0xb6);
 4268#if defined(__cplusplus) && !defined(CINTERFACE)
 4269MIDL_INTERFACE("9fdac92a-1876-48c3-afad-25b94f84a9b6")
 4270ID3D11DepthStencilView : public ID3D11View
 4271{
 4272    virtual void STDMETHODCALLTYPE GetDesc(
 4273        D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
 4274
 4275};
 4276#ifdef __CRT_UUID_DECL
 4277__CRT_UUID_DECL(ID3D11DepthStencilView, 0x9fdac92a, 0x1876, 0x48c3, 0xaf,0xad, 0x25,0xb9,0x4f,0x84,0xa9,0xb6)
 4278#endif
 4279#else
 4280typedef struct ID3D11DepthStencilViewVtbl {
 4281    BEGIN_INTERFACE
 4282
 4283    /*** IUnknown methods ***/
 4284    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4285        ID3D11DepthStencilView *This,
 4286        REFIID riid,
 4287        void **ppvObject);
 4288
 4289    ULONG (STDMETHODCALLTYPE *AddRef)(
 4290        ID3D11DepthStencilView *This);
 4291
 4292    ULONG (STDMETHODCALLTYPE *Release)(
 4293        ID3D11DepthStencilView *This);
 4294
 4295    /*** ID3D11DeviceChild methods ***/
 4296    void (STDMETHODCALLTYPE *GetDevice)(
 4297        ID3D11DepthStencilView *This,
 4298        ID3D11Device **ppDevice);
 4299
 4300    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4301        ID3D11DepthStencilView *This,
 4302        REFGUID guid,
 4303        UINT *pDataSize,
 4304        void *pData);
 4305
 4306    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4307        ID3D11DepthStencilView *This,
 4308        REFGUID guid,
 4309        UINT DataSize,
 4310        const void *pData);
 4311
 4312    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4313        ID3D11DepthStencilView *This,
 4314        REFGUID guid,
 4315        const IUnknown *pData);
 4316
 4317    /*** ID3D11View methods ***/
 4318    void (STDMETHODCALLTYPE *GetResource)(
 4319        ID3D11DepthStencilView *This,
 4320        ID3D11Resource **ppResource);
 4321
 4322    /*** ID3D11DepthStencilView methods ***/
 4323    void (STDMETHODCALLTYPE *GetDesc)(
 4324        ID3D11DepthStencilView *This,
 4325        D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
 4326
 4327    END_INTERFACE
 4328} ID3D11DepthStencilViewVtbl;
 4329
 4330interface ID3D11DepthStencilView {
 4331    CONST_VTBL ID3D11DepthStencilViewVtbl* lpVtbl;
 4332};
 4333
 4334#ifdef COBJMACROS
 4335#ifndef WIDL_C_INLINE_WRAPPERS
 4336/*** IUnknown methods ***/
 4337#define ID3D11DepthStencilView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4338#define ID3D11DepthStencilView_AddRef(This) (This)->lpVtbl->AddRef(This)
 4339#define ID3D11DepthStencilView_Release(This) (This)->lpVtbl->Release(This)
 4340/*** ID3D11DeviceChild methods ***/
 4341#define ID3D11DepthStencilView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4342#define ID3D11DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4343#define ID3D11DepthStencilView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4344#define ID3D11DepthStencilView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4345/*** ID3D11View methods ***/
 4346#define ID3D11DepthStencilView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 4347/*** ID3D11DepthStencilView methods ***/
 4348#define ID3D11DepthStencilView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 4349#else
 4350/*** IUnknown methods ***/
 4351static inline HRESULT ID3D11DepthStencilView_QueryInterface(ID3D11DepthStencilView* This,REFIID riid,void **ppvObject) {
 4352    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4353}
 4354static inline ULONG ID3D11DepthStencilView_AddRef(ID3D11DepthStencilView* This) {
 4355    return This->lpVtbl->AddRef(This);
 4356}
 4357static inline ULONG ID3D11DepthStencilView_Release(ID3D11DepthStencilView* This) {
 4358    return This->lpVtbl->Release(This);
 4359}
 4360/*** ID3D11DeviceChild methods ***/
 4361static inline void ID3D11DepthStencilView_GetDevice(ID3D11DepthStencilView* This,ID3D11Device **ppDevice) {
 4362    This->lpVtbl->GetDevice(This,ppDevice);
 4363}
 4364static inline HRESULT ID3D11DepthStencilView_GetPrivateData(ID3D11DepthStencilView* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4365    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4366}
 4367static inline HRESULT ID3D11DepthStencilView_SetPrivateData(ID3D11DepthStencilView* This,REFGUID guid,UINT DataSize,const void *pData) {
 4368    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4369}
 4370static inline HRESULT ID3D11DepthStencilView_SetPrivateDataInterface(ID3D11DepthStencilView* This,REFGUID guid,const IUnknown *pData) {
 4371    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4372}
 4373/*** ID3D11View methods ***/
 4374static inline void ID3D11DepthStencilView_GetResource(ID3D11DepthStencilView* This,ID3D11Resource **ppResource) {
 4375    This->lpVtbl->GetResource(This,ppResource);
 4376}
 4377/*** ID3D11DepthStencilView methods ***/
 4378static inline void ID3D11DepthStencilView_GetDesc(ID3D11DepthStencilView* This,D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc) {
 4379    This->lpVtbl->GetDesc(This,pDesc);
 4380}
 4381#endif
 4382#endif
 4383
 4384#endif
 4385
 4386
 4387#endif  /* __ID3D11DepthStencilView_INTERFACE_DEFINED__ */
 4388
 4389/*****************************************************************************
 4390 * ID3D11DomainShader interface
 4391 */
 4392#ifndef __ID3D11DomainShader_INTERFACE_DEFINED__
 4393#define __ID3D11DomainShader_INTERFACE_DEFINED__
 4394
 4395DEFINE_GUID(IID_ID3D11DomainShader, 0xf582c508, 0x0f36, 0x490c, 0x99,0x77, 0x31,0xee,0xce,0x26,0x8c,0xfa);
 4396#if defined(__cplusplus) && !defined(CINTERFACE)
 4397MIDL_INTERFACE("f582c508-0f36-490c-9977-31eece268cfa")
 4398ID3D11DomainShader : public ID3D11DeviceChild
 4399{
 4400};
 4401#ifdef __CRT_UUID_DECL
 4402__CRT_UUID_DECL(ID3D11DomainShader, 0xf582c508, 0x0f36, 0x490c, 0x99,0x77, 0x31,0xee,0xce,0x26,0x8c,0xfa)
 4403#endif
 4404#else
 4405typedef struct ID3D11DomainShaderVtbl {
 4406    BEGIN_INTERFACE
 4407
 4408    /*** IUnknown methods ***/
 4409    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4410        ID3D11DomainShader *This,
 4411        REFIID riid,
 4412        void **ppvObject);
 4413
 4414    ULONG (STDMETHODCALLTYPE *AddRef)(
 4415        ID3D11DomainShader *This);
 4416
 4417    ULONG (STDMETHODCALLTYPE *Release)(
 4418        ID3D11DomainShader *This);
 4419
 4420    /*** ID3D11DeviceChild methods ***/
 4421    void (STDMETHODCALLTYPE *GetDevice)(
 4422        ID3D11DomainShader *This,
 4423        ID3D11Device **ppDevice);
 4424
 4425    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4426        ID3D11DomainShader *This,
 4427        REFGUID guid,
 4428        UINT *pDataSize,
 4429        void *pData);
 4430
 4431    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4432        ID3D11DomainShader *This,
 4433        REFGUID guid,
 4434        UINT DataSize,
 4435        const void *pData);
 4436
 4437    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4438        ID3D11DomainShader *This,
 4439        REFGUID guid,
 4440        const IUnknown *pData);
 4441
 4442    END_INTERFACE
 4443} ID3D11DomainShaderVtbl;
 4444
 4445interface ID3D11DomainShader {
 4446    CONST_VTBL ID3D11DomainShaderVtbl* lpVtbl;
 4447};
 4448
 4449#ifdef COBJMACROS
 4450#ifndef WIDL_C_INLINE_WRAPPERS
 4451/*** IUnknown methods ***/
 4452#define ID3D11DomainShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4453#define ID3D11DomainShader_AddRef(This) (This)->lpVtbl->AddRef(This)
 4454#define ID3D11DomainShader_Release(This) (This)->lpVtbl->Release(This)
 4455/*** ID3D11DeviceChild methods ***/
 4456#define ID3D11DomainShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4457#define ID3D11DomainShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4458#define ID3D11DomainShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4459#define ID3D11DomainShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4460#else
 4461/*** IUnknown methods ***/
 4462static inline HRESULT ID3D11DomainShader_QueryInterface(ID3D11DomainShader* This,REFIID riid,void **ppvObject) {
 4463    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4464}
 4465static inline ULONG ID3D11DomainShader_AddRef(ID3D11DomainShader* This) {
 4466    return This->lpVtbl->AddRef(This);
 4467}
 4468static inline ULONG ID3D11DomainShader_Release(ID3D11DomainShader* This) {
 4469    return This->lpVtbl->Release(This);
 4470}
 4471/*** ID3D11DeviceChild methods ***/
 4472static inline void ID3D11DomainShader_GetDevice(ID3D11DomainShader* This,ID3D11Device **ppDevice) {
 4473    This->lpVtbl->GetDevice(This,ppDevice);
 4474}
 4475static inline HRESULT ID3D11DomainShader_GetPrivateData(ID3D11DomainShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4476    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4477}
 4478static inline HRESULT ID3D11DomainShader_SetPrivateData(ID3D11DomainShader* This,REFGUID guid,UINT DataSize,const void *pData) {
 4479    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4480}
 4481static inline HRESULT ID3D11DomainShader_SetPrivateDataInterface(ID3D11DomainShader* This,REFGUID guid,const IUnknown *pData) {
 4482    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4483}
 4484#endif
 4485#endif
 4486
 4487#endif
 4488
 4489
 4490#endif  /* __ID3D11DomainShader_INTERFACE_DEFINED__ */
 4491
 4492/*****************************************************************************
 4493 * ID3D11GeometryShader interface
 4494 */
 4495#ifndef __ID3D11GeometryShader_INTERFACE_DEFINED__
 4496#define __ID3D11GeometryShader_INTERFACE_DEFINED__
 4497
 4498DEFINE_GUID(IID_ID3D11GeometryShader, 0x38325b96, 0xeffb, 0x4022, 0xba,0x02, 0x2e,0x79,0x5b,0x70,0x27,0x5c);
 4499#if defined(__cplusplus) && !defined(CINTERFACE)
 4500MIDL_INTERFACE("38325b96-effb-4022-ba02-2e795b70275c")
 4501ID3D11GeometryShader : public ID3D11DeviceChild
 4502{
 4503};
 4504#ifdef __CRT_UUID_DECL
 4505__CRT_UUID_DECL(ID3D11GeometryShader, 0x38325b96, 0xeffb, 0x4022, 0xba,0x02, 0x2e,0x79,0x5b,0x70,0x27,0x5c)
 4506#endif
 4507#else
 4508typedef struct ID3D11GeometryShaderVtbl {
 4509    BEGIN_INTERFACE
 4510
 4511    /*** IUnknown methods ***/
 4512    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4513        ID3D11GeometryShader *This,
 4514        REFIID riid,
 4515        void **ppvObject);
 4516
 4517    ULONG (STDMETHODCALLTYPE *AddRef)(
 4518        ID3D11GeometryShader *This);
 4519
 4520    ULONG (STDMETHODCALLTYPE *Release)(
 4521        ID3D11GeometryShader *This);
 4522
 4523    /*** ID3D11DeviceChild methods ***/
 4524    void (STDMETHODCALLTYPE *GetDevice)(
 4525        ID3D11GeometryShader *This,
 4526        ID3D11Device **ppDevice);
 4527
 4528    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4529        ID3D11GeometryShader *This,
 4530        REFGUID guid,
 4531        UINT *pDataSize,
 4532        void *pData);
 4533
 4534    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4535        ID3D11GeometryShader *This,
 4536        REFGUID guid,
 4537        UINT DataSize,
 4538        const void *pData);
 4539
 4540    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4541        ID3D11GeometryShader *This,
 4542        REFGUID guid,
 4543        const IUnknown *pData);
 4544
 4545    END_INTERFACE
 4546} ID3D11GeometryShaderVtbl;
 4547
 4548interface ID3D11GeometryShader {
 4549    CONST_VTBL ID3D11GeometryShaderVtbl* lpVtbl;
 4550};
 4551
 4552#ifdef COBJMACROS
 4553#ifndef WIDL_C_INLINE_WRAPPERS
 4554/*** IUnknown methods ***/
 4555#define ID3D11GeometryShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4556#define ID3D11GeometryShader_AddRef(This) (This)->lpVtbl->AddRef(This)
 4557#define ID3D11GeometryShader_Release(This) (This)->lpVtbl->Release(This)
 4558/*** ID3D11DeviceChild methods ***/
 4559#define ID3D11GeometryShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4560#define ID3D11GeometryShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4561#define ID3D11GeometryShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4562#define ID3D11GeometryShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4563#else
 4564/*** IUnknown methods ***/
 4565static inline HRESULT ID3D11GeometryShader_QueryInterface(ID3D11GeometryShader* This,REFIID riid,void **ppvObject) {
 4566    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4567}
 4568static inline ULONG ID3D11GeometryShader_AddRef(ID3D11GeometryShader* This) {
 4569    return This->lpVtbl->AddRef(This);
 4570}
 4571static inline ULONG ID3D11GeometryShader_Release(ID3D11GeometryShader* This) {
 4572    return This->lpVtbl->Release(This);
 4573}
 4574/*** ID3D11DeviceChild methods ***/
 4575static inline void ID3D11GeometryShader_GetDevice(ID3D11GeometryShader* This,ID3D11Device **ppDevice) {
 4576    This->lpVtbl->GetDevice(This,ppDevice);
 4577}
 4578static inline HRESULT ID3D11GeometryShader_GetPrivateData(ID3D11GeometryShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4579    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4580}
 4581static inline HRESULT ID3D11GeometryShader_SetPrivateData(ID3D11GeometryShader* This,REFGUID guid,UINT DataSize,const void *pData) {
 4582    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4583}
 4584static inline HRESULT ID3D11GeometryShader_SetPrivateDataInterface(ID3D11GeometryShader* This,REFGUID guid,const IUnknown *pData) {
 4585    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4586}
 4587#endif
 4588#endif
 4589
 4590#endif
 4591
 4592
 4593#endif  /* __ID3D11GeometryShader_INTERFACE_DEFINED__ */
 4594
 4595/*****************************************************************************
 4596 * ID3D11HullShader interface
 4597 */
 4598#ifndef __ID3D11HullShader_INTERFACE_DEFINED__
 4599#define __ID3D11HullShader_INTERFACE_DEFINED__
 4600
 4601DEFINE_GUID(IID_ID3D11HullShader, 0x8e5c6061, 0x628a, 0x4c8e, 0x82,0x64, 0xbb,0xe4,0x5c,0xb3,0xd5,0xdd);
 4602#if defined(__cplusplus) && !defined(CINTERFACE)
 4603MIDL_INTERFACE("8e5c6061-628a-4c8e-8264-bbe45cb3d5dd")
 4604ID3D11HullShader : public ID3D11DeviceChild
 4605{
 4606};
 4607#ifdef __CRT_UUID_DECL
 4608__CRT_UUID_DECL(ID3D11HullShader, 0x8e5c6061, 0x628a, 0x4c8e, 0x82,0x64, 0xbb,0xe4,0x5c,0xb3,0xd5,0xdd)
 4609#endif
 4610#else
 4611typedef struct ID3D11HullShaderVtbl {
 4612    BEGIN_INTERFACE
 4613
 4614    /*** IUnknown methods ***/
 4615    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4616        ID3D11HullShader *This,
 4617        REFIID riid,
 4618        void **ppvObject);
 4619
 4620    ULONG (STDMETHODCALLTYPE *AddRef)(
 4621        ID3D11HullShader *This);
 4622
 4623    ULONG (STDMETHODCALLTYPE *Release)(
 4624        ID3D11HullShader *This);
 4625
 4626    /*** ID3D11DeviceChild methods ***/
 4627    void (STDMETHODCALLTYPE *GetDevice)(
 4628        ID3D11HullShader *This,
 4629        ID3D11Device **ppDevice);
 4630
 4631    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4632        ID3D11HullShader *This,
 4633        REFGUID guid,
 4634        UINT *pDataSize,
 4635        void *pData);
 4636
 4637    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4638        ID3D11HullShader *This,
 4639        REFGUID guid,
 4640        UINT DataSize,
 4641        const void *pData);
 4642
 4643    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4644        ID3D11HullShader *This,
 4645        REFGUID guid,
 4646        const IUnknown *pData);
 4647
 4648    END_INTERFACE
 4649} ID3D11HullShaderVtbl;
 4650
 4651interface ID3D11HullShader {
 4652    CONST_VTBL ID3D11HullShaderVtbl* lpVtbl;
 4653};
 4654
 4655#ifdef COBJMACROS
 4656#ifndef WIDL_C_INLINE_WRAPPERS
 4657/*** IUnknown methods ***/
 4658#define ID3D11HullShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4659#define ID3D11HullShader_AddRef(This) (This)->lpVtbl->AddRef(This)
 4660#define ID3D11HullShader_Release(This) (This)->lpVtbl->Release(This)
 4661/*** ID3D11DeviceChild methods ***/
 4662#define ID3D11HullShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4663#define ID3D11HullShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4664#define ID3D11HullShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4665#define ID3D11HullShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4666#else
 4667/*** IUnknown methods ***/
 4668static inline HRESULT ID3D11HullShader_QueryInterface(ID3D11HullShader* This,REFIID riid,void **ppvObject) {
 4669    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4670}
 4671static inline ULONG ID3D11HullShader_AddRef(ID3D11HullShader* This) {
 4672    return This->lpVtbl->AddRef(This);
 4673}
 4674static inline ULONG ID3D11HullShader_Release(ID3D11HullShader* This) {
 4675    return This->lpVtbl->Release(This);
 4676}
 4677/*** ID3D11DeviceChild methods ***/
 4678static inline void ID3D11HullShader_GetDevice(ID3D11HullShader* This,ID3D11Device **ppDevice) {
 4679    This->lpVtbl->GetDevice(This,ppDevice);
 4680}
 4681static inline HRESULT ID3D11HullShader_GetPrivateData(ID3D11HullShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4682    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4683}
 4684static inline HRESULT ID3D11HullShader_SetPrivateData(ID3D11HullShader* This,REFGUID guid,UINT DataSize,const void *pData) {
 4685    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4686}
 4687static inline HRESULT ID3D11HullShader_SetPrivateDataInterface(ID3D11HullShader* This,REFGUID guid,const IUnknown *pData) {
 4688    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4689}
 4690#endif
 4691#endif
 4692
 4693#endif
 4694
 4695
 4696#endif  /* __ID3D11HullShader_INTERFACE_DEFINED__ */
 4697
 4698/*****************************************************************************
 4699 * ID3D11InputLayout interface
 4700 */
 4701#ifndef __ID3D11InputLayout_INTERFACE_DEFINED__
 4702#define __ID3D11InputLayout_INTERFACE_DEFINED__
 4703
 4704DEFINE_GUID(IID_ID3D11InputLayout, 0xe4819ddc, 0x4cf0, 0x4025, 0xbd,0x26, 0x5d,0xe8,0x2a,0x3e,0x07,0xb7);
 4705#if defined(__cplusplus) && !defined(CINTERFACE)
 4706MIDL_INTERFACE("e4819ddc-4cf0-4025-bd26-5de82a3e07b7")
 4707ID3D11InputLayout : public ID3D11DeviceChild
 4708{
 4709};
 4710#ifdef __CRT_UUID_DECL
 4711__CRT_UUID_DECL(ID3D11InputLayout, 0xe4819ddc, 0x4cf0, 0x4025, 0xbd,0x26, 0x5d,0xe8,0x2a,0x3e,0x07,0xb7)
 4712#endif
 4713#else
 4714typedef struct ID3D11InputLayoutVtbl {
 4715    BEGIN_INTERFACE
 4716
 4717    /*** IUnknown methods ***/
 4718    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4719        ID3D11InputLayout *This,
 4720        REFIID riid,
 4721        void **ppvObject);
 4722
 4723    ULONG (STDMETHODCALLTYPE *AddRef)(
 4724        ID3D11InputLayout *This);
 4725
 4726    ULONG (STDMETHODCALLTYPE *Release)(
 4727        ID3D11InputLayout *This);
 4728
 4729    /*** ID3D11DeviceChild methods ***/
 4730    void (STDMETHODCALLTYPE *GetDevice)(
 4731        ID3D11InputLayout *This,
 4732        ID3D11Device **ppDevice);
 4733
 4734    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4735        ID3D11InputLayout *This,
 4736        REFGUID guid,
 4737        UINT *pDataSize,
 4738        void *pData);
 4739
 4740    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4741        ID3D11InputLayout *This,
 4742        REFGUID guid,
 4743        UINT DataSize,
 4744        const void *pData);
 4745
 4746    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4747        ID3D11InputLayout *This,
 4748        REFGUID guid,
 4749        const IUnknown *pData);
 4750
 4751    END_INTERFACE
 4752} ID3D11InputLayoutVtbl;
 4753
 4754interface ID3D11InputLayout {
 4755    CONST_VTBL ID3D11InputLayoutVtbl* lpVtbl;
 4756};
 4757
 4758#ifdef COBJMACROS
 4759#ifndef WIDL_C_INLINE_WRAPPERS
 4760/*** IUnknown methods ***/
 4761#define ID3D11InputLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4762#define ID3D11InputLayout_AddRef(This) (This)->lpVtbl->AddRef(This)
 4763#define ID3D11InputLayout_Release(This) (This)->lpVtbl->Release(This)
 4764/*** ID3D11DeviceChild methods ***/
 4765#define ID3D11InputLayout_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4766#define ID3D11InputLayout_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4767#define ID3D11InputLayout_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4768#define ID3D11InputLayout_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4769#else
 4770/*** IUnknown methods ***/
 4771static inline HRESULT ID3D11InputLayout_QueryInterface(ID3D11InputLayout* This,REFIID riid,void **ppvObject) {
 4772    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4773}
 4774static inline ULONG ID3D11InputLayout_AddRef(ID3D11InputLayout* This) {
 4775    return This->lpVtbl->AddRef(This);
 4776}
 4777static inline ULONG ID3D11InputLayout_Release(ID3D11InputLayout* This) {
 4778    return This->lpVtbl->Release(This);
 4779}
 4780/*** ID3D11DeviceChild methods ***/
 4781static inline void ID3D11InputLayout_GetDevice(ID3D11InputLayout* This,ID3D11Device **ppDevice) {
 4782    This->lpVtbl->GetDevice(This,ppDevice);
 4783}
 4784static inline HRESULT ID3D11InputLayout_GetPrivateData(ID3D11InputLayout* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4785    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4786}
 4787static inline HRESULT ID3D11InputLayout_SetPrivateData(ID3D11InputLayout* This,REFGUID guid,UINT DataSize,const void *pData) {
 4788    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4789}
 4790static inline HRESULT ID3D11InputLayout_SetPrivateDataInterface(ID3D11InputLayout* This,REFGUID guid,const IUnknown *pData) {
 4791    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4792}
 4793#endif
 4794#endif
 4795
 4796#endif
 4797
 4798
 4799#endif  /* __ID3D11InputLayout_INTERFACE_DEFINED__ */
 4800
 4801/*****************************************************************************
 4802 * ID3D11PixelShader interface
 4803 */
 4804#ifndef __ID3D11PixelShader_INTERFACE_DEFINED__
 4805#define __ID3D11PixelShader_INTERFACE_DEFINED__
 4806
 4807DEFINE_GUID(IID_ID3D11PixelShader, 0xea82e40d, 0x51dc, 0x4f33, 0x93,0xd4, 0xdb,0x7c,0x91,0x25,0xae,0x8c);
 4808#if defined(__cplusplus) && !defined(CINTERFACE)
 4809MIDL_INTERFACE("ea82e40d-51dc-4f33-93d4-db7c9125ae8c")
 4810ID3D11PixelShader : public ID3D11DeviceChild
 4811{
 4812};
 4813#ifdef __CRT_UUID_DECL
 4814__CRT_UUID_DECL(ID3D11PixelShader, 0xea82e40d, 0x51dc, 0x4f33, 0x93,0xd4, 0xdb,0x7c,0x91,0x25,0xae,0x8c)
 4815#endif
 4816#else
 4817typedef struct ID3D11PixelShaderVtbl {
 4818    BEGIN_INTERFACE
 4819
 4820    /*** IUnknown methods ***/
 4821    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4822        ID3D11PixelShader *This,
 4823        REFIID riid,
 4824        void **ppvObject);
 4825
 4826    ULONG (STDMETHODCALLTYPE *AddRef)(
 4827        ID3D11PixelShader *This);
 4828
 4829    ULONG (STDMETHODCALLTYPE *Release)(
 4830        ID3D11PixelShader *This);
 4831
 4832    /*** ID3D11DeviceChild methods ***/
 4833    void (STDMETHODCALLTYPE *GetDevice)(
 4834        ID3D11PixelShader *This,
 4835        ID3D11Device **ppDevice);
 4836
 4837    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4838        ID3D11PixelShader *This,
 4839        REFGUID guid,
 4840        UINT *pDataSize,
 4841        void *pData);
 4842
 4843    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4844        ID3D11PixelShader *This,
 4845        REFGUID guid,
 4846        UINT DataSize,
 4847        const void *pData);
 4848
 4849    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4850        ID3D11PixelShader *This,
 4851        REFGUID guid,
 4852        const IUnknown *pData);
 4853
 4854    END_INTERFACE
 4855} ID3D11PixelShaderVtbl;
 4856
 4857interface ID3D11PixelShader {
 4858    CONST_VTBL ID3D11PixelShaderVtbl* lpVtbl;
 4859};
 4860
 4861#ifdef COBJMACROS
 4862#ifndef WIDL_C_INLINE_WRAPPERS
 4863/*** IUnknown methods ***/
 4864#define ID3D11PixelShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4865#define ID3D11PixelShader_AddRef(This) (This)->lpVtbl->AddRef(This)
 4866#define ID3D11PixelShader_Release(This) (This)->lpVtbl->Release(This)
 4867/*** ID3D11DeviceChild methods ***/
 4868#define ID3D11PixelShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4869#define ID3D11PixelShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4870#define ID3D11PixelShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4871#define ID3D11PixelShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4872#else
 4873/*** IUnknown methods ***/
 4874static inline HRESULT ID3D11PixelShader_QueryInterface(ID3D11PixelShader* This,REFIID riid,void **ppvObject) {
 4875    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4876}
 4877static inline ULONG ID3D11PixelShader_AddRef(ID3D11PixelShader* This) {
 4878    return This->lpVtbl->AddRef(This);
 4879}
 4880static inline ULONG ID3D11PixelShader_Release(ID3D11PixelShader* This) {
 4881    return This->lpVtbl->Release(This);
 4882}
 4883/*** ID3D11DeviceChild methods ***/
 4884static inline void ID3D11PixelShader_GetDevice(ID3D11PixelShader* This,ID3D11Device **ppDevice) {
 4885    This->lpVtbl->GetDevice(This,ppDevice);
 4886}
 4887static inline HRESULT ID3D11PixelShader_GetPrivateData(ID3D11PixelShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
 4888    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 4889}
 4890static inline HRESULT ID3D11PixelShader_SetPrivateData(ID3D11PixelShader* This,REFGUID guid,UINT DataSize,const void *pData) {
 4891    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 4892}
 4893static inline HRESULT ID3D11PixelShader_SetPrivateDataInterface(ID3D11PixelShader* This,REFGUID guid,const IUnknown *pData) {
 4894    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 4895}
 4896#endif
 4897#endif
 4898
 4899#endif
 4900
 4901
 4902#endif  /* __ID3D11PixelShader_INTERFACE_DEFINED__ */
 4903
 4904/*****************************************************************************
 4905 * ID3D11Predicate interface
 4906 */
 4907#ifndef __ID3D11Predicate_INTERFACE_DEFINED__
 4908#define __ID3D11Predicate_INTERFACE_DEFINED__
 4909
 4910DEFINE_GUID(IID_ID3D11Predicate, 0x9eb576dd, 0x9f77, 0x4d86, 0x81,0xaa, 0x8b,0xab,0x5f,0xe4,0x90,0xe2);
 4911#if defined(__cplusplus) && !defined(CINTERFACE)
 4912MIDL_INTERFACE("9eb576dd-9f77-4d86-81aa-8bab5fe490e2")
 4913ID3D11Predicate : public ID3D11Query
 4914{
 4915};
 4916#ifdef __CRT_UUID_DECL
 4917__CRT_UUID_DECL(ID3D11Predicate, 0x9eb576dd, 0x9f77, 0x4d86, 0x81,0xaa, 0x8b,0xab,0x5f,0xe4,0x90,0xe2)
 4918#endif
 4919#else
 4920typedef struct ID3D11PredicateVtbl {
 4921    BEGIN_INTERFACE
 4922
 4923    /*** IUnknown methods ***/
 4924    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 4925        ID3D11Predicate *This,
 4926        REFIID riid,
 4927        void **ppvObject);
 4928
 4929    ULONG (STDMETHODCALLTYPE *AddRef)(
 4930        ID3D11Predicate *This);
 4931
 4932    ULONG (STDMETHODCALLTYPE *Release)(
 4933        ID3D11Predicate *This);
 4934
 4935    /*** ID3D11DeviceChild methods ***/
 4936    void (STDMETHODCALLTYPE *GetDevice)(
 4937        ID3D11Predicate *This,
 4938        ID3D11Device **ppDevice);
 4939
 4940    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 4941        ID3D11Predicate *This,
 4942        REFGUID guid,
 4943        UINT *pDataSize,
 4944        void *pData);
 4945
 4946    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 4947        ID3D11Predicate *This,
 4948        REFGUID guid,
 4949        UINT DataSize,
 4950        const void *pData);
 4951
 4952    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 4953        ID3D11Predicate *This,
 4954        REFGUID guid,
 4955        const IUnknown *pData);
 4956
 4957    /*** ID3D11Asynchronous methods ***/
 4958    UINT (STDMETHODCALLTYPE *GetDataSize)(
 4959        ID3D11Predicate *This);
 4960
 4961    /*** ID3D11Query methods ***/
 4962    void (STDMETHODCALLTYPE *GetDesc)(
 4963        ID3D11Predicate *This,
 4964        D3D11_QUERY_DESC *pDesc);
 4965
 4966    END_INTERFACE
 4967} ID3D11PredicateVtbl;
 4968
 4969interface ID3D11Predicate {
 4970    CONST_VTBL ID3D11PredicateVtbl* lpVtbl;
 4971};
 4972
 4973#ifdef COBJMACROS
 4974#ifndef WIDL_C_INLINE_WRAPPERS
 4975/*** IUnknown methods ***/
 4976#define ID3D11Predicate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 4977#define ID3D11Predicate_AddRef(This) (This)->lpVtbl->AddRef(This)
 4978#define ID3D11Predicate_Release(This) (This)->lpVtbl->Release(This)
 4979/*** ID3D11DeviceChild methods ***/
 4980#define ID3D11Predicate_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 4981#define ID3D11Predicate_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 4982#define ID3D11Predicate_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 4983#define ID3D11Predicate_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 4984/*** ID3D11Asynchronous methods ***/
 4985#define ID3D11Predicate_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
 4986/*** ID3D11Query methods ***/
 4987#define ID3D11Predicate_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 4988#else
 4989/*** IUnknown methods ***/
 4990static inline HRESULT ID3D11Predicate_QueryInterface(ID3D11Predicate* This,REFIID riid,void **ppvObject) {
 4991    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 4992}
 4993static inline ULONG ID3D11Predicate_AddRef(ID3D11Predicate* This) {
 4994    return This->lpVtbl->AddRef(This);
 4995}
 4996static inline ULONG ID3D11Predicate_Release(ID3D11Predicate* This) {
 4997    return This->lpVtbl->Release(This);
 4998}
 4999/*** ID3D11DeviceChild methods ***/
 5000static inline void ID3D11Predicate_GetDevice(ID3D11Predicate* This,ID3D11Device **ppDevice) {
 5001    This->lpVtbl->GetDevice(This,ppDevice);
 5002}
 5003static inline HRESULT ID3D11Predicate_GetPrivateData(ID3D11Predicate* This,REFGUID guid,UINT *pDataSize,void *pData) {
 5004    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 5005}
 5006static inline HRESULT ID3D11Predicate_SetPrivateData(ID3D11Predicate* This,REFGUID guid,UINT DataSize,const void *pData) {
 5007    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 5008}
 5009static inline HRESULT ID3D11Predicate_SetPrivateDataInterface(ID3D11Predicate* This,REFGUID guid,const IUnknown *pData) {
 5010    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 5011}
 5012/*** ID3D11Asynchronous methods ***/
 5013static inline UINT ID3D11Predicate_GetDataSize(ID3D11Predicate* This) {
 5014    return This->lpVtbl->GetDataSize(This);
 5015}
 5016/*** ID3D11Query methods ***/
 5017static inline void ID3D11Predicate_GetDesc(ID3D11Predicate* This,D3D11_QUERY_DESC *pDesc) {
 5018    This->lpVtbl->GetDesc(This,pDesc);
 5019}
 5020#endif
 5021#endif
 5022
 5023#endif
 5024
 5025
 5026#endif  /* __ID3D11Predicate_INTERFACE_DEFINED__ */
 5027
 5028/*****************************************************************************
 5029 * ID3D11RasterizerState interface
 5030 */
 5031#ifndef __ID3D11RasterizerState_INTERFACE_DEFINED__
 5032#define __ID3D11RasterizerState_INTERFACE_DEFINED__
 5033
 5034DEFINE_GUID(IID_ID3D11RasterizerState, 0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5,0x06, 0xfc,0x04,0x20,0x0b,0x6e,0xe7);
 5035#if defined(__cplusplus) && !defined(CINTERFACE)
 5036MIDL_INTERFACE("9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7")
 5037ID3D11RasterizerState : public ID3D11DeviceChild
 5038{
 5039    virtual void STDMETHODCALLTYPE GetDesc(
 5040        D3D11_RASTERIZER_DESC *pDesc) = 0;
 5041
 5042};
 5043#ifdef __CRT_UUID_DECL
 5044__CRT_UUID_DECL(ID3D11RasterizerState, 0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5,0x06, 0xfc,0x04,0x20,0x0b,0x6e,0xe7)
 5045#endif
 5046#else
 5047typedef struct ID3D11RasterizerStateVtbl {
 5048    BEGIN_INTERFACE
 5049
 5050    /*** IUnknown methods ***/
 5051    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 5052        ID3D11RasterizerState *This,
 5053        REFIID riid,
 5054        void **ppvObject);
 5055
 5056    ULONG (STDMETHODCALLTYPE *AddRef)(
 5057        ID3D11RasterizerState *This);
 5058
 5059    ULONG (STDMETHODCALLTYPE *Release)(
 5060        ID3D11RasterizerState *This);
 5061
 5062    /*** ID3D11DeviceChild methods ***/
 5063    void (STDMETHODCALLTYPE *GetDevice)(
 5064        ID3D11RasterizerState *This,
 5065        ID3D11Device **ppDevice);
 5066
 5067    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 5068        ID3D11RasterizerState *This,
 5069        REFGUID guid,
 5070        UINT *pDataSize,
 5071        void *pData);
 5072
 5073    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 5074        ID3D11RasterizerState *This,
 5075        REFGUID guid,
 5076        UINT DataSize,
 5077        const void *pData);
 5078
 5079    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 5080        ID3D11RasterizerState *This,
 5081        REFGUID guid,
 5082        const IUnknown *pData);
 5083
 5084    /*** ID3D11RasterizerState methods ***/
 5085    void (STDMETHODCALLTYPE *GetDesc)(
 5086        ID3D11RasterizerState *This,
 5087        D3D11_RASTERIZER_DESC *pDesc);
 5088
 5089    END_INTERFACE
 5090} ID3D11RasterizerStateVtbl;
 5091
 5092interface ID3D11RasterizerState {
 5093    CONST_VTBL ID3D11RasterizerStateVtbl* lpVtbl;
 5094};
 5095
 5096#ifdef COBJMACROS
 5097#ifndef WIDL_C_INLINE_WRAPPERS
 5098/*** IUnknown methods ***/
 5099#define ID3D11RasterizerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 5100#define ID3D11RasterizerState_AddRef(This) (This)->lpVtbl->AddRef(This)
 5101#define ID3D11RasterizerState_Release(This) (This)->lpVtbl->Release(This)
 5102/*** ID3D11DeviceChild methods ***/
 5103#define ID3D11RasterizerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 5104#define ID3D11RasterizerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 5105#define ID3D11RasterizerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 5106#define ID3D11RasterizerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 5107/*** ID3D11RasterizerState methods ***/
 5108#define ID3D11RasterizerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 5109#else
 5110/*** IUnknown methods ***/
 5111static inline HRESULT ID3D11RasterizerState_QueryInterface(ID3D11RasterizerState* This,REFIID riid,void **ppvObject) {
 5112    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 5113}
 5114static inline ULONG ID3D11RasterizerState_AddRef(ID3D11RasterizerState* This) {
 5115    return This->lpVtbl->AddRef(This);
 5116}
 5117static inline ULONG ID3D11RasterizerState_Release(ID3D11RasterizerState* This) {
 5118    return This->lpVtbl->Release(This);
 5119}
 5120/*** ID3D11DeviceChild methods ***/
 5121static inline void ID3D11RasterizerState_GetDevice(ID3D11RasterizerState* This,ID3D11Device **ppDevice) {
 5122    This->lpVtbl->GetDevice(This,ppDevice);
 5123}
 5124static inline HRESULT ID3D11RasterizerState_GetPrivateData(ID3D11RasterizerState* This,REFGUID guid,UINT *pDataSize,void *pData) {
 5125    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 5126}
 5127static inline HRESULT ID3D11RasterizerState_SetPrivateData(ID3D11RasterizerState* This,REFGUID guid,UINT DataSize,const void *pData) {
 5128    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 5129}
 5130static inline HRESULT ID3D11RasterizerState_SetPrivateDataInterface(ID3D11RasterizerState* This,REFGUID guid,const IUnknown *pData) {
 5131    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 5132}
 5133/*** ID3D11RasterizerState methods ***/
 5134static inline void ID3D11RasterizerState_GetDesc(ID3D11RasterizerState* This,D3D11_RASTERIZER_DESC *pDesc) {
 5135    This->lpVtbl->GetDesc(This,pDesc);
 5136}
 5137#endif
 5138#endif
 5139
 5140#endif
 5141
 5142
 5143#endif  /* __ID3D11RasterizerState_INTERFACE_DEFINED__ */
 5144
 5145/*****************************************************************************
 5146 * ID3D11RenderTargetView interface
 5147 */
 5148#ifndef __ID3D11RenderTargetView_INTERFACE_DEFINED__
 5149#define __ID3D11RenderTargetView_INTERFACE_DEFINED__
 5150
 5151DEFINE_GUID(IID_ID3D11RenderTargetView, 0xdfdba067, 0x0b8d, 0x4865, 0x87,0x5b, 0xd7,0xb4,0x51,0x6c,0xc1,0x64);
 5152#if defined(__cplusplus) && !defined(CINTERFACE)
 5153MIDL_INTERFACE("dfdba067-0b8d-4865-875b-d7b4516cc164")
 5154ID3D11RenderTargetView : public ID3D11View
 5155{
 5156    virtual void STDMETHODCALLTYPE GetDesc(
 5157        D3D11_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
 5158
 5159};
 5160#ifdef __CRT_UUID_DECL
 5161__CRT_UUID_DECL(ID3D11RenderTargetView, 0xdfdba067, 0x0b8d, 0x4865, 0x87,0x5b, 0xd7,0xb4,0x51,0x6c,0xc1,0x64)
 5162#endif
 5163#else
 5164typedef struct ID3D11RenderTargetViewVtbl {
 5165    BEGIN_INTERFACE
 5166
 5167    /*** IUnknown methods ***/
 5168    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 5169        ID3D11RenderTargetView *This,
 5170        REFIID riid,
 5171        void **ppvObject);
 5172
 5173    ULONG (STDMETHODCALLTYPE *AddRef)(
 5174        ID3D11RenderTargetView *This);
 5175
 5176    ULONG (STDMETHODCALLTYPE *Release)(
 5177        ID3D11RenderTargetView *This);
 5178
 5179    /*** ID3D11DeviceChild methods ***/
 5180    void (STDMETHODCALLTYPE *GetDevice)(
 5181        ID3D11RenderTargetView *This,
 5182        ID3D11Device **ppDevice);
 5183
 5184    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 5185        ID3D11RenderTargetView *This,
 5186        REFGUID guid,
 5187        UINT *pDataSize,
 5188        void *pData);
 5189
 5190    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 5191        ID3D11RenderTargetView *This,
 5192        REFGUID guid,
 5193        UINT DataSize,
 5194        const void *pData);
 5195
 5196    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 5197        ID3D11RenderTargetView *This,
 5198        REFGUID guid,
 5199        const IUnknown *pData);
 5200
 5201    /*** ID3D11View methods ***/
 5202    void (STDMETHODCALLTYPE *GetResource)(
 5203        ID3D11RenderTargetView *This,
 5204        ID3D11Resource **ppResource);
 5205
 5206    /*** ID3D11RenderTargetView methods ***/
 5207    void (STDMETHODCALLTYPE *GetDesc)(
 5208        ID3D11RenderTargetView *This,
 5209        D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
 5210
 5211    END_INTERFACE
 5212} ID3D11RenderTargetViewVtbl;
 5213
 5214interface ID3D11RenderTargetView {
 5215    CONST_VTBL ID3D11RenderTargetViewVtbl* lpVtbl;
 5216};
 5217
 5218#ifdef COBJMACROS
 5219#ifndef WIDL_C_INLINE_WRAPPERS
 5220/*** IUnknown methods ***/
 5221#define ID3D11RenderTargetView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 5222#define ID3D11RenderTargetView_AddRef(This) (This)->lpVtbl->AddRef(This)
 5223#define ID3D11RenderTargetView_Release(This) (This)->lpVtbl->Release(This)
 5224/*** ID3D11DeviceChild methods ***/
 5225#define ID3D11RenderTargetView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 5226#define ID3D11RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 5227#define ID3D11RenderTargetView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 5228#define ID3D11RenderTargetView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 5229/*** ID3D11View methods ***/
 5230#define ID3D11RenderTargetView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 5231/*** ID3D11RenderTargetView methods ***/
 5232#define ID3D11RenderTargetView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 5233#else
 5234/*** IUnknown methods ***/
 5235static inline HRESULT ID3D11RenderTargetView_QueryInterface(ID3D11RenderTargetView* This,REFIID riid,void **ppvObject) {
 5236    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 5237}
 5238static inline ULONG ID3D11RenderTargetView_AddRef(ID3D11RenderTargetView* This) {
 5239    return This->lpVtbl->AddRef(This);
 5240}
 5241static inline ULONG ID3D11RenderTargetView_Release(ID3D11RenderTargetView* This) {
 5242    return This->lpVtbl->Release(This);
 5243}
 5244/*** ID3D11DeviceChild methods ***/
 5245static inline void ID3D11RenderTargetView_GetDevice(ID3D11RenderTargetView* This,ID3D11Device **ppDevice) {
 5246    This->lpVtbl->GetDevice(This,ppDevice);
 5247}
 5248static inline HRESULT ID3D11RenderTargetView_GetPrivateData(ID3D11RenderTargetView* This,REFGUID guid,UINT *pDataSize,void *pData) {
 5249    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 5250}
 5251static inline HRESULT ID3D11RenderTargetView_SetPrivateData(ID3D11RenderTargetView* This,REFGUID guid,UINT DataSize,const void *pData) {
 5252    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 5253}
 5254static inline HRESULT ID3D11RenderTargetView_SetPrivateDataInterface(ID3D11RenderTargetView* This,REFGUID guid,const IUnknown *pData) {
 5255    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 5256}
 5257/*** ID3D11View methods ***/
 5258static inline void ID3D11RenderTargetView_GetResource(ID3D11RenderTargetView* This,ID3D11Resource **ppResource) {
 5259    This->lpVtbl->GetResource(This,ppResource);
 5260}
 5261/*** ID3D11RenderTargetView methods ***/
 5262static inline void ID3D11RenderTargetView_GetDesc(ID3D11RenderTargetView* This,D3D11_RENDER_TARGET_VIEW_DESC *pDesc) {
 5263    This->lpVtbl->GetDesc(This,pDesc);
 5264}
 5265#endif
 5266#endif
 5267
 5268#endif
 5269
 5270
 5271#endif  /* __ID3D11RenderTargetView_INTERFACE_DEFINED__ */
 5272
 5273/*****************************************************************************
 5274 * ID3D11SamplerState interface
 5275 */
 5276#ifndef __ID3D11SamplerState_INTERFACE_DEFINED__
 5277#define __ID3D11SamplerState_INTERFACE_DEFINED__
 5278
 5279DEFINE_GUID(IID_ID3D11SamplerState, 0xda6fea51, 0x564c, 0x4487, 0x98,0x10, 0xf0,0xd0,0xf9,0xb4,0xe3,0xa5);
 5280#if defined(__cplusplus) && !defined(CINTERFACE)
 5281MIDL_INTERFACE("da6fea51-564c-4487-9810-f0d0f9b4e3a5")
 5282ID3D11SamplerState : public ID3D11DeviceChild
 5283{
 5284    virtual void STDMETHODCALLTYPE GetDesc(
 5285        D3D11_SAMPLER_DESC *pDesc) = 0;
 5286
 5287};
 5288#ifdef __CRT_UUID_DECL
 5289__CRT_UUID_DECL(ID3D11SamplerState, 0xda6fea51, 0x564c, 0x4487, 0x98,0x10, 0xf0,0xd0,0xf9,0xb4,0xe3,0xa5)
 5290#endif
 5291#else
 5292typedef struct ID3D11SamplerStateVtbl {
 5293    BEGIN_INTERFACE
 5294
 5295    /*** IUnknown methods ***/
 5296    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 5297        ID3D11SamplerState *This,
 5298        REFIID riid,
 5299        void **ppvObject);
 5300
 5301    ULONG (STDMETHODCALLTYPE *AddRef)(
 5302        ID3D11SamplerState *This);
 5303
 5304    ULONG (STDMETHODCALLTYPE *Release)(
 5305        ID3D11SamplerState *This);
 5306
 5307    /*** ID3D11DeviceChild methods ***/
 5308    void (STDMETHODCALLTYPE *GetDevice)(
 5309        ID3D11SamplerState *This,
 5310        ID3D11Device **ppDevice);
 5311
 5312    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 5313        ID3D11SamplerState *This,
 5314        REFGUID guid,
 5315        UINT *pDataSize,
 5316        void *pData);
 5317
 5318    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 5319        ID3D11SamplerState *This,
 5320        REFGUID guid,
 5321        UINT DataSize,
 5322        const void *pData);
 5323
 5324    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 5325        ID3D11SamplerState *This,
 5326        REFGUID guid,
 5327        const IUnknown *pData);
 5328
 5329    /*** ID3D11SamplerState methods ***/
 5330    void (STDMETHODCALLTYPE *GetDesc)(
 5331        ID3D11SamplerState *This,
 5332        D3D11_SAMPLER_DESC *pDesc);
 5333
 5334    END_INTERFACE
 5335} ID3D11SamplerStateVtbl;
 5336
 5337interface ID3D11SamplerState {
 5338    CONST_VTBL ID3D11SamplerStateVtbl* lpVtbl;
 5339};
 5340
 5341#ifdef COBJMACROS
 5342#ifndef WIDL_C_INLINE_WRAPPERS
 5343/*** IUnknown methods ***/
 5344#define ID3D11SamplerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 5345#define ID3D11SamplerState_AddRef(This) (This)->lpVtbl->AddRef(This)
 5346#define ID3D11SamplerState_Release(This) (This)->lpVtbl->Release(This)
 5347/*** ID3D11DeviceChild methods ***/
 5348#define ID3D11SamplerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 5349#define ID3D11SamplerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 5350#define ID3D11SamplerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 5351#define ID3D11SamplerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 5352/*** ID3D11SamplerState methods ***/
 5353#define ID3D11SamplerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 5354#else
 5355/*** IUnknown methods ***/
 5356static inline HRESULT ID3D11SamplerState_QueryInterface(ID3D11SamplerState* This,REFIID riid,void **ppvObject) {
 5357    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 5358}
 5359static inline ULONG ID3D11SamplerState_AddRef(ID3D11SamplerState* This) {
 5360    return This->lpVtbl->AddRef(This);
 5361}
 5362static inline ULONG ID3D11SamplerState_Release(ID3D11SamplerState* This) {
 5363    return This->lpVtbl->Release(This);
 5364}
 5365/*** ID3D11DeviceChild methods ***/
 5366static inline void ID3D11SamplerState_GetDevice(ID3D11SamplerState* This,ID3D11Device **ppDevice) {
 5367    This->lpVtbl->GetDevice(This,ppDevice);
 5368}
 5369static inline HRESULT ID3D11SamplerState_GetPrivateData(ID3D11SamplerState* This,REFGUID guid,UINT *pDataSize,void *pData) {
 5370    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 5371}
 5372static inline HRESULT ID3D11SamplerState_SetPrivateData(ID3D11SamplerState* This,REFGUID guid,UINT DataSize,const void *pData) {
 5373    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 5374}
 5375static inline HRESULT ID3D11SamplerState_SetPrivateDataInterface(ID3D11SamplerState* This,REFGUID guid,const IUnknown *pData) {
 5376    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 5377}
 5378/*** ID3D11SamplerState methods ***/
 5379static inline void ID3D11SamplerState_GetDesc(ID3D11SamplerState* This,D3D11_SAMPLER_DESC *pDesc) {
 5380    This->lpVtbl->GetDesc(This,pDesc);
 5381}
 5382#endif
 5383#endif
 5384
 5385#endif
 5386
 5387
 5388#endif  /* __ID3D11SamplerState_INTERFACE_DEFINED__ */
 5389
 5390/*****************************************************************************
 5391 * ID3D11ShaderResourceView interface
 5392 */
 5393#ifndef __ID3D11ShaderResourceView_INTERFACE_DEFINED__
 5394#define __ID3D11ShaderResourceView_INTERFACE_DEFINED__
 5395
 5396DEFINE_GUID(IID_ID3D11ShaderResourceView, 0xb0e06fe0, 0x8192, 0x4e1a, 0xb1,0xca, 0x36,0xd7,0x41,0x47,0x10,0xb2);
 5397#if defined(__cplusplus) && !defined(CINTERFACE)
 5398MIDL_INTERFACE("b0e06fe0-8192-4e1a-b1ca-36d7414710b2")
 5399ID3D11ShaderResourceView : public ID3D11View
 5400{
 5401    virtual void STDMETHODCALLTYPE GetDesc(
 5402        D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
 5403
 5404};
 5405#ifdef __CRT_UUID_DECL
 5406__CRT_UUID_DECL(ID3D11ShaderResourceView, 0xb0e06fe0, 0x8192, 0x4e1a, 0xb1,0xca, 0x36,0xd7,0x41,0x47,0x10,0xb2)
 5407#endif
 5408#else
 5409typedef struct ID3D11ShaderResourceViewVtbl {
 5410    BEGIN_INTERFACE
 5411
 5412    /*** IUnknown methods ***/
 5413    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 5414        ID3D11ShaderResourceView *This,
 5415        REFIID riid,
 5416        void **ppvObject);
 5417
 5418    ULONG (STDMETHODCALLTYPE *AddRef)(
 5419        ID3D11ShaderResourceView *This);
 5420
 5421    ULONG (STDMETHODCALLTYPE *Release)(
 5422        ID3D11ShaderResourceView *This);
 5423
 5424    /*** ID3D11DeviceChild methods ***/
 5425    void (STDMETHODCALLTYPE *GetDevice)(
 5426        ID3D11ShaderResourceView *This,
 5427        ID3D11Device **ppDevice);
 5428
 5429    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 5430        ID3D11ShaderResourceView *This,
 5431        REFGUID guid,
 5432        UINT *pDataSize,
 5433        void *pData);
 5434
 5435    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 5436        ID3D11ShaderResourceView *This,
 5437        REFGUID guid,
 5438        UINT DataSize,
 5439        const void *pData);
 5440
 5441    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 5442        ID3D11ShaderResourceView *This,
 5443        REFGUID guid,
 5444        const IUnknown *pData);
 5445
 5446    /*** ID3D11View methods ***/
 5447    void (STDMETHODCALLTYPE *GetResource)(
 5448        ID3D11ShaderResourceView *This,
 5449        ID3D11Resource **ppResource);
 5450
 5451    /*** ID3D11ShaderResourceView methods ***/
 5452    void (STDMETHODCALLTYPE *GetDesc)(
 5453        ID3D11ShaderResourceView *This,
 5454        D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
 5455
 5456    END_INTERFACE
 5457} ID3D11ShaderResourceViewVtbl;
 5458
 5459interface ID3D11ShaderResourceView {
 5460    CONST_VTBL ID3D11ShaderResourceViewVtbl* lpVtbl;
 5461};
 5462
 5463#ifdef COBJMACROS
 5464#ifndef WIDL_C_INLINE_WRAPPERS
 5465/*** IUnknown methods ***/
 5466#define ID3D11ShaderResourceView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 5467#define ID3D11ShaderResourceView_AddRef(This) (This)->lpVtbl->AddRef(This)
 5468#define ID3D11ShaderResourceView_Release(This) (This)->lpVtbl->Release(This)
 5469/*** ID3D11DeviceChild methods ***/
 5470#define ID3D11ShaderResourceView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 5471#define ID3D11ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 5472#define ID3D11ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 5473#define ID3D11ShaderResourceView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 5474/*** ID3D11View methods ***/
 5475#define ID3D11ShaderResourceView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 5476/*** ID3D11ShaderResourceView methods ***/
 5477#define ID3D11ShaderResourceView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 5478#else
 5479/*** IUnknown methods ***/
 5480static inline HRESULT ID3D11ShaderResourceView_QueryInterface(ID3D11ShaderResourceView* This,REFIID riid,void **ppvObject) {
 5481    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 5482}
 5483static inline ULONG ID3D11ShaderResourceView_AddRef(ID3D11ShaderResourceView* This) {
 5484    return This->lpVtbl->AddRef(This);
 5485}
 5486static inline ULONG ID3D11ShaderResourceView_Release(ID3D11ShaderResourceView* This) {
 5487    return This->lpVtbl->Release(This);
 5488}
 5489/*** ID3D11DeviceChild methods ***/
 5490static inline void ID3D11ShaderResourceView_GetDevice(ID3D11ShaderResourceView* This,ID3D11Device **ppDevice) {
 5491    This->lpVtbl->GetDevice(This,ppDevice);
 5492}
 5493static inline HRESULT ID3D11ShaderResourceView_GetPrivateData(ID3D11ShaderResourceView* This,REFGUID guid,UINT *pDataSize,void *pData) {
 5494    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 5495}
 5496static inline HRESULT ID3D11ShaderResourceView_SetPrivateData(ID3D11ShaderResourceView* This,REFGUID guid,UINT DataSize,const void *pData) {
 5497    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 5498}
 5499static inline HRESULT ID3D11ShaderResourceView_SetPrivateDataInterface(ID3D11ShaderResourceView* This,REFGUID guid,const IUnknown *pData) {
 5500    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 5501}
 5502/*** ID3D11View methods ***/
 5503static inline void ID3D11ShaderResourceView_GetResource(ID3D11ShaderResourceView* This,ID3D11Resource **ppResource) {
 5504    This->lpVtbl->GetResource(This,ppResource);
 5505}
 5506/*** ID3D11ShaderResourceView methods ***/
 5507static inline void ID3D11ShaderResourceView_GetDesc(ID3D11ShaderResourceView* This,D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) {
 5508    This->lpVtbl->GetDesc(This,pDesc);
 5509}
 5510#endif
 5511#endif
 5512
 5513#endif
 5514
 5515
 5516#endif  /* __ID3D11ShaderResourceView_INTERFACE_DEFINED__ */
 5517
 5518/*****************************************************************************
 5519 * ID3D11Texture1D interface
 5520 */
 5521#ifndef __ID3D11Texture1D_INTERFACE_DEFINED__
 5522#define __ID3D11Texture1D_INTERFACE_DEFINED__
 5523
 5524DEFINE_GUID(IID_ID3D11Texture1D, 0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4,0xc8, 0x43,0x9a,0xf2,0xef,0x56,0x4c);
 5525#if defined(__cplusplus) && !defined(CINTERFACE)
 5526MIDL_INTERFACE("f8fb5c27-c6b3-4f75-a4c8-439af2ef564c")
 5527ID3D11Texture1D : public ID3D11Resource
 5528{
 5529    virtual void STDMETHODCALLTYPE GetDesc(
 5530        D3D11_TEXTURE1D_DESC *pDesc) = 0;
 5531
 5532};
 5533#ifdef __CRT_UUID_DECL
 5534__CRT_UUID_DECL(ID3D11Texture1D, 0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4,0xc8, 0x43,0x9a,0xf2,0xef,0x56,0x4c)
 5535#endif
 5536#else
 5537typedef struct ID3D11Texture1DVtbl {
 5538    BEGIN_INTERFACE
 5539
 5540    /*** IUnknown methods ***/
 5541    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 5542        ID3D11Texture1D *This,
 5543        REFIID riid,
 5544        void **ppvObject);
 5545
 5546    ULONG (STDMETHODCALLTYPE *AddRef)(
 5547        ID3D11Texture1D *This);
 5548
 5549    ULONG (STDMETHODCALLTYPE *Release)(
 5550        ID3D11Texture1D *This);
 5551
 5552    /*** ID3D11DeviceChild methods ***/
 5553    void (STDMETHODCALLTYPE *GetDevice)(
 5554        ID3D11Texture1D *This,
 5555        ID3D11Device **ppDevice);
 5556
 5557    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 5558        ID3D11Texture1D *This,
 5559        REFGUID guid,
 5560        UINT *pDataSize,
 5561        void *pData);
 5562
 5563    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 5564        ID3D11Texture1D *This,
 5565        REFGUID guid,
 5566        UINT DataSize,
 5567        const void *pData);
 5568
 5569    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 5570        ID3D11Texture1D *This,
 5571        REFGUID guid,
 5572        const IUnknown *pData);
 5573
 5574    /*** ID3D11Resource methods ***/
 5575    void (STDMETHODCALLTYPE *GetType)(
 5576        ID3D11Texture1D *This,
 5577        D3D11_RESOURCE_DIMENSION *pResourceDimension);
 5578
 5579    void (STDMETHODCALLTYPE *SetEvictionPriority)(
 5580        ID3D11Texture1D *This,
 5581        UINT EvictionPriority);
 5582
 5583    UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
 5584        ID3D11Texture1D *This);
 5585
 5586    /*** ID3D11Texture1D methods ***/
 5587    void (STDMETHODCALLTYPE *GetDesc)(
 5588        ID3D11Texture1D *This,
 5589        D3D11_TEXTURE1D_DESC *pDesc);
 5590
 5591    END_INTERFACE
 5592} ID3D11Texture1DVtbl;
 5593
 5594interface ID3D11Texture1D {
 5595    CONST_VTBL ID3D11Texture1DVtbl* lpVtbl;
 5596};
 5597
 5598#ifdef COBJMACROS
 5599#ifndef WIDL_C_INLINE_WRAPPERS
 5600/*** IUnknown methods ***/
 5601#define ID3D11Texture1D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 5602#define ID3D11Texture1D_AddRef(This) (This)->lpVtbl->AddRef(This)
 5603#define ID3D11Texture1D_Release(This) (This)->lpVtbl->Release(This)
 5604/*** ID3D11DeviceChild methods ***/
 5605#define ID3D11Texture1D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 5606#define ID3D11Texture1D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 5607#define ID3D11Texture1D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 5608#define ID3D11Texture1D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 5609/*** ID3D11Resource methods ***/
 5610#define ID3D11Texture1D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
 5611#define ID3D11Texture1D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
 5612#define ID3D11Texture1D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
 5613/*** ID3D11Texture1D methods ***/
 5614#define ID3D11Texture1D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 5615#else
 5616/*** IUnknown methods ***/
 5617static inline HRESULT ID3D11Texture1D_QueryInterface(ID3D11Texture1D* This,REFIID riid,void **ppvObject) {
 5618    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 5619}
 5620static inline ULONG ID3D11Texture1D_AddRef(ID3D11Texture1D* This) {
 5621    return This->lpVtbl->AddRef(This);
 5622}
 5623static inline ULONG ID3D11Texture1D_Release(ID3D11Texture1D* This) {
 5624    return This->lpVtbl->Release(This);
 5625}
 5626/*** ID3D11DeviceChild methods ***/
 5627static inline void ID3D11Texture1D_GetDevice(ID3D11Texture1D* This,ID3D11Device **ppDevice) {
 5628    This->lpVtbl->GetDevice(This,ppDevice);
 5629}
 5630static inline HRESULT ID3D11Texture1D_GetPrivateData(ID3D11Texture1D* This,REFGUID guid,UINT *pDataSize,void *pData) {
 5631    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 5632}
 5633static inline HRESULT ID3D11Texture1D_SetPrivateData(ID3D11Texture1D* This,REFGUID guid,UINT DataSize,const void *pData) {
 5634    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 5635}
 5636static inline HRESULT ID3D11Texture1D_SetPrivateDataInterface(ID3D11Texture1D* This,REFGUID guid,const IUnknown *pData) {
 5637    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 5638}
 5639/*** ID3D11Resource methods ***/
 5640static inline void ID3D11Texture1D_GetType(ID3D11Texture1D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
 5641    This->lpVtbl->GetType(This,pResourceDimension);
 5642}
 5643static inline void ID3D11Texture1D_SetEvictionPriority(ID3D11Texture1D* This,UINT EvictionPriority) {
 5644    This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
 5645}
 5646static inline UINT ID3D11Texture1D_GetEvictionPriority(ID3D11Texture1D* This) {
 5647    return This->lpVtbl->GetEvictionPriority(This);
 5648}
 5649/*** ID3D11Texture1D methods ***/
 5650static inline void ID3D11Texture1D_GetDesc(ID3D11Texture1D* This,D3D11_TEXTURE1D_DESC *pDesc) {
 5651    This->lpVtbl->GetDesc(This,pDesc);
 5652}
 5653#endif
 5654#endif
 5655
 5656#endif
 5657
 5658
 5659#endif  /* __ID3D11Texture1D_INTERFACE_DEFINED__ */
 5660
 5661/*****************************************************************************
 5662 * ID3D11Texture2D interface
 5663 */
 5664#ifndef __ID3D11Texture2D_INTERFACE_DEFINED__
 5665#define __ID3D11Texture2D_INTERFACE_DEFINED__
 5666
 5667DEFINE_GUID(IID_ID3D11Texture2D, 0x6f15aaf2, 0xd208, 0x4e89, 0x9a,0xb4, 0x48,0x95,0x35,0xd3,0x4f,0x9c);
 5668#if defined(__cplusplus) && !defined(CINTERFACE)
 5669MIDL_INTERFACE("6f15aaf2-d208-4e89-9ab4-489535d34f9c")
 5670ID3D11Texture2D : public ID3D11Resource
 5671{
 5672    virtual void STDMETHODCALLTYPE GetDesc(
 5673        D3D11_TEXTURE2D_DESC *pDesc) = 0;
 5674
 5675};
 5676#ifdef __CRT_UUID_DECL
 5677__CRT_UUID_DECL(ID3D11Texture2D, 0x6f15aaf2, 0xd208, 0x4e89, 0x9a,0xb4, 0x48,0x95,0x35,0xd3,0x4f,0x9c)
 5678#endif
 5679#else
 5680typedef struct ID3D11Texture2DVtbl {
 5681    BEGIN_INTERFACE
 5682
 5683    /*** IUnknown methods ***/
 5684    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 5685        ID3D11Texture2D *This,
 5686        REFIID riid,
 5687        void **ppvObject);
 5688
 5689    ULONG (STDMETHODCALLTYPE *AddRef)(
 5690        ID3D11Texture2D *This);
 5691
 5692    ULONG (STDMETHODCALLTYPE *Release)(
 5693        ID3D11Texture2D *This);
 5694
 5695    /*** ID3D11DeviceChild methods ***/
 5696    void (STDMETHODCALLTYPE *GetDevice)(
 5697        ID3D11Texture2D *This,
 5698        ID3D11Device **ppDevice);
 5699
 5700    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 5701        ID3D11Texture2D *This,
 5702        REFGUID guid,
 5703        UINT *pDataSize,
 5704        void *pData);
 5705
 5706    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 5707        ID3D11Texture2D *This,
 5708        REFGUID guid,
 5709        UINT DataSize,
 5710        const void *pData);
 5711
 5712    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 5713        ID3D11Texture2D *This,
 5714        REFGUID guid,
 5715        const IUnknown *pData);
 5716
 5717    /*** ID3D11Resource methods ***/
 5718    void (STDMETHODCALLTYPE *GetType)(
 5719        ID3D11Texture2D *This,
 5720        D3D11_RESOURCE_DIMENSION *pResourceDimension);
 5721
 5722    void (STDMETHODCALLTYPE *SetEvictionPriority)(
 5723        ID3D11Texture2D *This,
 5724        UINT EvictionPriority);
 5725
 5726    UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
 5727        ID3D11Texture2D *This);
 5728
 5729    /*** ID3D11Texture2D methods ***/
 5730    void (STDMETHODCALLTYPE *GetDesc)(
 5731        ID3D11Texture2D *This,
 5732        D3D11_TEXTURE2D_DESC *pDesc);
 5733
 5734    END_INTERFACE
 5735} ID3D11Texture2DVtbl;
 5736
 5737interface ID3D11Texture2D {
 5738    CONST_VTBL ID3D11Texture2DVtbl* lpVtbl;
 5739};
 5740
 5741#ifdef COBJMACROS
 5742#ifndef WIDL_C_INLINE_WRAPPERS
 5743/*** IUnknown methods ***/
 5744#define ID3D11Texture2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 5745#define ID3D11Texture2D_AddRef(This) (This)->lpVtbl->AddRef(This)
 5746#define ID3D11Texture2D_Release(This) (This)->lpVtbl->Release(This)
 5747/*** ID3D11DeviceChild methods ***/
 5748#define ID3D11Texture2D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 5749#define ID3D11Texture2D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 5750#define ID3D11Texture2D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 5751#define ID3D11Texture2D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 5752/*** ID3D11Resource methods ***/
 5753#define ID3D11Texture2D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
 5754#define ID3D11Texture2D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
 5755#define ID3D11Texture2D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
 5756/*** ID3D11Texture2D methods ***/
 5757#define ID3D11Texture2D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 5758#else
 5759/*** IUnknown methods ***/
 5760static inline HRESULT ID3D11Texture2D_QueryInterface(ID3D11Texture2D* This,REFIID riid,void **ppvObject) {
 5761    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 5762}
 5763static inline ULONG ID3D11Texture2D_AddRef(ID3D11Texture2D* This) {
 5764    return This->lpVtbl->AddRef(This);
 5765}
 5766static inline ULONG ID3D11Texture2D_Release(ID3D11Texture2D* This) {
 5767    return This->lpVtbl->Release(This);
 5768}
 5769/*** ID3D11DeviceChild methods ***/
 5770static inline void ID3D11Texture2D_GetDevice(ID3D11Texture2D* This,ID3D11Device **ppDevice) {
 5771    This->lpVtbl->GetDevice(This,ppDevice);
 5772}
 5773static inline HRESULT ID3D11Texture2D_GetPrivateData(ID3D11Texture2D* This,REFGUID guid,UINT *pDataSize,void *pData) {
 5774    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 5775}
 5776static inline HRESULT ID3D11Texture2D_SetPrivateData(ID3D11Texture2D* This,REFGUID guid,UINT DataSize,const void *pData) {
 5777    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 5778}
 5779static inline HRESULT ID3D11Texture2D_SetPrivateDataInterface(ID3D11Texture2D* This,REFGUID guid,const IUnknown *pData) {
 5780    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 5781}
 5782/*** ID3D11Resource methods ***/
 5783static inline void ID3D11Texture2D_GetType(ID3D11Texture2D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
 5784    This->lpVtbl->GetType(This,pResourceDimension);
 5785}
 5786static inline void ID3D11Texture2D_SetEvictionPriority(ID3D11Texture2D* This,UINT EvictionPriority) {
 5787    This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
 5788}
 5789static inline UINT ID3D11Texture2D_GetEvictionPriority(ID3D11Texture2D* This) {
 5790    return This->lpVtbl->GetEvictionPriority(This);
 5791}
 5792/*** ID3D11Texture2D methods ***/
 5793static inline void ID3D11Texture2D_GetDesc(ID3D11Texture2D* This,D3D11_TEXTURE2D_DESC *pDesc) {
 5794    This->lpVtbl->GetDesc(This,pDesc);
 5795}
 5796#endif
 5797#endif
 5798
 5799#endif
 5800
 5801
 5802#endif  /* __ID3D11Texture2D_INTERFACE_DEFINED__ */
 5803
 5804/*****************************************************************************
 5805 * ID3D11Texture3D interface
 5806 */
 5807#ifndef __ID3D11Texture3D_INTERFACE_DEFINED__
 5808#define __ID3D11Texture3D_INTERFACE_DEFINED__
 5809
 5810DEFINE_GUID(IID_ID3D11Texture3D, 0x037e866e, 0xf56d, 0x4357, 0xa8,0xaf, 0x9d,0xab,0xbe,0x6e,0x25,0x0e);
 5811#if defined(__cplusplus) && !defined(CINTERFACE)
 5812MIDL_INTERFACE("037e866e-f56d-4357-a8af-9dabbe6e250e")
 5813ID3D11Texture3D : public ID3D11Resource
 5814{
 5815    virtual void STDMETHODCALLTYPE GetDesc(
 5816        D3D11_TEXTURE3D_DESC *pDesc) = 0;
 5817
 5818};
 5819#ifdef __CRT_UUID_DECL
 5820__CRT_UUID_DECL(ID3D11Texture3D, 0x037e866e, 0xf56d, 0x4357, 0xa8,0xaf, 0x9d,0xab,0xbe,0x6e,0x25,0x0e)
 5821#endif
 5822#else
 5823typedef struct ID3D11Texture3DVtbl {
 5824    BEGIN_INTERFACE
 5825
 5826    /*** IUnknown methods ***/
 5827    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 5828        ID3D11Texture3D *This,
 5829        REFIID riid,
 5830        void **ppvObject);
 5831
 5832    ULONG (STDMETHODCALLTYPE *AddRef)(
 5833        ID3D11Texture3D *This);
 5834
 5835    ULONG (STDMETHODCALLTYPE *Release)(
 5836        ID3D11Texture3D *This);
 5837
 5838    /*** ID3D11DeviceChild methods ***/
 5839    void (STDMETHODCALLTYPE *GetDevice)(
 5840        ID3D11Texture3D *This,
 5841        ID3D11Device **ppDevice);
 5842
 5843    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 5844        ID3D11Texture3D *This,
 5845        REFGUID guid,
 5846        UINT *pDataSize,
 5847        void *pData);
 5848
 5849    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 5850        ID3D11Texture3D *This,
 5851        REFGUID guid,
 5852        UINT DataSize,
 5853        const void *pData);
 5854
 5855    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 5856        ID3D11Texture3D *This,
 5857        REFGUID guid,
 5858        const IUnknown *pData);
 5859
 5860    /*** ID3D11Resource methods ***/
 5861    void (STDMETHODCALLTYPE *GetType)(
 5862        ID3D11Texture3D *This,
 5863        D3D11_RESOURCE_DIMENSION *pResourceDimension);
 5864
 5865    void (STDMETHODCALLTYPE *SetEvictionPriority)(
 5866        ID3D11Texture3D *This,
 5867        UINT EvictionPriority);
 5868
 5869    UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
 5870        ID3D11Texture3D *This);
 5871
 5872    /*** ID3D11Texture3D methods ***/
 5873    void (STDMETHODCALLTYPE *GetDesc)(
 5874        ID3D11Texture3D *This,
 5875        D3D11_TEXTURE3D_DESC *pDesc);
 5876
 5877    END_INTERFACE
 5878} ID3D11Texture3DVtbl;
 5879
 5880interface ID3D11Texture3D {
 5881    CONST_VTBL ID3D11Texture3DVtbl* lpVtbl;
 5882};
 5883
 5884#ifdef COBJMACROS
 5885#ifndef WIDL_C_INLINE_WRAPPERS
 5886/*** IUnknown methods ***/
 5887#define ID3D11Texture3D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 5888#define ID3D11Texture3D_AddRef(This) (This)->lpVtbl->AddRef(This)
 5889#define ID3D11Texture3D_Release(This) (This)->lpVtbl->Release(This)
 5890/*** ID3D11DeviceChild methods ***/
 5891#define ID3D11Texture3D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 5892#define ID3D11Texture3D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 5893#define ID3D11Texture3D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 5894#define ID3D11Texture3D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 5895/*** ID3D11Resource methods ***/
 5896#define ID3D11Texture3D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
 5897#define ID3D11Texture3D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
 5898#define ID3D11Texture3D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
 5899/*** ID3D11Texture3D methods ***/
 5900#define ID3D11Texture3D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 5901#else
 5902/*** IUnknown methods ***/
 5903static inline HRESULT ID3D11Texture3D_QueryInterface(ID3D11Texture3D* This,REFIID riid,void **ppvObject) {
 5904    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 5905}
 5906static inline ULONG ID3D11Texture3D_AddRef(ID3D11Texture3D* This) {
 5907    return This->lpVtbl->AddRef(This);
 5908}
 5909static inline ULONG ID3D11Texture3D_Release(ID3D11Texture3D* This) {
 5910    return This->lpVtbl->Release(This);
 5911}
 5912/*** ID3D11DeviceChild methods ***/
 5913static inline void ID3D11Texture3D_GetDevice(ID3D11Texture3D* This,ID3D11Device **ppDevice) {
 5914    This->lpVtbl->GetDevice(This,ppDevice);
 5915}
 5916static inline HRESULT ID3D11Texture3D_GetPrivateData(ID3D11Texture3D* This,REFGUID guid,UINT *pDataSize,void *pData) {
 5917    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 5918}
 5919static inline HRESULT ID3D11Texture3D_SetPrivateData(ID3D11Texture3D* This,REFGUID guid,UINT DataSize,const void *pData) {
 5920    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 5921}
 5922static inline HRESULT ID3D11Texture3D_SetPrivateDataInterface(ID3D11Texture3D* This,REFGUID guid,const IUnknown *pData) {
 5923    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 5924}
 5925/*** ID3D11Resource methods ***/
 5926static inline void ID3D11Texture3D_GetType(ID3D11Texture3D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
 5927    This->lpVtbl->GetType(This,pResourceDimension);
 5928}
 5929static inline void ID3D11Texture3D_SetEvictionPriority(ID3D11Texture3D* This,UINT EvictionPriority) {
 5930    This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
 5931}
 5932static inline UINT ID3D11Texture3D_GetEvictionPriority(ID3D11Texture3D* This) {
 5933    return This->lpVtbl->GetEvictionPriority(This);
 5934}
 5935/*** ID3D11Texture3D methods ***/
 5936static inline void ID3D11Texture3D_GetDesc(ID3D11Texture3D* This,D3D11_TEXTURE3D_DESC *pDesc) {
 5937    This->lpVtbl->GetDesc(This,pDesc);
 5938}
 5939#endif
 5940#endif
 5941
 5942#endif
 5943
 5944
 5945#endif  /* __ID3D11Texture3D_INTERFACE_DEFINED__ */
 5946
 5947/*****************************************************************************
 5948 * ID3D11UnorderedAccessView interface
 5949 */
 5950#ifndef __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
 5951#define __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
 5952
 5953DEFINE_GUID(IID_ID3D11UnorderedAccessView, 0x28acf509, 0x7f5c, 0x48f6, 0x86,0x11, 0xf3,0x16,0x01,0x0a,0x63,0x80);
 5954#if defined(__cplusplus) && !defined(CINTERFACE)
 5955MIDL_INTERFACE("28acf509-7f5c-48f6-8611-f316010a6380")
 5956ID3D11UnorderedAccessView : public ID3D11View
 5957{
 5958    virtual void STDMETHODCALLTYPE GetDesc(
 5959        D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) = 0;
 5960
 5961};
 5962#ifdef __CRT_UUID_DECL
 5963__CRT_UUID_DECL(ID3D11UnorderedAccessView, 0x28acf509, 0x7f5c, 0x48f6, 0x86,0x11, 0xf3,0x16,0x01,0x0a,0x63,0x80)
 5964#endif
 5965#else
 5966typedef struct ID3D11UnorderedAccessViewVtbl {
 5967    BEGIN_INTERFACE
 5968
 5969    /*** IUnknown methods ***/
 5970    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 5971        ID3D11UnorderedAccessView *This,
 5972        REFIID riid,
 5973        void **ppvObject);
 5974
 5975    ULONG (STDMETHODCALLTYPE *AddRef)(
 5976        ID3D11UnorderedAccessView *This);
 5977
 5978    ULONG (STDMETHODCALLTYPE *Release)(
 5979        ID3D11UnorderedAccessView *This);
 5980
 5981    /*** ID3D11DeviceChild methods ***/
 5982    void (STDMETHODCALLTYPE *GetDevice)(
 5983        ID3D11UnorderedAccessView *This,
 5984        ID3D11Device **ppDevice);
 5985
 5986    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 5987        ID3D11UnorderedAccessView *This,
 5988        REFGUID guid,
 5989        UINT *pDataSize,
 5990        void *pData);
 5991
 5992    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 5993        ID3D11UnorderedAccessView *This,
 5994        REFGUID guid,
 5995        UINT DataSize,
 5996        const void *pData);
 5997
 5998    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 5999        ID3D11UnorderedAccessView *This,
 6000        REFGUID guid,
 6001        const IUnknown *pData);
 6002
 6003    /*** ID3D11View methods ***/
 6004    void (STDMETHODCALLTYPE *GetResource)(
 6005        ID3D11UnorderedAccessView *This,
 6006        ID3D11Resource **ppResource);
 6007
 6008    /*** ID3D11UnorderedAccessView methods ***/
 6009    void (STDMETHODCALLTYPE *GetDesc)(
 6010        ID3D11UnorderedAccessView *This,
 6011        D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
 6012
 6013    END_INTERFACE
 6014} ID3D11UnorderedAccessViewVtbl;
 6015
 6016interface ID3D11UnorderedAccessView {
 6017    CONST_VTBL ID3D11UnorderedAccessViewVtbl* lpVtbl;
 6018};
 6019
 6020#ifdef COBJMACROS
 6021#ifndef WIDL_C_INLINE_WRAPPERS
 6022/*** IUnknown methods ***/
 6023#define ID3D11UnorderedAccessView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 6024#define ID3D11UnorderedAccessView_AddRef(This) (This)->lpVtbl->AddRef(This)
 6025#define ID3D11UnorderedAccessView_Release(This) (This)->lpVtbl->Release(This)
 6026/*** ID3D11DeviceChild methods ***/
 6027#define ID3D11UnorderedAccessView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 6028#define ID3D11UnorderedAccessView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 6029#define ID3D11UnorderedAccessView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 6030#define ID3D11UnorderedAccessView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 6031/*** ID3D11View methods ***/
 6032#define ID3D11UnorderedAccessView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 6033/*** ID3D11UnorderedAccessView methods ***/
 6034#define ID3D11UnorderedAccessView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 6035#else
 6036/*** IUnknown methods ***/
 6037static inline HRESULT ID3D11UnorderedAccessView_QueryInterface(ID3D11UnorderedAccessView* This,REFIID riid,void **ppvObject) {
 6038    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 6039}
 6040static inline ULONG ID3D11UnorderedAccessView_AddRef(ID3D11UnorderedAccessView* This) {
 6041    return This->lpVtbl->AddRef(This);
 6042}
 6043static inline ULONG ID3D11UnorderedAccessView_Release(ID3D11UnorderedAccessView* This) {
 6044    return This->lpVtbl->Release(This);
 6045}
 6046/*** ID3D11DeviceChild methods ***/
 6047static inline void ID3D11UnorderedAccessView_GetDevice(ID3D11UnorderedAccessView* This,ID3D11Device **ppDevice) {
 6048    This->lpVtbl->GetDevice(This,ppDevice);
 6049}
 6050static inline HRESULT ID3D11UnorderedAccessView_GetPrivateData(ID3D11UnorderedAccessView* This,REFGUID guid,UINT *pDataSize,void *pData) {
 6051    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 6052}
 6053static inline HRESULT ID3D11UnorderedAccessView_SetPrivateData(ID3D11UnorderedAccessView* This,REFGUID guid,UINT DataSize,const void *pData) {
 6054    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 6055}
 6056static inline HRESULT ID3D11UnorderedAccessView_SetPrivateDataInterface(ID3D11UnorderedAccessView* This,REFGUID guid,const IUnknown *pData) {
 6057    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 6058}
 6059/*** ID3D11View methods ***/
 6060static inline void ID3D11UnorderedAccessView_GetResource(ID3D11UnorderedAccessView* This,ID3D11Resource **ppResource) {
 6061    This->lpVtbl->GetResource(This,ppResource);
 6062}
 6063/*** ID3D11UnorderedAccessView methods ***/
 6064static inline void ID3D11UnorderedAccessView_GetDesc(ID3D11UnorderedAccessView* This,D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) {
 6065    This->lpVtbl->GetDesc(This,pDesc);
 6066}
 6067#endif
 6068#endif
 6069
 6070#endif
 6071
 6072
 6073#endif  /* __ID3D11UnorderedAccessView_INTERFACE_DEFINED__ */
 6074
 6075/*****************************************************************************
 6076 * ID3D11VertexShader interface
 6077 */
 6078#ifndef __ID3D11VertexShader_INTERFACE_DEFINED__
 6079#define __ID3D11VertexShader_INTERFACE_DEFINED__
 6080
 6081DEFINE_GUID(IID_ID3D11VertexShader, 0x3b301d64, 0xd678, 0x4289, 0x88,0x97, 0x22,0xf8,0x92,0x8b,0x72,0xf3);
 6082#if defined(__cplusplus) && !defined(CINTERFACE)
 6083MIDL_INTERFACE("3b301d64-d678-4289-8897-22f8928b72f3")
 6084ID3D11VertexShader : public ID3D11DeviceChild
 6085{
 6086};
 6087#ifdef __CRT_UUID_DECL
 6088__CRT_UUID_DECL(ID3D11VertexShader, 0x3b301d64, 0xd678, 0x4289, 0x88,0x97, 0x22,0xf8,0x92,0x8b,0x72,0xf3)
 6089#endif
 6090#else
 6091typedef struct ID3D11VertexShaderVtbl {
 6092    BEGIN_INTERFACE
 6093
 6094    /*** IUnknown methods ***/
 6095    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 6096        ID3D11VertexShader *This,
 6097        REFIID riid,
 6098        void **ppvObject);
 6099
 6100    ULONG (STDMETHODCALLTYPE *AddRef)(
 6101        ID3D11VertexShader *This);
 6102
 6103    ULONG (STDMETHODCALLTYPE *Release)(
 6104        ID3D11VertexShader *This);
 6105
 6106    /*** ID3D11DeviceChild methods ***/
 6107    void (STDMETHODCALLTYPE *GetDevice)(
 6108        ID3D11VertexShader *This,
 6109        ID3D11Device **ppDevice);
 6110
 6111    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 6112        ID3D11VertexShader *This,
 6113        REFGUID guid,
 6114        UINT *pDataSize,
 6115        void *pData);
 6116
 6117    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 6118        ID3D11VertexShader *This,
 6119        REFGUID guid,
 6120        UINT DataSize,
 6121        const void *pData);
 6122
 6123    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 6124        ID3D11VertexShader *This,
 6125        REFGUID guid,
 6126        const IUnknown *pData);
 6127
 6128    END_INTERFACE
 6129} ID3D11VertexShaderVtbl;
 6130
 6131interface ID3D11VertexShader {
 6132    CONST_VTBL ID3D11VertexShaderVtbl* lpVtbl;
 6133};
 6134
 6135#ifdef COBJMACROS
 6136#ifndef WIDL_C_INLINE_WRAPPERS
 6137/*** IUnknown methods ***/
 6138#define ID3D11VertexShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 6139#define ID3D11VertexShader_AddRef(This) (This)->lpVtbl->AddRef(This)
 6140#define ID3D11VertexShader_Release(This) (This)->lpVtbl->Release(This)
 6141/*** ID3D11DeviceChild methods ***/
 6142#define ID3D11VertexShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 6143#define ID3D11VertexShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 6144#define ID3D11VertexShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 6145#define ID3D11VertexShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 6146#else
 6147/*** IUnknown methods ***/
 6148static inline HRESULT ID3D11VertexShader_QueryInterface(ID3D11VertexShader* This,REFIID riid,void **ppvObject) {
 6149    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 6150}
 6151static inline ULONG ID3D11VertexShader_AddRef(ID3D11VertexShader* This) {
 6152    return This->lpVtbl->AddRef(This);
 6153}
 6154static inline ULONG ID3D11VertexShader_Release(ID3D11VertexShader* This) {
 6155    return This->lpVtbl->Release(This);
 6156}
 6157/*** ID3D11DeviceChild methods ***/
 6158static inline void ID3D11VertexShader_GetDevice(ID3D11VertexShader* This,ID3D11Device **ppDevice) {
 6159    This->lpVtbl->GetDevice(This,ppDevice);
 6160}
 6161static inline HRESULT ID3D11VertexShader_GetPrivateData(ID3D11VertexShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
 6162    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 6163}
 6164static inline HRESULT ID3D11VertexShader_SetPrivateData(ID3D11VertexShader* This,REFGUID guid,UINT DataSize,const void *pData) {
 6165    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 6166}
 6167static inline HRESULT ID3D11VertexShader_SetPrivateDataInterface(ID3D11VertexShader* This,REFGUID guid,const IUnknown *pData) {
 6168    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 6169}
 6170#endif
 6171#endif
 6172
 6173#endif
 6174
 6175
 6176#endif  /* __ID3D11VertexShader_INTERFACE_DEFINED__ */
 6177
 6178/*****************************************************************************
 6179 * ID3D11DeviceContext interface
 6180 */
 6181#ifndef __ID3D11DeviceContext_INTERFACE_DEFINED__
 6182#define __ID3D11DeviceContext_INTERFACE_DEFINED__
 6183
 6184DEFINE_GUID(IID_ID3D11DeviceContext, 0xc0bfa96c, 0xe089, 0x44fb, 0x8e,0xaf, 0x26,0xf8,0x79,0x61,0x90,0xda);
 6185#if defined(__cplusplus) && !defined(CINTERFACE)
 6186MIDL_INTERFACE("c0bfa96c-e089-44fb-8eaf-26f8796190da")
 6187ID3D11DeviceContext : public ID3D11DeviceChild
 6188{
 6189    virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
 6190        UINT StartSlot,
 6191        UINT NumBuffers,
 6192        ID3D11Buffer *const *ppConstantBuffers) = 0;
 6193
 6194    virtual void STDMETHODCALLTYPE PSSetShaderResources(
 6195        UINT StartSlot,
 6196        UINT NumViews,
 6197        ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
 6198
 6199    virtual void STDMETHODCALLTYPE PSSetShader(
 6200        ID3D11PixelShader *pPixelShader,
 6201        ID3D11ClassInstance *const *ppClassInstances,
 6202        UINT NumClassInstances) = 0;
 6203
 6204    virtual void STDMETHODCALLTYPE PSSetSamplers(
 6205        UINT StartSlot,
 6206        UINT NumSamplers,
 6207        ID3D11SamplerState *const *ppSamplers) = 0;
 6208
 6209    virtual void STDMETHODCALLTYPE VSSetShader(
 6210        ID3D11VertexShader *pVertexShader,
 6211        ID3D11ClassInstance *const *ppClassInstances,
 6212        UINT NumClassInstances) = 0;
 6213
 6214    virtual void STDMETHODCALLTYPE DrawIndexed(
 6215        UINT IndexCount,
 6216        UINT StartIndexLocation,
 6217        INT BaseVertexLocation) = 0;
 6218
 6219    virtual void STDMETHODCALLTYPE Draw(
 6220        UINT VertexCount,
 6221        UINT StartVertexLocation) = 0;
 6222
 6223    virtual HRESULT STDMETHODCALLTYPE Map(
 6224        ID3D11Resource *pResource,
 6225        UINT Subresource,
 6226        D3D11_MAP MapType,
 6227        UINT MapFlags,
 6228        D3D11_MAPPED_SUBRESOURCE *pMappedResource) = 0;
 6229
 6230    virtual void STDMETHODCALLTYPE Unmap(
 6231        ID3D11Resource *pResource,
 6232        UINT Subresource) = 0;
 6233
 6234    virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
 6235        UINT StartSlot,
 6236        UINT NumBuffers,
 6237        ID3D11Buffer *const *ppConstantBuffers) = 0;
 6238
 6239    virtual void STDMETHODCALLTYPE IASetInputLayout(
 6240        ID3D11InputLayout *pInputLayout) = 0;
 6241
 6242    virtual void STDMETHODCALLTYPE IASetVertexBuffers(
 6243        UINT StartSlot,
 6244        UINT NumBuffers,
 6245        ID3D11Buffer *const *ppVertexBuffers,
 6246        const UINT *pStrides,
 6247        const UINT *pOffsets) = 0;
 6248
 6249    virtual void STDMETHODCALLTYPE IASetIndexBuffer(
 6250        ID3D11Buffer *pIndexBuffer,
 6251        DXGI_FORMAT Format,
 6252        UINT Offset) = 0;
 6253
 6254    virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
 6255        UINT IndexCountPerInstance,
 6256        UINT InstanceCount,
 6257        UINT StartIndexLocation,
 6258        INT BaseVertexLocation,
 6259        UINT StartInstanceLocation) = 0;
 6260
 6261    virtual void STDMETHODCALLTYPE DrawInstanced(
 6262        UINT VertexCountPerInstance,
 6263        UINT InstanceCount,
 6264        UINT StartVertexLocation,
 6265        UINT StartInstanceLocation) = 0;
 6266
 6267    virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
 6268        UINT StartSlot,
 6269        UINT NumBuffers,
 6270        ID3D11Buffer *const *ppConstantBuffers) = 0;
 6271
 6272    virtual void STDMETHODCALLTYPE GSSetShader(
 6273        ID3D11GeometryShader *pShader,
 6274        ID3D11ClassInstance *const *ppClassInstances,
 6275        UINT NumClassInstances) = 0;
 6276
 6277    virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
 6278        D3D11_PRIMITIVE_TOPOLOGY Topology) = 0;
 6279
 6280    virtual void STDMETHODCALLTYPE VSSetShaderResources(
 6281        UINT StartSlot,
 6282        UINT NumViews,
 6283        ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
 6284
 6285    virtual void STDMETHODCALLTYPE VSSetSamplers(
 6286        UINT StartSlot,
 6287        UINT NumSamplers,
 6288        ID3D11SamplerState *const *ppSamplers) = 0;
 6289
 6290    virtual void STDMETHODCALLTYPE Begin(
 6291        ID3D11Asynchronous *pAsync) = 0;
 6292
 6293    virtual void STDMETHODCALLTYPE End(
 6294        ID3D11Asynchronous *pAsync) = 0;
 6295
 6296    virtual HRESULT STDMETHODCALLTYPE GetData(
 6297        ID3D11Asynchronous *pAsync,
 6298        void *pData,
 6299        UINT DataSize,
 6300        UINT GetDataFlags) = 0;
 6301
 6302    virtual void STDMETHODCALLTYPE SetPredication(
 6303        ID3D11Predicate *pPredicate,
 6304        WINBOOL PredicateValue) = 0;
 6305
 6306    virtual void STDMETHODCALLTYPE GSSetShaderResources(
 6307        UINT StartSlot,
 6308        UINT NumViews,
 6309        ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
 6310
 6311    virtual void STDMETHODCALLTYPE GSSetSamplers(
 6312        UINT StartSlot,
 6313        UINT NumSamplers,
 6314        ID3D11SamplerState *const *ppSamplers) = 0;
 6315
 6316    virtual void STDMETHODCALLTYPE OMSetRenderTargets(
 6317        UINT NumViews,
 6318        ID3D11RenderTargetView *const *ppRenderTargetViews,
 6319        ID3D11DepthStencilView *pDepthStencilView) = 0;
 6320
 6321    virtual void STDMETHODCALLTYPE OMSetRenderTargetsAndUnorderedAccessViews(
 6322        UINT NumRTVs,
 6323        ID3D11RenderTargetView *const *ppRenderTargetViews,
 6324        ID3D11DepthStencilView *pDepthStencilView,
 6325        UINT UAVStartSlot,
 6326        UINT NumUAVs,
 6327        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
 6328        const UINT *pUAVInitialCounts) = 0;
 6329
 6330    virtual void STDMETHODCALLTYPE OMSetBlendState(
 6331        ID3D11BlendState *pBlendState,
 6332        const FLOAT BlendFactor[4],
 6333        UINT SampleMask) = 0;
 6334
 6335    virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
 6336        ID3D11DepthStencilState *pDepthStencilState,
 6337        UINT StencilRef) = 0;
 6338
 6339    virtual void STDMETHODCALLTYPE SOSetTargets(
 6340        UINT NumBuffers,
 6341        ID3D11Buffer *const *ppSOTargets,
 6342        const UINT *pOffsets) = 0;
 6343
 6344    virtual void STDMETHODCALLTYPE DrawAuto(
 6345        ) = 0;
 6346
 6347    virtual void STDMETHODCALLTYPE DrawIndexedInstancedIndirect(
 6348        ID3D11Buffer *pBufferForArgs,
 6349        UINT AlignedByteOffsetForArgs) = 0;
 6350
 6351    virtual void STDMETHODCALLTYPE DrawInstancedIndirect(
 6352        ID3D11Buffer *pBufferForArgs,
 6353        UINT AlignedByteOffsetForArgs) = 0;
 6354
 6355    virtual void STDMETHODCALLTYPE Dispatch(
 6356        UINT ThreadGroupCountX,
 6357        UINT ThreadGroupCountY,
 6358        UINT ThreadGroupCountZ) = 0;
 6359
 6360    virtual void STDMETHODCALLTYPE DispatchIndirect(
 6361        ID3D11Buffer *pBufferForArgs,
 6362        UINT AlignedByteOffsetForArgs) = 0;
 6363
 6364    virtual void STDMETHODCALLTYPE RSSetState(
 6365        ID3D11RasterizerState *pRasterizerState) = 0;
 6366
 6367    virtual void STDMETHODCALLTYPE RSSetViewports(
 6368        UINT NumViewports,
 6369        const D3D11_VIEWPORT *pViewports) = 0;
 6370
 6371    virtual void STDMETHODCALLTYPE RSSetScissorRects(
 6372        UINT NumRects,
 6373        const D3D11_RECT *pRects) = 0;
 6374
 6375    virtual void STDMETHODCALLTYPE CopySubresourceRegion(
 6376        ID3D11Resource *pDstResource,
 6377        UINT DstSubresource,
 6378        UINT DstX,
 6379        UINT DstY,
 6380        UINT DstZ,
 6381        ID3D11Resource *pSrcResource,
 6382        UINT SrcSubresource,
 6383        const D3D11_BOX *pSrcBox) = 0;
 6384
 6385    virtual void STDMETHODCALLTYPE CopyResource(
 6386        ID3D11Resource *pDstResource,
 6387        ID3D11Resource *pSrcResource) = 0;
 6388
 6389    virtual void STDMETHODCALLTYPE UpdateSubresource(
 6390        ID3D11Resource *pDstResource,
 6391        UINT DstSubresource,
 6392        const D3D11_BOX *pDstBox,
 6393        const void *pSrcData,
 6394        UINT SrcRowPitch,
 6395        UINT SrcDepthPitch) = 0;
 6396
 6397    virtual void STDMETHODCALLTYPE CopyStructureCount(
 6398        ID3D11Buffer *pDstBuffer,
 6399        UINT DstAlignedByteOffset,
 6400        ID3D11UnorderedAccessView *pSrcView) = 0;
 6401
 6402    virtual void STDMETHODCALLTYPE ClearRenderTargetView(
 6403        ID3D11RenderTargetView *pRenderTargetView,
 6404        const FLOAT ColorRGBA[4]) = 0;
 6405
 6406    virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
 6407        ID3D11UnorderedAccessView *pUnorderedAccessView,
 6408        const UINT Values[4]) = 0;
 6409
 6410    virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
 6411        ID3D11UnorderedAccessView *pUnorderedAccessView,
 6412        const FLOAT Values[4]) = 0;
 6413
 6414    virtual void STDMETHODCALLTYPE ClearDepthStencilView(
 6415        ID3D11DepthStencilView *pDepthStencilView,
 6416        UINT ClearFlags,
 6417        FLOAT Depth,
 6418        UINT8 Stencil) = 0;
 6419
 6420    virtual void STDMETHODCALLTYPE GenerateMips(
 6421        ID3D11ShaderResourceView *pShaderResourceView) = 0;
 6422
 6423    virtual void STDMETHODCALLTYPE SetResourceMinLOD(
 6424        ID3D11Resource *pResource,
 6425        FLOAT MinLOD) = 0;
 6426
 6427    virtual FLOAT STDMETHODCALLTYPE GetResourceMinLOD(
 6428        ID3D11Resource *pResource) = 0;
 6429
 6430    virtual void STDMETHODCALLTYPE ResolveSubresource(
 6431        ID3D11Resource *pDstResource,
 6432        UINT DstSubresource,
 6433        ID3D11Resource *pSrcResource,
 6434        UINT SrcSubresource,
 6435        DXGI_FORMAT Format) = 0;
 6436
 6437    virtual void STDMETHODCALLTYPE ExecuteCommandList(
 6438        ID3D11CommandList *pCommandList,
 6439        WINBOOL RestoreContextState) = 0;
 6440
 6441    virtual void STDMETHODCALLTYPE HSSetShaderResources(
 6442        UINT StartSlot,
 6443        UINT NumViews,
 6444        ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
 6445
 6446    virtual void STDMETHODCALLTYPE HSSetShader(
 6447        ID3D11HullShader *pHullShader,
 6448        ID3D11ClassInstance *const *ppClassInstances,
 6449        UINT NumClassInstances) = 0;
 6450
 6451    virtual void STDMETHODCALLTYPE HSSetSamplers(
 6452        UINT StartSlot,
 6453        UINT NumSamplers,
 6454        ID3D11SamplerState *const *ppSamplers) = 0;
 6455
 6456    virtual void STDMETHODCALLTYPE HSSetConstantBuffers(
 6457        UINT StartSlot,
 6458        UINT NumBuffers,
 6459        ID3D11Buffer *const *ppConstantBuffers) = 0;
 6460
 6461    virtual void STDMETHODCALLTYPE DSSetShaderResources(
 6462        UINT StartSlot,
 6463        UINT NumViews,
 6464        ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
 6465
 6466    virtual void STDMETHODCALLTYPE DSSetShader(
 6467        ID3D11DomainShader *pDomainShader,
 6468        ID3D11ClassInstance *const *ppClassInstances,
 6469        UINT NumClassInstances) = 0;
 6470
 6471    virtual void STDMETHODCALLTYPE DSSetSamplers(
 6472        UINT StartSlot,
 6473        UINT NumSamplers,
 6474        ID3D11SamplerState *const *ppSamplers) = 0;
 6475
 6476    virtual void STDMETHODCALLTYPE DSSetConstantBuffers(
 6477        UINT StartSlot,
 6478        UINT NumBuffers,
 6479        ID3D11Buffer *const *ppConstantBuffers) = 0;
 6480
 6481    virtual void STDMETHODCALLTYPE CSSetShaderResources(
 6482        UINT StartSlot,
 6483        UINT NumViews,
 6484        ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
 6485
 6486    virtual void STDMETHODCALLTYPE CSSetUnorderedAccessViews(
 6487        UINT StartSlot,
 6488        UINT NumUAVs,
 6489        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
 6490        const UINT *pUAVInitialCounts) = 0;
 6491
 6492    virtual void STDMETHODCALLTYPE CSSetShader(
 6493        ID3D11ComputeShader *pComputeShader,
 6494        ID3D11ClassInstance *const *ppClassInstances,
 6495        UINT NumClassInstances) = 0;
 6496
 6497    virtual void STDMETHODCALLTYPE CSSetSamplers(
 6498        UINT StartSlot,
 6499        UINT NumSamplers,
 6500        ID3D11SamplerState *const *ppSamplers) = 0;
 6501
 6502    virtual void STDMETHODCALLTYPE CSSetConstantBuffers(
 6503        UINT StartSlot,
 6504        UINT NumBuffers,
 6505        ID3D11Buffer *const *ppConstantBuffers) = 0;
 6506
 6507    virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
 6508        UINT StartSlot,
 6509        UINT NumBuffers,
 6510        ID3D11Buffer **ppConstantBuffers) = 0;
 6511
 6512    virtual void STDMETHODCALLTYPE PSGetShaderResources(
 6513        UINT StartSlot,
 6514        UINT NumViews,
 6515        ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
 6516
 6517    virtual void STDMETHODCALLTYPE PSGetShader(
 6518        ID3D11PixelShader **ppPixelShader,
 6519        ID3D11ClassInstance **ppClassInstances,
 6520        UINT *pNumClassInstances) = 0;
 6521
 6522    virtual void STDMETHODCALLTYPE PSGetSamplers(
 6523        UINT StartSlot,
 6524        UINT NumSamplers,
 6525        ID3D11SamplerState **ppSamplers) = 0;
 6526
 6527    virtual void STDMETHODCALLTYPE VSGetShader(
 6528        ID3D11VertexShader **ppVertexShader,
 6529        ID3D11ClassInstance **ppClassInstances,
 6530        UINT *pNumClassInstances) = 0;
 6531
 6532    virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
 6533        UINT StartSlot,
 6534        UINT NumBuffers,
 6535        ID3D11Buffer **ppConstantBuffers) = 0;
 6536
 6537    virtual void STDMETHODCALLTYPE IAGetInputLayout(
 6538        ID3D11InputLayout **ppInputLayout) = 0;
 6539
 6540    virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
 6541        UINT StartSlot,
 6542        UINT NumBuffers,
 6543        ID3D11Buffer **ppVertexBuffers,
 6544        UINT *pStrides,
 6545        UINT *pOffsets) = 0;
 6546
 6547    virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
 6548        ID3D11Buffer **pIndexBuffer,
 6549        DXGI_FORMAT *Format,
 6550        UINT *Offset) = 0;
 6551
 6552    virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
 6553        UINT StartSlot,
 6554        UINT NumBuffers,
 6555        ID3D11Buffer **ppConstantBuffers) = 0;
 6556
 6557    virtual void STDMETHODCALLTYPE GSGetShader(
 6558        ID3D11GeometryShader **ppGeometryShader,
 6559        ID3D11ClassInstance **ppClassInstances,
 6560        UINT *pNumClassInstances) = 0;
 6561
 6562    virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
 6563        D3D11_PRIMITIVE_TOPOLOGY *pTopology) = 0;
 6564
 6565    virtual void STDMETHODCALLTYPE VSGetShaderResources(
 6566        UINT StartSlot,
 6567        UINT NumViews,
 6568        ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
 6569
 6570    virtual void STDMETHODCALLTYPE VSGetSamplers(
 6571        UINT StartSlot,
 6572        UINT NumSamplers,
 6573        ID3D11SamplerState **ppSamplers) = 0;
 6574
 6575    virtual void STDMETHODCALLTYPE GetPredication(
 6576        ID3D11Predicate **ppPredicate,
 6577        WINBOOL *pPredicateValue) = 0;
 6578
 6579    virtual void STDMETHODCALLTYPE GSGetShaderResources(
 6580        UINT StartSlot,
 6581        UINT NumViews,
 6582        ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
 6583
 6584    virtual void STDMETHODCALLTYPE GSGetSamplers(
 6585        UINT StartSlot,
 6586        UINT NumSamplers,
 6587        ID3D11SamplerState **ppSamplers) = 0;
 6588
 6589    virtual void STDMETHODCALLTYPE OMGetRenderTargets(
 6590        UINT NumViews,
 6591        ID3D11RenderTargetView **ppRenderTargetViews,
 6592        ID3D11DepthStencilView **ppDepthStencilView) = 0;
 6593
 6594    virtual void STDMETHODCALLTYPE OMGetRenderTargetsAndUnorderedAccessViews(
 6595        UINT NumRTVs,
 6596        ID3D11RenderTargetView **ppRenderTargetViews,
 6597        ID3D11DepthStencilView **ppDepthStencilView,
 6598        UINT UAVStartSlot,
 6599        UINT NumUAVs,
 6600        ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
 6601
 6602    virtual void STDMETHODCALLTYPE OMGetBlendState(
 6603        ID3D11BlendState **ppBlendState,
 6604        FLOAT BlendFactor[4],
 6605        UINT *pSampleMask) = 0;
 6606
 6607    virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
 6608        ID3D11DepthStencilState **ppDepthStencilState,
 6609        UINT *pStencilRef) = 0;
 6610
 6611    virtual void STDMETHODCALLTYPE SOGetTargets(
 6612        UINT NumBuffers,
 6613        ID3D11Buffer **ppSOTargets) = 0;
 6614
 6615    virtual void STDMETHODCALLTYPE RSGetState(
 6616        ID3D11RasterizerState **ppRasterizerState) = 0;
 6617
 6618    virtual void STDMETHODCALLTYPE RSGetViewports(
 6619        UINT *pNumViewports,
 6620        D3D11_VIEWPORT *pViewports) = 0;
 6621
 6622    virtual void STDMETHODCALLTYPE RSGetScissorRects(
 6623        UINT *pNumRects,
 6624        D3D11_RECT *pRects) = 0;
 6625
 6626    virtual void STDMETHODCALLTYPE HSGetShaderResources(
 6627        UINT StartSlot,
 6628        UINT NumViews,
 6629        ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
 6630
 6631    virtual void STDMETHODCALLTYPE HSGetShader(
 6632        ID3D11HullShader **ppHullShader,
 6633        ID3D11ClassInstance **ppClassInstances,
 6634        UINT *pNumClassInstances) = 0;
 6635
 6636    virtual void STDMETHODCALLTYPE HSGetSamplers(
 6637        UINT StartSlot,
 6638        UINT NumSamplers,
 6639        ID3D11SamplerState **ppSamplers) = 0;
 6640
 6641    virtual void STDMETHODCALLTYPE HSGetConstantBuffers(
 6642        UINT StartSlot,
 6643        UINT NumBuffers,
 6644        ID3D11Buffer **ppConstantBuffers) = 0;
 6645
 6646    virtual void STDMETHODCALLTYPE DSGetShaderResources(
 6647        UINT StartSlot,
 6648        UINT NumViews,
 6649        ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
 6650
 6651    virtual void STDMETHODCALLTYPE DSGetShader(
 6652        ID3D11DomainShader **ppDomainShader,
 6653        ID3D11ClassInstance **ppClassInstances,
 6654        UINT *pNumClassInstances) = 0;
 6655
 6656    virtual void STDMETHODCALLTYPE DSGetSamplers(
 6657        UINT StartSlot,
 6658        UINT NumSamplers,
 6659        ID3D11SamplerState **ppSamplers) = 0;
 6660
 6661    virtual void STDMETHODCALLTYPE DSGetConstantBuffers(
 6662        UINT StartSlot,
 6663        UINT NumBuffers,
 6664        ID3D11Buffer **ppConstantBuffers) = 0;
 6665
 6666    virtual void STDMETHODCALLTYPE CSGetShaderResources(
 6667        UINT StartSlot,
 6668        UINT NumViews,
 6669        ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
 6670
 6671    virtual void STDMETHODCALLTYPE CSGetUnorderedAccessViews(
 6672        UINT StartSlot,
 6673        UINT NumUAVs,
 6674        ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
 6675
 6676    virtual void STDMETHODCALLTYPE CSGetShader(
 6677        ID3D11ComputeShader **ppComputeShader,
 6678        ID3D11ClassInstance **ppClassInstances,
 6679        UINT *pNumClassInstances) = 0;
 6680
 6681    virtual void STDMETHODCALLTYPE CSGetSamplers(
 6682        UINT StartSlot,
 6683        UINT NumSamplers,
 6684        ID3D11SamplerState **ppSamplers) = 0;
 6685
 6686    virtual void STDMETHODCALLTYPE CSGetConstantBuffers(
 6687        UINT StartSlot,
 6688        UINT NumBuffers,
 6689        ID3D11Buffer **ppConstantBuffers) = 0;
 6690
 6691    virtual void STDMETHODCALLTYPE ClearState(
 6692        ) = 0;
 6693
 6694    virtual void STDMETHODCALLTYPE Flush(
 6695        ) = 0;
 6696
 6697    virtual D3D11_DEVICE_CONTEXT_TYPE STDMETHODCALLTYPE GetType(
 6698        ) = 0;
 6699
 6700    virtual UINT STDMETHODCALLTYPE GetContextFlags(
 6701        ) = 0;
 6702
 6703    virtual HRESULT STDMETHODCALLTYPE FinishCommandList(
 6704        WINBOOL RestoreDeferredContextState,
 6705        ID3D11CommandList **ppCommandList) = 0;
 6706
 6707};
 6708#ifdef __CRT_UUID_DECL
 6709__CRT_UUID_DECL(ID3D11DeviceContext, 0xc0bfa96c, 0xe089, 0x44fb, 0x8e,0xaf, 0x26,0xf8,0x79,0x61,0x90,0xda)
 6710#endif
 6711#else
 6712typedef struct ID3D11DeviceContextVtbl {
 6713    BEGIN_INTERFACE
 6714
 6715    /*** IUnknown methods ***/
 6716    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 6717        ID3D11DeviceContext *This,
 6718        REFIID riid,
 6719        void **ppvObject);
 6720
 6721    ULONG (STDMETHODCALLTYPE *AddRef)(
 6722        ID3D11DeviceContext *This);
 6723
 6724    ULONG (STDMETHODCALLTYPE *Release)(
 6725        ID3D11DeviceContext *This);
 6726
 6727    /*** ID3D11DeviceChild methods ***/
 6728    void (STDMETHODCALLTYPE *GetDevice)(
 6729        ID3D11DeviceContext *This,
 6730        ID3D11Device **ppDevice);
 6731
 6732    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 6733        ID3D11DeviceContext *This,
 6734        REFGUID guid,
 6735        UINT *pDataSize,
 6736        void *pData);
 6737
 6738    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 6739        ID3D11DeviceContext *This,
 6740        REFGUID guid,
 6741        UINT DataSize,
 6742        const void *pData);
 6743
 6744    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 6745        ID3D11DeviceContext *This,
 6746        REFGUID guid,
 6747        const IUnknown *pData);
 6748
 6749    /*** ID3D11DeviceContext methods ***/
 6750    void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
 6751        ID3D11DeviceContext *This,
 6752        UINT StartSlot,
 6753        UINT NumBuffers,
 6754        ID3D11Buffer *const *ppConstantBuffers);
 6755
 6756    void (STDMETHODCALLTYPE *PSSetShaderResources)(
 6757        ID3D11DeviceContext *This,
 6758        UINT StartSlot,
 6759        UINT NumViews,
 6760        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 6761
 6762    void (STDMETHODCALLTYPE *PSSetShader)(
 6763        ID3D11DeviceContext *This,
 6764        ID3D11PixelShader *pPixelShader,
 6765        ID3D11ClassInstance *const *ppClassInstances,
 6766        UINT NumClassInstances);
 6767
 6768    void (STDMETHODCALLTYPE *PSSetSamplers)(
 6769        ID3D11DeviceContext *This,
 6770        UINT StartSlot,
 6771        UINT NumSamplers,
 6772        ID3D11SamplerState *const *ppSamplers);
 6773
 6774    void (STDMETHODCALLTYPE *VSSetShader)(
 6775        ID3D11DeviceContext *This,
 6776        ID3D11VertexShader *pVertexShader,
 6777        ID3D11ClassInstance *const *ppClassInstances,
 6778        UINT NumClassInstances);
 6779
 6780    void (STDMETHODCALLTYPE *DrawIndexed)(
 6781        ID3D11DeviceContext *This,
 6782        UINT IndexCount,
 6783        UINT StartIndexLocation,
 6784        INT BaseVertexLocation);
 6785
 6786    void (STDMETHODCALLTYPE *Draw)(
 6787        ID3D11DeviceContext *This,
 6788        UINT VertexCount,
 6789        UINT StartVertexLocation);
 6790
 6791    HRESULT (STDMETHODCALLTYPE *Map)(
 6792        ID3D11DeviceContext *This,
 6793        ID3D11Resource *pResource,
 6794        UINT Subresource,
 6795        D3D11_MAP MapType,
 6796        UINT MapFlags,
 6797        D3D11_MAPPED_SUBRESOURCE *pMappedResource);
 6798
 6799    void (STDMETHODCALLTYPE *Unmap)(
 6800        ID3D11DeviceContext *This,
 6801        ID3D11Resource *pResource,
 6802        UINT Subresource);
 6803
 6804    void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
 6805        ID3D11DeviceContext *This,
 6806        UINT StartSlot,
 6807        UINT NumBuffers,
 6808        ID3D11Buffer *const *ppConstantBuffers);
 6809
 6810    void (STDMETHODCALLTYPE *IASetInputLayout)(
 6811        ID3D11DeviceContext *This,
 6812        ID3D11InputLayout *pInputLayout);
 6813
 6814    void (STDMETHODCALLTYPE *IASetVertexBuffers)(
 6815        ID3D11DeviceContext *This,
 6816        UINT StartSlot,
 6817        UINT NumBuffers,
 6818        ID3D11Buffer *const *ppVertexBuffers,
 6819        const UINT *pStrides,
 6820        const UINT *pOffsets);
 6821
 6822    void (STDMETHODCALLTYPE *IASetIndexBuffer)(
 6823        ID3D11DeviceContext *This,
 6824        ID3D11Buffer *pIndexBuffer,
 6825        DXGI_FORMAT Format,
 6826        UINT Offset);
 6827
 6828    void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
 6829        ID3D11DeviceContext *This,
 6830        UINT IndexCountPerInstance,
 6831        UINT InstanceCount,
 6832        UINT StartIndexLocation,
 6833        INT BaseVertexLocation,
 6834        UINT StartInstanceLocation);
 6835
 6836    void (STDMETHODCALLTYPE *DrawInstanced)(
 6837        ID3D11DeviceContext *This,
 6838        UINT VertexCountPerInstance,
 6839        UINT InstanceCount,
 6840        UINT StartVertexLocation,
 6841        UINT StartInstanceLocation);
 6842
 6843    void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
 6844        ID3D11DeviceContext *This,
 6845        UINT StartSlot,
 6846        UINT NumBuffers,
 6847        ID3D11Buffer *const *ppConstantBuffers);
 6848
 6849    void (STDMETHODCALLTYPE *GSSetShader)(
 6850        ID3D11DeviceContext *This,
 6851        ID3D11GeometryShader *pShader,
 6852        ID3D11ClassInstance *const *ppClassInstances,
 6853        UINT NumClassInstances);
 6854
 6855    void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
 6856        ID3D11DeviceContext *This,
 6857        D3D11_PRIMITIVE_TOPOLOGY Topology);
 6858
 6859    void (STDMETHODCALLTYPE *VSSetShaderResources)(
 6860        ID3D11DeviceContext *This,
 6861        UINT StartSlot,
 6862        UINT NumViews,
 6863        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 6864
 6865    void (STDMETHODCALLTYPE *VSSetSamplers)(
 6866        ID3D11DeviceContext *This,
 6867        UINT StartSlot,
 6868        UINT NumSamplers,
 6869        ID3D11SamplerState *const *ppSamplers);
 6870
 6871    void (STDMETHODCALLTYPE *Begin)(
 6872        ID3D11DeviceContext *This,
 6873        ID3D11Asynchronous *pAsync);
 6874
 6875    void (STDMETHODCALLTYPE *End)(
 6876        ID3D11DeviceContext *This,
 6877        ID3D11Asynchronous *pAsync);
 6878
 6879    HRESULT (STDMETHODCALLTYPE *GetData)(
 6880        ID3D11DeviceContext *This,
 6881        ID3D11Asynchronous *pAsync,
 6882        void *pData,
 6883        UINT DataSize,
 6884        UINT GetDataFlags);
 6885
 6886    void (STDMETHODCALLTYPE *SetPredication)(
 6887        ID3D11DeviceContext *This,
 6888        ID3D11Predicate *pPredicate,
 6889        WINBOOL PredicateValue);
 6890
 6891    void (STDMETHODCALLTYPE *GSSetShaderResources)(
 6892        ID3D11DeviceContext *This,
 6893        UINT StartSlot,
 6894        UINT NumViews,
 6895        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 6896
 6897    void (STDMETHODCALLTYPE *GSSetSamplers)(
 6898        ID3D11DeviceContext *This,
 6899        UINT StartSlot,
 6900        UINT NumSamplers,
 6901        ID3D11SamplerState *const *ppSamplers);
 6902
 6903    void (STDMETHODCALLTYPE *OMSetRenderTargets)(
 6904        ID3D11DeviceContext *This,
 6905        UINT NumViews,
 6906        ID3D11RenderTargetView *const *ppRenderTargetViews,
 6907        ID3D11DepthStencilView *pDepthStencilView);
 6908
 6909    void (STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews)(
 6910        ID3D11DeviceContext *This,
 6911        UINT NumRTVs,
 6912        ID3D11RenderTargetView *const *ppRenderTargetViews,
 6913        ID3D11DepthStencilView *pDepthStencilView,
 6914        UINT UAVStartSlot,
 6915        UINT NumUAVs,
 6916        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
 6917        const UINT *pUAVInitialCounts);
 6918
 6919    void (STDMETHODCALLTYPE *OMSetBlendState)(
 6920        ID3D11DeviceContext *This,
 6921        ID3D11BlendState *pBlendState,
 6922        const FLOAT BlendFactor[4],
 6923        UINT SampleMask);
 6924
 6925    void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
 6926        ID3D11DeviceContext *This,
 6927        ID3D11DepthStencilState *pDepthStencilState,
 6928        UINT StencilRef);
 6929
 6930    void (STDMETHODCALLTYPE *SOSetTargets)(
 6931        ID3D11DeviceContext *This,
 6932        UINT NumBuffers,
 6933        ID3D11Buffer *const *ppSOTargets,
 6934        const UINT *pOffsets);
 6935
 6936    void (STDMETHODCALLTYPE *DrawAuto)(
 6937        ID3D11DeviceContext *This);
 6938
 6939    void (STDMETHODCALLTYPE *DrawIndexedInstancedIndirect)(
 6940        ID3D11DeviceContext *This,
 6941        ID3D11Buffer *pBufferForArgs,
 6942        UINT AlignedByteOffsetForArgs);
 6943
 6944    void (STDMETHODCALLTYPE *DrawInstancedIndirect)(
 6945        ID3D11DeviceContext *This,
 6946        ID3D11Buffer *pBufferForArgs,
 6947        UINT AlignedByteOffsetForArgs);
 6948
 6949    void (STDMETHODCALLTYPE *Dispatch)(
 6950        ID3D11DeviceContext *This,
 6951        UINT ThreadGroupCountX,
 6952        UINT ThreadGroupCountY,
 6953        UINT ThreadGroupCountZ);
 6954
 6955    void (STDMETHODCALLTYPE *DispatchIndirect)(
 6956        ID3D11DeviceContext *This,
 6957        ID3D11Buffer *pBufferForArgs,
 6958        UINT AlignedByteOffsetForArgs);
 6959
 6960    void (STDMETHODCALLTYPE *RSSetState)(
 6961        ID3D11DeviceContext *This,
 6962        ID3D11RasterizerState *pRasterizerState);
 6963
 6964    void (STDMETHODCALLTYPE *RSSetViewports)(
 6965        ID3D11DeviceContext *This,
 6966        UINT NumViewports,
 6967        const D3D11_VIEWPORT *pViewports);
 6968
 6969    void (STDMETHODCALLTYPE *RSSetScissorRects)(
 6970        ID3D11DeviceContext *This,
 6971        UINT NumRects,
 6972        const D3D11_RECT *pRects);
 6973
 6974    void (STDMETHODCALLTYPE *CopySubresourceRegion)(
 6975        ID3D11DeviceContext *This,
 6976        ID3D11Resource *pDstResource,
 6977        UINT DstSubresource,
 6978        UINT DstX,
 6979        UINT DstY,
 6980        UINT DstZ,
 6981        ID3D11Resource *pSrcResource,
 6982        UINT SrcSubresource,
 6983        const D3D11_BOX *pSrcBox);
 6984
 6985    void (STDMETHODCALLTYPE *CopyResource)(
 6986        ID3D11DeviceContext *This,
 6987        ID3D11Resource *pDstResource,
 6988        ID3D11Resource *pSrcResource);
 6989
 6990    void (STDMETHODCALLTYPE *UpdateSubresource)(
 6991        ID3D11DeviceContext *This,
 6992        ID3D11Resource *pDstResource,
 6993        UINT DstSubresource,
 6994        const D3D11_BOX *pDstBox,
 6995        const void *pSrcData,
 6996        UINT SrcRowPitch,
 6997        UINT SrcDepthPitch);
 6998
 6999    void (STDMETHODCALLTYPE *CopyStructureCount)(
 7000        ID3D11DeviceContext *This,
 7001        ID3D11Buffer *pDstBuffer,
 7002        UINT DstAlignedByteOffset,
 7003        ID3D11UnorderedAccessView *pSrcView);
 7004
 7005    void (STDMETHODCALLTYPE *ClearRenderTargetView)(
 7006        ID3D11DeviceContext *This,
 7007        ID3D11RenderTargetView *pRenderTargetView,
 7008        const FLOAT ColorRGBA[4]);
 7009
 7010    void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
 7011        ID3D11DeviceContext *This,
 7012        ID3D11UnorderedAccessView *pUnorderedAccessView,
 7013        const UINT Values[4]);
 7014
 7015    void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
 7016        ID3D11DeviceContext *This,
 7017        ID3D11UnorderedAccessView *pUnorderedAccessView,
 7018        const FLOAT Values[4]);
 7019
 7020    void (STDMETHODCALLTYPE *ClearDepthStencilView)(
 7021        ID3D11DeviceContext *This,
 7022        ID3D11DepthStencilView *pDepthStencilView,
 7023        UINT ClearFlags,
 7024        FLOAT Depth,
 7025        UINT8 Stencil);
 7026
 7027    void (STDMETHODCALLTYPE *GenerateMips)(
 7028        ID3D11DeviceContext *This,
 7029        ID3D11ShaderResourceView *pShaderResourceView);
 7030
 7031    void (STDMETHODCALLTYPE *SetResourceMinLOD)(
 7032        ID3D11DeviceContext *This,
 7033        ID3D11Resource *pResource,
 7034        FLOAT MinLOD);
 7035
 7036    FLOAT (STDMETHODCALLTYPE *GetResourceMinLOD)(
 7037        ID3D11DeviceContext *This,
 7038        ID3D11Resource *pResource);
 7039
 7040    void (STDMETHODCALLTYPE *ResolveSubresource)(
 7041        ID3D11DeviceContext *This,
 7042        ID3D11Resource *pDstResource,
 7043        UINT DstSubresource,
 7044        ID3D11Resource *pSrcResource,
 7045        UINT SrcSubresource,
 7046        DXGI_FORMAT Format);
 7047
 7048    void (STDMETHODCALLTYPE *ExecuteCommandList)(
 7049        ID3D11DeviceContext *This,
 7050        ID3D11CommandList *pCommandList,
 7051        WINBOOL RestoreContextState);
 7052
 7053    void (STDMETHODCALLTYPE *HSSetShaderResources)(
 7054        ID3D11DeviceContext *This,
 7055        UINT StartSlot,
 7056        UINT NumViews,
 7057        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 7058
 7059    void (STDMETHODCALLTYPE *HSSetShader)(
 7060        ID3D11DeviceContext *This,
 7061        ID3D11HullShader *pHullShader,
 7062        ID3D11ClassInstance *const *ppClassInstances,
 7063        UINT NumClassInstances);
 7064
 7065    void (STDMETHODCALLTYPE *HSSetSamplers)(
 7066        ID3D11DeviceContext *This,
 7067        UINT StartSlot,
 7068        UINT NumSamplers,
 7069        ID3D11SamplerState *const *ppSamplers);
 7070
 7071    void (STDMETHODCALLTYPE *HSSetConstantBuffers)(
 7072        ID3D11DeviceContext *This,
 7073        UINT StartSlot,
 7074        UINT NumBuffers,
 7075        ID3D11Buffer *const *ppConstantBuffers);
 7076
 7077    void (STDMETHODCALLTYPE *DSSetShaderResources)(
 7078        ID3D11DeviceContext *This,
 7079        UINT StartSlot,
 7080        UINT NumViews,
 7081        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 7082
 7083    void (STDMETHODCALLTYPE *DSSetShader)(
 7084        ID3D11DeviceContext *This,
 7085        ID3D11DomainShader *pDomainShader,
 7086        ID3D11ClassInstance *const *ppClassInstances,
 7087        UINT NumClassInstances);
 7088
 7089    void (STDMETHODCALLTYPE *DSSetSamplers)(
 7090        ID3D11DeviceContext *This,
 7091        UINT StartSlot,
 7092        UINT NumSamplers,
 7093        ID3D11SamplerState *const *ppSamplers);
 7094
 7095    void (STDMETHODCALLTYPE *DSSetConstantBuffers)(
 7096        ID3D11DeviceContext *This,
 7097        UINT StartSlot,
 7098        UINT NumBuffers,
 7099        ID3D11Buffer *const *ppConstantBuffers);
 7100
 7101    void (STDMETHODCALLTYPE *CSSetShaderResources)(
 7102        ID3D11DeviceContext *This,
 7103        UINT StartSlot,
 7104        UINT NumViews,
 7105        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 7106
 7107    void (STDMETHODCALLTYPE *CSSetUnorderedAccessViews)(
 7108        ID3D11DeviceContext *This,
 7109        UINT StartSlot,
 7110        UINT NumUAVs,
 7111        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
 7112        const UINT *pUAVInitialCounts);
 7113
 7114    void (STDMETHODCALLTYPE *CSSetShader)(
 7115        ID3D11DeviceContext *This,
 7116        ID3D11ComputeShader *pComputeShader,
 7117        ID3D11ClassInstance *const *ppClassInstances,
 7118        UINT NumClassInstances);
 7119
 7120    void (STDMETHODCALLTYPE *CSSetSamplers)(
 7121        ID3D11DeviceContext *This,
 7122        UINT StartSlot,
 7123        UINT NumSamplers,
 7124        ID3D11SamplerState *const *ppSamplers);
 7125
 7126    void (STDMETHODCALLTYPE *CSSetConstantBuffers)(
 7127        ID3D11DeviceContext *This,
 7128        UINT StartSlot,
 7129        UINT NumBuffers,
 7130        ID3D11Buffer *const *ppConstantBuffers);
 7131
 7132    void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
 7133        ID3D11DeviceContext *This,
 7134        UINT StartSlot,
 7135        UINT NumBuffers,
 7136        ID3D11Buffer **ppConstantBuffers);
 7137
 7138    void (STDMETHODCALLTYPE *PSGetShaderResources)(
 7139        ID3D11DeviceContext *This,
 7140        UINT StartSlot,
 7141        UINT NumViews,
 7142        ID3D11ShaderResourceView **ppShaderResourceViews);
 7143
 7144    void (STDMETHODCALLTYPE *PSGetShader)(
 7145        ID3D11DeviceContext *This,
 7146        ID3D11PixelShader **ppPixelShader,
 7147        ID3D11ClassInstance **ppClassInstances,
 7148        UINT *pNumClassInstances);
 7149
 7150    void (STDMETHODCALLTYPE *PSGetSamplers)(
 7151        ID3D11DeviceContext *This,
 7152        UINT StartSlot,
 7153        UINT NumSamplers,
 7154        ID3D11SamplerState **ppSamplers);
 7155
 7156    void (STDMETHODCALLTYPE *VSGetShader)(
 7157        ID3D11DeviceContext *This,
 7158        ID3D11VertexShader **ppVertexShader,
 7159        ID3D11ClassInstance **ppClassInstances,
 7160        UINT *pNumClassInstances);
 7161
 7162    void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
 7163        ID3D11DeviceContext *This,
 7164        UINT StartSlot,
 7165        UINT NumBuffers,
 7166        ID3D11Buffer **ppConstantBuffers);
 7167
 7168    void (STDMETHODCALLTYPE *IAGetInputLayout)(
 7169        ID3D11DeviceContext *This,
 7170        ID3D11InputLayout **ppInputLayout);
 7171
 7172    void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
 7173        ID3D11DeviceContext *This,
 7174        UINT StartSlot,
 7175        UINT NumBuffers,
 7176        ID3D11Buffer **ppVertexBuffers,
 7177        UINT *pStrides,
 7178        UINT *pOffsets);
 7179
 7180    void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
 7181        ID3D11DeviceContext *This,
 7182        ID3D11Buffer **pIndexBuffer,
 7183        DXGI_FORMAT *Format,
 7184        UINT *Offset);
 7185
 7186    void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
 7187        ID3D11DeviceContext *This,
 7188        UINT StartSlot,
 7189        UINT NumBuffers,
 7190        ID3D11Buffer **ppConstantBuffers);
 7191
 7192    void (STDMETHODCALLTYPE *GSGetShader)(
 7193        ID3D11DeviceContext *This,
 7194        ID3D11GeometryShader **ppGeometryShader,
 7195        ID3D11ClassInstance **ppClassInstances,
 7196        UINT *pNumClassInstances);
 7197
 7198    void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
 7199        ID3D11DeviceContext *This,
 7200        D3D11_PRIMITIVE_TOPOLOGY *pTopology);
 7201
 7202    void (STDMETHODCALLTYPE *VSGetShaderResources)(
 7203        ID3D11DeviceContext *This,
 7204        UINT StartSlot,
 7205        UINT NumViews,
 7206        ID3D11ShaderResourceView **ppShaderResourceViews);
 7207
 7208    void (STDMETHODCALLTYPE *VSGetSamplers)(
 7209        ID3D11DeviceContext *This,
 7210        UINT StartSlot,
 7211        UINT NumSamplers,
 7212        ID3D11SamplerState **ppSamplers);
 7213
 7214    void (STDMETHODCALLTYPE *GetPredication)(
 7215        ID3D11DeviceContext *This,
 7216        ID3D11Predicate **ppPredicate,
 7217        WINBOOL *pPredicateValue);
 7218
 7219    void (STDMETHODCALLTYPE *GSGetShaderResources)(
 7220        ID3D11DeviceContext *This,
 7221        UINT StartSlot,
 7222        UINT NumViews,
 7223        ID3D11ShaderResourceView **ppShaderResourceViews);
 7224
 7225    void (STDMETHODCALLTYPE *GSGetSamplers)(
 7226        ID3D11DeviceContext *This,
 7227        UINT StartSlot,
 7228        UINT NumSamplers,
 7229        ID3D11SamplerState **ppSamplers);
 7230
 7231    void (STDMETHODCALLTYPE *OMGetRenderTargets)(
 7232        ID3D11DeviceContext *This,
 7233        UINT NumViews,
 7234        ID3D11RenderTargetView **ppRenderTargetViews,
 7235        ID3D11DepthStencilView **ppDepthStencilView);
 7236
 7237    void (STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews)(
 7238        ID3D11DeviceContext *This,
 7239        UINT NumRTVs,
 7240        ID3D11RenderTargetView **ppRenderTargetViews,
 7241        ID3D11DepthStencilView **ppDepthStencilView,
 7242        UINT UAVStartSlot,
 7243        UINT NumUAVs,
 7244        ID3D11UnorderedAccessView **ppUnorderedAccessViews);
 7245
 7246    void (STDMETHODCALLTYPE *OMGetBlendState)(
 7247        ID3D11DeviceContext *This,
 7248        ID3D11BlendState **ppBlendState,
 7249        FLOAT BlendFactor[4],
 7250        UINT *pSampleMask);
 7251
 7252    void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
 7253        ID3D11DeviceContext *This,
 7254        ID3D11DepthStencilState **ppDepthStencilState,
 7255        UINT *pStencilRef);
 7256
 7257    void (STDMETHODCALLTYPE *SOGetTargets)(
 7258        ID3D11DeviceContext *This,
 7259        UINT NumBuffers,
 7260        ID3D11Buffer **ppSOTargets);
 7261
 7262    void (STDMETHODCALLTYPE *RSGetState)(
 7263        ID3D11DeviceContext *This,
 7264        ID3D11RasterizerState **ppRasterizerState);
 7265
 7266    void (STDMETHODCALLTYPE *RSGetViewports)(
 7267        ID3D11DeviceContext *This,
 7268        UINT *pNumViewports,
 7269        D3D11_VIEWPORT *pViewports);
 7270
 7271    void (STDMETHODCALLTYPE *RSGetScissorRects)(
 7272        ID3D11DeviceContext *This,
 7273        UINT *pNumRects,
 7274        D3D11_RECT *pRects);
 7275
 7276    void (STDMETHODCALLTYPE *HSGetShaderResources)(
 7277        ID3D11DeviceContext *This,
 7278        UINT StartSlot,
 7279        UINT NumViews,
 7280        ID3D11ShaderResourceView **ppShaderResourceViews);
 7281
 7282    void (STDMETHODCALLTYPE *HSGetShader)(
 7283        ID3D11DeviceContext *This,
 7284        ID3D11HullShader **ppHullShader,
 7285        ID3D11ClassInstance **ppClassInstances,
 7286        UINT *pNumClassInstances);
 7287
 7288    void (STDMETHODCALLTYPE *HSGetSamplers)(
 7289        ID3D11DeviceContext *This,
 7290        UINT StartSlot,
 7291        UINT NumSamplers,
 7292        ID3D11SamplerState **ppSamplers);
 7293
 7294    void (STDMETHODCALLTYPE *HSGetConstantBuffers)(
 7295        ID3D11DeviceContext *This,
 7296        UINT StartSlot,
 7297        UINT NumBuffers,
 7298        ID3D11Buffer **ppConstantBuffers);
 7299
 7300    void (STDMETHODCALLTYPE *DSGetShaderResources)(
 7301        ID3D11DeviceContext *This,
 7302        UINT StartSlot,
 7303        UINT NumViews,
 7304        ID3D11ShaderResourceView **ppShaderResourceViews);
 7305
 7306    void (STDMETHODCALLTYPE *DSGetShader)(
 7307        ID3D11DeviceContext *This,
 7308        ID3D11DomainShader **ppDomainShader,
 7309        ID3D11ClassInstance **ppClassInstances,
 7310        UINT *pNumClassInstances);
 7311
 7312    void (STDMETHODCALLTYPE *DSGetSamplers)(
 7313        ID3D11DeviceContext *This,
 7314        UINT StartSlot,
 7315        UINT NumSamplers,
 7316        ID3D11SamplerState **ppSamplers);
 7317
 7318    void (STDMETHODCALLTYPE *DSGetConstantBuffers)(
 7319        ID3D11DeviceContext *This,
 7320        UINT StartSlot,
 7321        UINT NumBuffers,
 7322        ID3D11Buffer **ppConstantBuffers);
 7323
 7324    void (STDMETHODCALLTYPE *CSGetShaderResources)(
 7325        ID3D11DeviceContext *This,
 7326        UINT StartSlot,
 7327        UINT NumViews,
 7328        ID3D11ShaderResourceView **ppShaderResourceViews);
 7329
 7330    void (STDMETHODCALLTYPE *CSGetUnorderedAccessViews)(
 7331        ID3D11DeviceContext *This,
 7332        UINT StartSlot,
 7333        UINT NumUAVs,
 7334        ID3D11UnorderedAccessView **ppUnorderedAccessViews);
 7335
 7336    void (STDMETHODCALLTYPE *CSGetShader)(
 7337        ID3D11DeviceContext *This,
 7338        ID3D11ComputeShader **ppComputeShader,
 7339        ID3D11ClassInstance **ppClassInstances,
 7340        UINT *pNumClassInstances);
 7341
 7342    void (STDMETHODCALLTYPE *CSGetSamplers)(
 7343        ID3D11DeviceContext *This,
 7344        UINT StartSlot,
 7345        UINT NumSamplers,
 7346        ID3D11SamplerState **ppSamplers);
 7347
 7348    void (STDMETHODCALLTYPE *CSGetConstantBuffers)(
 7349        ID3D11DeviceContext *This,
 7350        UINT StartSlot,
 7351        UINT NumBuffers,
 7352        ID3D11Buffer **ppConstantBuffers);
 7353
 7354    void (STDMETHODCALLTYPE *ClearState)(
 7355        ID3D11DeviceContext *This);
 7356
 7357    void (STDMETHODCALLTYPE *Flush)(
 7358        ID3D11DeviceContext *This);
 7359
 7360    D3D11_DEVICE_CONTEXT_TYPE (STDMETHODCALLTYPE *GetType)(
 7361        ID3D11DeviceContext *This);
 7362
 7363    UINT (STDMETHODCALLTYPE *GetContextFlags)(
 7364        ID3D11DeviceContext *This);
 7365
 7366    HRESULT (STDMETHODCALLTYPE *FinishCommandList)(
 7367        ID3D11DeviceContext *This,
 7368        WINBOOL RestoreDeferredContextState,
 7369        ID3D11CommandList **ppCommandList);
 7370
 7371    END_INTERFACE
 7372} ID3D11DeviceContextVtbl;
 7373
 7374interface ID3D11DeviceContext {
 7375    CONST_VTBL ID3D11DeviceContextVtbl* lpVtbl;
 7376};
 7377
 7378#ifdef COBJMACROS
 7379#ifndef WIDL_C_INLINE_WRAPPERS
 7380/*** IUnknown methods ***/
 7381#define ID3D11DeviceContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 7382#define ID3D11DeviceContext_AddRef(This) (This)->lpVtbl->AddRef(This)
 7383#define ID3D11DeviceContext_Release(This) (This)->lpVtbl->Release(This)
 7384/*** ID3D11DeviceChild methods ***/
 7385#define ID3D11DeviceContext_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 7386#define ID3D11DeviceContext_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 7387#define ID3D11DeviceContext_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 7388#define ID3D11DeviceContext_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 7389/*** ID3D11DeviceContext methods ***/
 7390#define ID3D11DeviceContext_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7391#define ID3D11DeviceContext_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7392#define ID3D11DeviceContext_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances)
 7393#define ID3D11DeviceContext_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7394#define ID3D11DeviceContext_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances)
 7395#define ID3D11DeviceContext_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
 7396#define ID3D11DeviceContext_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
 7397#define ID3D11DeviceContext_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) (This)->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource)
 7398#define ID3D11DeviceContext_Unmap(This,pResource,Subresource) (This)->lpVtbl->Unmap(This,pResource,Subresource)
 7399#define ID3D11DeviceContext_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7400#define ID3D11DeviceContext_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
 7401#define ID3D11DeviceContext_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
 7402#define ID3D11DeviceContext_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
 7403#define ID3D11DeviceContext_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
 7404#define ID3D11DeviceContext_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
 7405#define ID3D11DeviceContext_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7406#define ID3D11DeviceContext_GSSetShader(This,pShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances)
 7407#define ID3D11DeviceContext_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
 7408#define ID3D11DeviceContext_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7409#define ID3D11DeviceContext_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7410#define ID3D11DeviceContext_Begin(This,pAsync) (This)->lpVtbl->Begin(This,pAsync)
 7411#define ID3D11DeviceContext_End(This,pAsync) (This)->lpVtbl->End(This,pAsync)
 7412#define ID3D11DeviceContext_GetData(This,pAsync,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags)
 7413#define ID3D11DeviceContext_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
 7414#define ID3D11DeviceContext_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7415#define ID3D11DeviceContext_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7416#define ID3D11DeviceContext_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
 7417#define ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
 7418#define ID3D11DeviceContext_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
 7419#define ID3D11DeviceContext_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
 7420#define ID3D11DeviceContext_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
 7421#define ID3D11DeviceContext_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
 7422#define ID3D11DeviceContext_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
 7423#define ID3D11DeviceContext_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
 7424#define ID3D11DeviceContext_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) (This)->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)
 7425#define ID3D11DeviceContext_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
 7426#define ID3D11DeviceContext_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
 7427#define ID3D11DeviceContext_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
 7428#define ID3D11DeviceContext_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
 7429#define ID3D11DeviceContext_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
 7430#define ID3D11DeviceContext_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
 7431#define ID3D11DeviceContext_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
 7432#define ID3D11DeviceContext_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) (This)->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView)
 7433#define ID3D11DeviceContext_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
 7434#define ID3D11DeviceContext_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values)
 7435#define ID3D11DeviceContext_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values)
 7436#define ID3D11DeviceContext_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
 7437#define ID3D11DeviceContext_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
 7438#define ID3D11DeviceContext_SetResourceMinLOD(This,pResource,MinLOD) (This)->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD)
 7439#define ID3D11DeviceContext_GetResourceMinLOD(This,pResource) (This)->lpVtbl->GetResourceMinLOD(This,pResource)
 7440#define ID3D11DeviceContext_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
 7441#define ID3D11DeviceContext_ExecuteCommandList(This,pCommandList,RestoreContextState) (This)->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState)
 7442#define ID3D11DeviceContext_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7443#define ID3D11DeviceContext_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances)
 7444#define ID3D11DeviceContext_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7445#define ID3D11DeviceContext_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7446#define ID3D11DeviceContext_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7447#define ID3D11DeviceContext_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances)
 7448#define ID3D11DeviceContext_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7449#define ID3D11DeviceContext_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7450#define ID3D11DeviceContext_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7451#define ID3D11DeviceContext_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
 7452#define ID3D11DeviceContext_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances)
 7453#define ID3D11DeviceContext_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7454#define ID3D11DeviceContext_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7455#define ID3D11DeviceContext_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7456#define ID3D11DeviceContext_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7457#define ID3D11DeviceContext_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances)
 7458#define ID3D11DeviceContext_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7459#define ID3D11DeviceContext_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances)
 7460#define ID3D11DeviceContext_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7461#define ID3D11DeviceContext_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
 7462#define ID3D11DeviceContext_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
 7463#define ID3D11DeviceContext_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
 7464#define ID3D11DeviceContext_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7465#define ID3D11DeviceContext_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances)
 7466#define ID3D11DeviceContext_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
 7467#define ID3D11DeviceContext_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7468#define ID3D11DeviceContext_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7469#define ID3D11DeviceContext_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
 7470#define ID3D11DeviceContext_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7471#define ID3D11DeviceContext_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7472#define ID3D11DeviceContext_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
 7473#define ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews)
 7474#define ID3D11DeviceContext_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
 7475#define ID3D11DeviceContext_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
 7476#define ID3D11DeviceContext_SOGetTargets(This,NumBuffers,ppSOTargets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets)
 7477#define ID3D11DeviceContext_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
 7478#define ID3D11DeviceContext_RSGetViewports(This,pNumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,pNumViewports,pViewports)
 7479#define ID3D11DeviceContext_RSGetScissorRects(This,pNumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,pNumRects,pRects)
 7480#define ID3D11DeviceContext_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7481#define ID3D11DeviceContext_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances)
 7482#define ID3D11DeviceContext_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7483#define ID3D11DeviceContext_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7484#define ID3D11DeviceContext_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7485#define ID3D11DeviceContext_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances)
 7486#define ID3D11DeviceContext_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7487#define ID3D11DeviceContext_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7488#define ID3D11DeviceContext_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
 7489#define ID3D11DeviceContext_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews)
 7490#define ID3D11DeviceContext_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances)
 7491#define ID3D11DeviceContext_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
 7492#define ID3D11DeviceContext_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
 7493#define ID3D11DeviceContext_ClearState(This) (This)->lpVtbl->ClearState(This)
 7494#define ID3D11DeviceContext_Flush(This) (This)->lpVtbl->Flush(This)
 7495#define ID3D11DeviceContext_GetType(This) (This)->lpVtbl->GetType(This)
 7496#define ID3D11DeviceContext_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
 7497#define ID3D11DeviceContext_FinishCommandList(This,RestoreDeferredContextState,ppCommandList) (This)->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList)
 7498#else
 7499/*** IUnknown methods ***/
 7500static inline HRESULT ID3D11DeviceContext_QueryInterface(ID3D11DeviceContext* This,REFIID riid,void **ppvObject) {
 7501    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 7502}
 7503static inline ULONG ID3D11DeviceContext_AddRef(ID3D11DeviceContext* This) {
 7504    return This->lpVtbl->AddRef(This);
 7505}
 7506static inline ULONG ID3D11DeviceContext_Release(ID3D11DeviceContext* This) {
 7507    return This->lpVtbl->Release(This);
 7508}
 7509/*** ID3D11DeviceChild methods ***/
 7510static inline void ID3D11DeviceContext_GetDevice(ID3D11DeviceContext* This,ID3D11Device **ppDevice) {
 7511    This->lpVtbl->GetDevice(This,ppDevice);
 7512}
 7513static inline HRESULT ID3D11DeviceContext_GetPrivateData(ID3D11DeviceContext* This,REFGUID guid,UINT *pDataSize,void *pData) {
 7514    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 7515}
 7516static inline HRESULT ID3D11DeviceContext_SetPrivateData(ID3D11DeviceContext* This,REFGUID guid,UINT DataSize,const void *pData) {
 7517    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 7518}
 7519static inline HRESULT ID3D11DeviceContext_SetPrivateDataInterface(ID3D11DeviceContext* This,REFGUID guid,const IUnknown *pData) {
 7520    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 7521}
 7522/*** ID3D11DeviceContext methods ***/
 7523static inline void ID3D11DeviceContext_VSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
 7524    This->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7525}
 7526static inline void ID3D11DeviceContext_PSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
 7527    This->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7528}
 7529static inline void ID3D11DeviceContext_PSSetShader(ID3D11DeviceContext* This,ID3D11PixelShader *pPixelShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
 7530    This->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances);
 7531}
 7532static inline void ID3D11DeviceContext_PSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
 7533    This->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7534}
 7535static inline void ID3D11DeviceContext_VSSetShader(ID3D11DeviceContext* This,ID3D11VertexShader *pVertexShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
 7536    This->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances);
 7537}
 7538static inline void ID3D11DeviceContext_DrawIndexed(ID3D11DeviceContext* This,UINT IndexCount,UINT StartIndexLocation,INT BaseVertexLocation) {
 7539    This->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation);
 7540}
 7541static inline void ID3D11DeviceContext_Draw(ID3D11DeviceContext* This,UINT VertexCount,UINT StartVertexLocation) {
 7542    This->lpVtbl->Draw(This,VertexCount,StartVertexLocation);
 7543}
 7544static inline HRESULT ID3D11DeviceContext_Map(ID3D11DeviceContext* This,ID3D11Resource *pResource,UINT Subresource,D3D11_MAP MapType,UINT MapFlags,D3D11_MAPPED_SUBRESOURCE *pMappedResource) {
 7545    return This->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource);
 7546}
 7547static inline void ID3D11DeviceContext_Unmap(ID3D11DeviceContext* This,ID3D11Resource *pResource,UINT Subresource) {
 7548    This->lpVtbl->Unmap(This,pResource,Subresource);
 7549}
 7550static inline void ID3D11DeviceContext_PSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
 7551    This->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7552}
 7553static inline void ID3D11DeviceContext_IASetInputLayout(ID3D11DeviceContext* This,ID3D11InputLayout *pInputLayout) {
 7554    This->lpVtbl->IASetInputLayout(This,pInputLayout);
 7555}
 7556static inline void ID3D11DeviceContext_IASetVertexBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppVertexBuffers,const UINT *pStrides,const UINT *pOffsets) {
 7557    This->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
 7558}
 7559static inline void ID3D11DeviceContext_IASetIndexBuffer(ID3D11DeviceContext* This,ID3D11Buffer *pIndexBuffer,DXGI_FORMAT Format,UINT Offset) {
 7560    This->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset);
 7561}
 7562static inline void ID3D11DeviceContext_DrawIndexedInstanced(ID3D11DeviceContext* This,UINT IndexCountPerInstance,UINT InstanceCount,UINT StartIndexLocation,INT BaseVertexLocation,UINT StartInstanceLocation) {
 7563    This->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation);
 7564}
 7565static inline void ID3D11DeviceContext_DrawInstanced(ID3D11DeviceContext* This,UINT VertexCountPerInstance,UINT InstanceCount,UINT StartVertexLocation,UINT StartInstanceLocation) {
 7566    This->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation);
 7567}
 7568static inline void ID3D11DeviceContext_GSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
 7569    This->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7570}
 7571static inline void ID3D11DeviceContext_GSSetShader(ID3D11DeviceContext* This,ID3D11GeometryShader *pShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
 7572    This->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances);
 7573}
 7574static inline void ID3D11DeviceContext_IASetPrimitiveTopology(ID3D11DeviceContext* This,D3D11_PRIMITIVE_TOPOLOGY Topology) {
 7575    This->lpVtbl->IASetPrimitiveTopology(This,Topology);
 7576}
 7577static inline void ID3D11DeviceContext_VSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
 7578    This->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7579}
 7580static inline void ID3D11DeviceContext_VSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
 7581    This->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7582}
 7583static inline void ID3D11DeviceContext_Begin(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync) {
 7584    This->lpVtbl->Begin(This,pAsync);
 7585}
 7586static inline void ID3D11DeviceContext_End(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync) {
 7587    This->lpVtbl->End(This,pAsync);
 7588}
 7589static inline HRESULT ID3D11DeviceContext_GetData(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync,void *pData,UINT DataSize,UINT GetDataFlags) {
 7590    return This->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags);
 7591}
 7592static inline void ID3D11DeviceContext_SetPredication(ID3D11DeviceContext* This,ID3D11Predicate *pPredicate,WINBOOL PredicateValue) {
 7593    This->lpVtbl->SetPredication(This,pPredicate,PredicateValue);
 7594}
 7595static inline void ID3D11DeviceContext_GSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
 7596    This->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7597}
 7598static inline void ID3D11DeviceContext_GSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
 7599    This->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7600}
 7601static inline void ID3D11DeviceContext_OMSetRenderTargets(ID3D11DeviceContext* This,UINT NumViews,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView) {
 7602    This->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView);
 7603}
 7604static inline void ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext* This,UINT NumRTVs,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
 7605    This->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
 7606}
 7607static inline void ID3D11DeviceContext_OMSetBlendState(ID3D11DeviceContext* This,ID3D11BlendState *pBlendState,const FLOAT BlendFactor[4],UINT SampleMask) {
 7608    This->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask);
 7609}
 7610static inline void ID3D11DeviceContext_OMSetDepthStencilState(ID3D11DeviceContext* This,ID3D11DepthStencilState *pDepthStencilState,UINT StencilRef) {
 7611    This->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef);
 7612}
 7613static inline void ID3D11DeviceContext_SOSetTargets(ID3D11DeviceContext* This,UINT NumBuffers,ID3D11Buffer *const *ppSOTargets,const UINT *pOffsets) {
 7614    This->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets);
 7615}
 7616static inline void ID3D11DeviceContext_DrawAuto(ID3D11DeviceContext* This) {
 7617    This->lpVtbl->DrawAuto(This);
 7618}
 7619static inline void ID3D11DeviceContext_DrawIndexedInstancedIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
 7620    This->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
 7621}
 7622static inline void ID3D11DeviceContext_DrawInstancedIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
 7623    This->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
 7624}
 7625static inline void ID3D11DeviceContext_Dispatch(ID3D11DeviceContext* This,UINT ThreadGroupCountX,UINT ThreadGroupCountY,UINT ThreadGroupCountZ) {
 7626    This->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ);
 7627}
 7628static inline void ID3D11DeviceContext_DispatchIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
 7629    This->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
 7630}
 7631static inline void ID3D11DeviceContext_RSSetState(ID3D11DeviceContext* This,ID3D11RasterizerState *pRasterizerState) {
 7632    This->lpVtbl->RSSetState(This,pRasterizerState);
 7633}
 7634static inline void ID3D11DeviceContext_RSSetViewports(ID3D11DeviceContext* This,UINT NumViewports,const D3D11_VIEWPORT *pViewports) {
 7635    This->lpVtbl->RSSetViewports(This,NumViewports,pViewports);
 7636}
 7637static inline void ID3D11DeviceContext_RSSetScissorRects(ID3D11DeviceContext* This,UINT NumRects,const D3D11_RECT *pRects) {
 7638    This->lpVtbl->RSSetScissorRects(This,NumRects,pRects);
 7639}
 7640static inline void ID3D11DeviceContext_CopySubresourceRegion(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox) {
 7641    This->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox);
 7642}
 7643static inline void ID3D11DeviceContext_CopyResource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,ID3D11Resource *pSrcResource) {
 7644    This->lpVtbl->CopyResource(This,pDstResource,pSrcResource);
 7645}
 7646static inline void ID3D11DeviceContext_UpdateSubresource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch) {
 7647    This->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch);
 7648}
 7649static inline void ID3D11DeviceContext_CopyStructureCount(ID3D11DeviceContext* This,ID3D11Buffer *pDstBuffer,UINT DstAlignedByteOffset,ID3D11UnorderedAccessView *pSrcView) {
 7650    This->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView);
 7651}
 7652static inline void ID3D11DeviceContext_ClearRenderTargetView(ID3D11DeviceContext* This,ID3D11RenderTargetView *pRenderTargetView,const FLOAT ColorRGBA[4]) {
 7653    This->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA);
 7654}
 7655static inline void ID3D11DeviceContext_ClearUnorderedAccessViewUint(ID3D11DeviceContext* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const UINT Values[4]) {
 7656    This->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values);
 7657}
 7658static inline void ID3D11DeviceContext_ClearUnorderedAccessViewFloat(ID3D11DeviceContext* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const FLOAT Values[4]) {
 7659    This->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values);
 7660}
 7661static inline void ID3D11DeviceContext_ClearDepthStencilView(ID3D11DeviceContext* This,ID3D11DepthStencilView *pDepthStencilView,UINT ClearFlags,FLOAT Depth,UINT8 Stencil) {
 7662    This->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil);
 7663}
 7664static inline void ID3D11DeviceContext_GenerateMips(ID3D11DeviceContext* This,ID3D11ShaderResourceView *pShaderResourceView) {
 7665    This->lpVtbl->GenerateMips(This,pShaderResourceView);
 7666}
 7667static inline void ID3D11DeviceContext_SetResourceMinLOD(ID3D11DeviceContext* This,ID3D11Resource *pResource,FLOAT MinLOD) {
 7668    This->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD);
 7669}
 7670static inline FLOAT ID3D11DeviceContext_GetResourceMinLOD(ID3D11DeviceContext* This,ID3D11Resource *pResource) {
 7671    return This->lpVtbl->GetResourceMinLOD(This,pResource);
 7672}
 7673static inline void ID3D11DeviceContext_ResolveSubresource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,ID3D11Resource *pSrcResource,UINT SrcSubresource,DXGI_FORMAT Format) {
 7674    This->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format);
 7675}
 7676static inline void ID3D11DeviceContext_ExecuteCommandList(ID3D11DeviceContext* This,ID3D11CommandList *pCommandList,WINBOOL RestoreContextState) {
 7677    This->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState);
 7678}
 7679static inline void ID3D11DeviceContext_HSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
 7680    This->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7681}
 7682static inline void ID3D11DeviceContext_HSSetShader(ID3D11DeviceContext* This,ID3D11HullShader *pHullShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
 7683    This->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances);
 7684}
 7685static inline void ID3D11DeviceContext_HSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
 7686    This->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7687}
 7688static inline void ID3D11DeviceContext_HSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
 7689    This->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7690}
 7691static inline void ID3D11DeviceContext_DSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
 7692    This->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7693}
 7694static inline void ID3D11DeviceContext_DSSetShader(ID3D11DeviceContext* This,ID3D11DomainShader *pDomainShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
 7695    This->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances);
 7696}
 7697static inline void ID3D11DeviceContext_DSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
 7698    This->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7699}
 7700static inline void ID3D11DeviceContext_DSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
 7701    This->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7702}
 7703static inline void ID3D11DeviceContext_CSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
 7704    This->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7705}
 7706static inline void ID3D11DeviceContext_CSSetUnorderedAccessViews(ID3D11DeviceContext* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
 7707    This->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
 7708}
 7709static inline void ID3D11DeviceContext_CSSetShader(ID3D11DeviceContext* This,ID3D11ComputeShader *pComputeShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
 7710    This->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances);
 7711}
 7712static inline void ID3D11DeviceContext_CSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
 7713    This->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7714}
 7715static inline void ID3D11DeviceContext_CSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
 7716    This->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7717}
 7718static inline void ID3D11DeviceContext_VSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
 7719    This->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7720}
 7721static inline void ID3D11DeviceContext_PSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
 7722    This->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7723}
 7724static inline void ID3D11DeviceContext_PSGetShader(ID3D11DeviceContext* This,ID3D11PixelShader **ppPixelShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
 7725    This->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances);
 7726}
 7727static inline void ID3D11DeviceContext_PSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
 7728    This->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7729}
 7730static inline void ID3D11DeviceContext_VSGetShader(ID3D11DeviceContext* This,ID3D11VertexShader **ppVertexShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
 7731    This->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances);
 7732}
 7733static inline void ID3D11DeviceContext_PSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
 7734    This->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7735}
 7736static inline void ID3D11DeviceContext_IAGetInputLayout(ID3D11DeviceContext* This,ID3D11InputLayout **ppInputLayout) {
 7737    This->lpVtbl->IAGetInputLayout(This,ppInputLayout);
 7738}
 7739static inline void ID3D11DeviceContext_IAGetVertexBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppVertexBuffers,UINT *pStrides,UINT *pOffsets) {
 7740    This->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
 7741}
 7742static inline void ID3D11DeviceContext_IAGetIndexBuffer(ID3D11DeviceContext* This,ID3D11Buffer **pIndexBuffer,DXGI_FORMAT *Format,UINT *Offset) {
 7743    This->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset);
 7744}
 7745static inline void ID3D11DeviceContext_GSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
 7746    This->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7747}
 7748static inline void ID3D11DeviceContext_GSGetShader(ID3D11DeviceContext* This,ID3D11GeometryShader **ppGeometryShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
 7749    This->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances);
 7750}
 7751static inline void ID3D11DeviceContext_IAGetPrimitiveTopology(ID3D11DeviceContext* This,D3D11_PRIMITIVE_TOPOLOGY *pTopology) {
 7752    This->lpVtbl->IAGetPrimitiveTopology(This,pTopology);
 7753}
 7754static inline void ID3D11DeviceContext_VSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
 7755    This->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7756}
 7757static inline void ID3D11DeviceContext_VSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
 7758    This->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7759}
 7760static inline void ID3D11DeviceContext_GetPredication(ID3D11DeviceContext* This,ID3D11Predicate **ppPredicate,WINBOOL *pPredicateValue) {
 7761    This->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue);
 7762}
 7763static inline void ID3D11DeviceContext_GSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
 7764    This->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7765}
 7766static inline void ID3D11DeviceContext_GSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
 7767    This->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7768}
 7769static inline void ID3D11DeviceContext_OMGetRenderTargets(ID3D11DeviceContext* This,UINT NumViews,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView) {
 7770    This->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView);
 7771}
 7772static inline void ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext* This,UINT NumRTVs,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
 7773    This->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews);
 7774}
 7775static inline void ID3D11DeviceContext_OMGetBlendState(ID3D11DeviceContext* This,ID3D11BlendState **ppBlendState,FLOAT BlendFactor[4],UINT *pSampleMask) {
 7776    This->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask);
 7777}
 7778static inline void ID3D11DeviceContext_OMGetDepthStencilState(ID3D11DeviceContext* This,ID3D11DepthStencilState **ppDepthStencilState,UINT *pStencilRef) {
 7779    This->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef);
 7780}
 7781static inline void ID3D11DeviceContext_SOGetTargets(ID3D11DeviceContext* This,UINT NumBuffers,ID3D11Buffer **ppSOTargets) {
 7782    This->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets);
 7783}
 7784static inline void ID3D11DeviceContext_RSGetState(ID3D11DeviceContext* This,ID3D11RasterizerState **ppRasterizerState) {
 7785    This->lpVtbl->RSGetState(This,ppRasterizerState);
 7786}
 7787static inline void ID3D11DeviceContext_RSGetViewports(ID3D11DeviceContext* This,UINT *pNumViewports,D3D11_VIEWPORT *pViewports) {
 7788    This->lpVtbl->RSGetViewports(This,pNumViewports,pViewports);
 7789}
 7790static inline void ID3D11DeviceContext_RSGetScissorRects(ID3D11DeviceContext* This,UINT *pNumRects,D3D11_RECT *pRects) {
 7791    This->lpVtbl->RSGetScissorRects(This,pNumRects,pRects);
 7792}
 7793static inline void ID3D11DeviceContext_HSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
 7794    This->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7795}
 7796static inline void ID3D11DeviceContext_HSGetShader(ID3D11DeviceContext* This,ID3D11HullShader **ppHullShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
 7797    This->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances);
 7798}
 7799static inline void ID3D11DeviceContext_HSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
 7800    This->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7801}
 7802static inline void ID3D11DeviceContext_HSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
 7803    This->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7804}
 7805static inline void ID3D11DeviceContext_DSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
 7806    This->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7807}
 7808static inline void ID3D11DeviceContext_DSGetShader(ID3D11DeviceContext* This,ID3D11DomainShader **ppDomainShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
 7809    This->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances);
 7810}
 7811static inline void ID3D11DeviceContext_DSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
 7812    This->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7813}
 7814static inline void ID3D11DeviceContext_DSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
 7815    This->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7816}
 7817static inline void ID3D11DeviceContext_CSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
 7818    This->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
 7819}
 7820static inline void ID3D11DeviceContext_CSGetUnorderedAccessViews(ID3D11DeviceContext* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
 7821    This->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews);
 7822}
 7823static inline void ID3D11DeviceContext_CSGetShader(ID3D11DeviceContext* This,ID3D11ComputeShader **ppComputeShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
 7824    This->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances);
 7825}
 7826static inline void ID3D11DeviceContext_CSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
 7827    This->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
 7828}
 7829static inline void ID3D11DeviceContext_CSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
 7830    This->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
 7831}
 7832static inline void ID3D11DeviceContext_ClearState(ID3D11DeviceContext* This) {
 7833    This->lpVtbl->ClearState(This);
 7834}
 7835static inline void ID3D11DeviceContext_Flush(ID3D11DeviceContext* This) {
 7836    This->lpVtbl->Flush(This);
 7837}
 7838static inline D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext_GetType(ID3D11DeviceContext* This) {
 7839    return This->lpVtbl->GetType(This);
 7840}
 7841static inline UINT ID3D11DeviceContext_GetContextFlags(ID3D11DeviceContext* This) {
 7842    return This->lpVtbl->GetContextFlags(This);
 7843}
 7844static inline HRESULT ID3D11DeviceContext_FinishCommandList(ID3D11DeviceContext* This,WINBOOL RestoreDeferredContextState,ID3D11CommandList **ppCommandList) {
 7845    return This->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList);
 7846}
 7847#endif
 7848#endif
 7849
 7850#endif
 7851
 7852
 7853#endif  /* __ID3D11DeviceContext_INTERFACE_DEFINED__ */
 7854
 7855/*****************************************************************************
 7856 * ID3D11AuthenticatedChannel interface
 7857 */
 7858#ifndef __ID3D11AuthenticatedChannel_INTERFACE_DEFINED__
 7859#define __ID3D11AuthenticatedChannel_INTERFACE_DEFINED__
 7860
 7861DEFINE_GUID(IID_ID3D11AuthenticatedChannel, 0x3015a308, 0xdcbd, 0x47aa, 0xa7,0x47, 0x19,0x24,0x86,0xd1,0x4d,0x4a);
 7862#if defined(__cplusplus) && !defined(CINTERFACE)
 7863MIDL_INTERFACE("3015a308-dcbd-47aa-a747-192486d14d4a")
 7864ID3D11AuthenticatedChannel : public ID3D11DeviceChild
 7865{
 7866    virtual HRESULT STDMETHODCALLTYPE GetCertificateSize(
 7867        UINT *pCertificateSize) = 0;
 7868
 7869    virtual HRESULT STDMETHODCALLTYPE GetCertificate(
 7870        UINT CertificateSize,
 7871        BYTE *pCertificate) = 0;
 7872
 7873    virtual void STDMETHODCALLTYPE GetChannelHandle(
 7874        HANDLE *pChannelHandle) = 0;
 7875
 7876};
 7877#ifdef __CRT_UUID_DECL
 7878__CRT_UUID_DECL(ID3D11AuthenticatedChannel, 0x3015a308, 0xdcbd, 0x47aa, 0xa7,0x47, 0x19,0x24,0x86,0xd1,0x4d,0x4a)
 7879#endif
 7880#else
 7881typedef struct ID3D11AuthenticatedChannelVtbl {
 7882    BEGIN_INTERFACE
 7883
 7884    /*** IUnknown methods ***/
 7885    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 7886        ID3D11AuthenticatedChannel *This,
 7887        REFIID riid,
 7888        void **ppvObject);
 7889
 7890    ULONG (STDMETHODCALLTYPE *AddRef)(
 7891        ID3D11AuthenticatedChannel *This);
 7892
 7893    ULONG (STDMETHODCALLTYPE *Release)(
 7894        ID3D11AuthenticatedChannel *This);
 7895
 7896    /*** ID3D11DeviceChild methods ***/
 7897    void (STDMETHODCALLTYPE *GetDevice)(
 7898        ID3D11AuthenticatedChannel *This,
 7899        ID3D11Device **ppDevice);
 7900
 7901    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 7902        ID3D11AuthenticatedChannel *This,
 7903        REFGUID guid,
 7904        UINT *pDataSize,
 7905        void *pData);
 7906
 7907    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 7908        ID3D11AuthenticatedChannel *This,
 7909        REFGUID guid,
 7910        UINT DataSize,
 7911        const void *pData);
 7912
 7913    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 7914        ID3D11AuthenticatedChannel *This,
 7915        REFGUID guid,
 7916        const IUnknown *pData);
 7917
 7918    /*** ID3D11AuthenticatedChannel methods ***/
 7919    HRESULT (STDMETHODCALLTYPE *GetCertificateSize)(
 7920        ID3D11AuthenticatedChannel *This,
 7921        UINT *pCertificateSize);
 7922
 7923    HRESULT (STDMETHODCALLTYPE *GetCertificate)(
 7924        ID3D11AuthenticatedChannel *This,
 7925        UINT CertificateSize,
 7926        BYTE *pCertificate);
 7927
 7928    void (STDMETHODCALLTYPE *GetChannelHandle)(
 7929        ID3D11AuthenticatedChannel *This,
 7930        HANDLE *pChannelHandle);
 7931
 7932    END_INTERFACE
 7933} ID3D11AuthenticatedChannelVtbl;
 7934
 7935interface ID3D11AuthenticatedChannel {
 7936    CONST_VTBL ID3D11AuthenticatedChannelVtbl* lpVtbl;
 7937};
 7938
 7939#ifdef COBJMACROS
 7940#ifndef WIDL_C_INLINE_WRAPPERS
 7941/*** IUnknown methods ***/
 7942#define ID3D11AuthenticatedChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 7943#define ID3D11AuthenticatedChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
 7944#define ID3D11AuthenticatedChannel_Release(This) (This)->lpVtbl->Release(This)
 7945/*** ID3D11DeviceChild methods ***/
 7946#define ID3D11AuthenticatedChannel_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 7947#define ID3D11AuthenticatedChannel_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 7948#define ID3D11AuthenticatedChannel_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 7949#define ID3D11AuthenticatedChannel_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 7950/*** ID3D11AuthenticatedChannel methods ***/
 7951#define ID3D11AuthenticatedChannel_GetCertificateSize(This,pCertificateSize) (This)->lpVtbl->GetCertificateSize(This,pCertificateSize)
 7952#define ID3D11AuthenticatedChannel_GetCertificate(This,CertificateSize,pCertificate) (This)->lpVtbl->GetCertificate(This,CertificateSize,pCertificate)
 7953#define ID3D11AuthenticatedChannel_GetChannelHandle(This,pChannelHandle) (This)->lpVtbl->GetChannelHandle(This,pChannelHandle)
 7954#else
 7955/*** IUnknown methods ***/
 7956static inline HRESULT ID3D11AuthenticatedChannel_QueryInterface(ID3D11AuthenticatedChannel* This,REFIID riid,void **ppvObject) {
 7957    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 7958}
 7959static inline ULONG ID3D11AuthenticatedChannel_AddRef(ID3D11AuthenticatedChannel* This) {
 7960    return This->lpVtbl->AddRef(This);
 7961}
 7962static inline ULONG ID3D11AuthenticatedChannel_Release(ID3D11AuthenticatedChannel* This) {
 7963    return This->lpVtbl->Release(This);
 7964}
 7965/*** ID3D11DeviceChild methods ***/
 7966static inline void ID3D11AuthenticatedChannel_GetDevice(ID3D11AuthenticatedChannel* This,ID3D11Device **ppDevice) {
 7967    This->lpVtbl->GetDevice(This,ppDevice);
 7968}
 7969static inline HRESULT ID3D11AuthenticatedChannel_GetPrivateData(ID3D11AuthenticatedChannel* This,REFGUID guid,UINT *pDataSize,void *pData) {
 7970    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 7971}
 7972static inline HRESULT ID3D11AuthenticatedChannel_SetPrivateData(ID3D11AuthenticatedChannel* This,REFGUID guid,UINT DataSize,const void *pData) {
 7973    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 7974}
 7975static inline HRESULT ID3D11AuthenticatedChannel_SetPrivateDataInterface(ID3D11AuthenticatedChannel* This,REFGUID guid,const IUnknown *pData) {
 7976    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 7977}
 7978/*** ID3D11AuthenticatedChannel methods ***/
 7979static inline HRESULT ID3D11AuthenticatedChannel_GetCertificateSize(ID3D11AuthenticatedChannel* This,UINT *pCertificateSize) {
 7980    return This->lpVtbl->GetCertificateSize(This,pCertificateSize);
 7981}
 7982static inline HRESULT ID3D11AuthenticatedChannel_GetCertificate(ID3D11AuthenticatedChannel* This,UINT CertificateSize,BYTE *pCertificate) {
 7983    return This->lpVtbl->GetCertificate(This,CertificateSize,pCertificate);
 7984}
 7985static inline void ID3D11AuthenticatedChannel_GetChannelHandle(ID3D11AuthenticatedChannel* This,HANDLE *pChannelHandle) {
 7986    This->lpVtbl->GetChannelHandle(This,pChannelHandle);
 7987}
 7988#endif
 7989#endif
 7990
 7991#endif
 7992
 7993
 7994#endif  /* __ID3D11AuthenticatedChannel_INTERFACE_DEFINED__ */
 7995
 7996/*****************************************************************************
 7997 * ID3D11CryptoSession interface
 7998 */
 7999#ifndef __ID3D11CryptoSession_INTERFACE_DEFINED__
 8000#define __ID3D11CryptoSession_INTERFACE_DEFINED__
 8001
 8002DEFINE_GUID(IID_ID3D11CryptoSession, 0x9b32f9ad, 0xbdcc, 0x40a6, 0xa3,0x9d, 0xd5,0xc8,0x65,0x84,0x57,0x20);
 8003#if defined(__cplusplus) && !defined(CINTERFACE)
 8004MIDL_INTERFACE("9b32f9ad-bdcc-40a6-a39d-d5c865845720")
 8005ID3D11CryptoSession : public ID3D11DeviceChild
 8006{
 8007    virtual void STDMETHODCALLTYPE GetCryptoType(
 8008        GUID *pCryptoType) = 0;
 8009
 8010    virtual void STDMETHODCALLTYPE GetDecoderProfile(
 8011        GUID *pDecoderProfile) = 0;
 8012
 8013    virtual HRESULT STDMETHODCALLTYPE GetCertificateSize(
 8014        UINT *pCertificateSize) = 0;
 8015
 8016    virtual HRESULT STDMETHODCALLTYPE GetCertificate(
 8017        UINT CertificateSize,
 8018        BYTE *pCertificate) = 0;
 8019
 8020    virtual void STDMETHODCALLTYPE GetCryptoSessionHandle(
 8021        HANDLE *pCryptoSessionHandle) = 0;
 8022
 8023};
 8024#ifdef __CRT_UUID_DECL
 8025__CRT_UUID_DECL(ID3D11CryptoSession, 0x9b32f9ad, 0xbdcc, 0x40a6, 0xa3,0x9d, 0xd5,0xc8,0x65,0x84,0x57,0x20)
 8026#endif
 8027#else
 8028typedef struct ID3D11CryptoSessionVtbl {
 8029    BEGIN_INTERFACE
 8030
 8031    /*** IUnknown methods ***/
 8032    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 8033        ID3D11CryptoSession *This,
 8034        REFIID riid,
 8035        void **ppvObject);
 8036
 8037    ULONG (STDMETHODCALLTYPE *AddRef)(
 8038        ID3D11CryptoSession *This);
 8039
 8040    ULONG (STDMETHODCALLTYPE *Release)(
 8041        ID3D11CryptoSession *This);
 8042
 8043    /*** ID3D11DeviceChild methods ***/
 8044    void (STDMETHODCALLTYPE *GetDevice)(
 8045        ID3D11CryptoSession *This,
 8046        ID3D11Device **ppDevice);
 8047
 8048    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 8049        ID3D11CryptoSession *This,
 8050        REFGUID guid,
 8051        UINT *pDataSize,
 8052        void *pData);
 8053
 8054    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 8055        ID3D11CryptoSession *This,
 8056        REFGUID guid,
 8057        UINT DataSize,
 8058        const void *pData);
 8059
 8060    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 8061        ID3D11CryptoSession *This,
 8062        REFGUID guid,
 8063        const IUnknown *pData);
 8064
 8065    /*** ID3D11CryptoSession methods ***/
 8066    void (STDMETHODCALLTYPE *GetCryptoType)(
 8067        ID3D11CryptoSession *This,
 8068        GUID *pCryptoType);
 8069
 8070    void (STDMETHODCALLTYPE *GetDecoderProfile)(
 8071        ID3D11CryptoSession *This,
 8072        GUID *pDecoderProfile);
 8073
 8074    HRESULT (STDMETHODCALLTYPE *GetCertificateSize)(
 8075        ID3D11CryptoSession *This,
 8076        UINT *pCertificateSize);
 8077
 8078    HRESULT (STDMETHODCALLTYPE *GetCertificate)(
 8079        ID3D11CryptoSession *This,
 8080        UINT CertificateSize,
 8081        BYTE *pCertificate);
 8082
 8083    void (STDMETHODCALLTYPE *GetCryptoSessionHandle)(
 8084        ID3D11CryptoSession *This,
 8085        HANDLE *pCryptoSessionHandle);
 8086
 8087    END_INTERFACE
 8088} ID3D11CryptoSessionVtbl;
 8089
 8090interface ID3D11CryptoSession {
 8091    CONST_VTBL ID3D11CryptoSessionVtbl* lpVtbl;
 8092};
 8093
 8094#ifdef COBJMACROS
 8095#ifndef WIDL_C_INLINE_WRAPPERS
 8096/*** IUnknown methods ***/
 8097#define ID3D11CryptoSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 8098#define ID3D11CryptoSession_AddRef(This) (This)->lpVtbl->AddRef(This)
 8099#define ID3D11CryptoSession_Release(This) (This)->lpVtbl->Release(This)
 8100/*** ID3D11DeviceChild methods ***/
 8101#define ID3D11CryptoSession_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 8102#define ID3D11CryptoSession_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 8103#define ID3D11CryptoSession_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 8104#define ID3D11CryptoSession_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 8105/*** ID3D11CryptoSession methods ***/
 8106#define ID3D11CryptoSession_GetCryptoType(This,pCryptoType) (This)->lpVtbl->GetCryptoType(This,pCryptoType)
 8107#define ID3D11CryptoSession_GetDecoderProfile(This,pDecoderProfile) (This)->lpVtbl->GetDecoderProfile(This,pDecoderProfile)
 8108#define ID3D11CryptoSession_GetCertificateSize(This,pCertificateSize) (This)->lpVtbl->GetCertificateSize(This,pCertificateSize)
 8109#define ID3D11CryptoSession_GetCertificate(This,CertificateSize,pCertificate) (This)->lpVtbl->GetCertificate(This,CertificateSize,pCertificate)
 8110#define ID3D11CryptoSession_GetCryptoSessionHandle(This,pCryptoSessionHandle) (This)->lpVtbl->GetCryptoSessionHandle(This,pCryptoSessionHandle)
 8111#else
 8112/*** IUnknown methods ***/
 8113static inline HRESULT ID3D11CryptoSession_QueryInterface(ID3D11CryptoSession* This,REFIID riid,void **ppvObject) {
 8114    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 8115}
 8116static inline ULONG ID3D11CryptoSession_AddRef(ID3D11CryptoSession* This) {
 8117    return This->lpVtbl->AddRef(This);
 8118}
 8119static inline ULONG ID3D11CryptoSession_Release(ID3D11CryptoSession* This) {
 8120    return This->lpVtbl->Release(This);
 8121}
 8122/*** ID3D11DeviceChild methods ***/
 8123static inline void ID3D11CryptoSession_GetDevice(ID3D11CryptoSession* This,ID3D11Device **ppDevice) {
 8124    This->lpVtbl->GetDevice(This,ppDevice);
 8125}
 8126static inline HRESULT ID3D11CryptoSession_GetPrivateData(ID3D11CryptoSession* This,REFGUID guid,UINT *pDataSize,void *pData) {
 8127    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 8128}
 8129static inline HRESULT ID3D11CryptoSession_SetPrivateData(ID3D11CryptoSession* This,REFGUID guid,UINT DataSize,const void *pData) {
 8130    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 8131}
 8132static inline HRESULT ID3D11CryptoSession_SetPrivateDataInterface(ID3D11CryptoSession* This,REFGUID guid,const IUnknown *pData) {
 8133    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 8134}
 8135/*** ID3D11CryptoSession methods ***/
 8136static inline void ID3D11CryptoSession_GetCryptoType(ID3D11CryptoSession* This,GUID *pCryptoType) {
 8137    This->lpVtbl->GetCryptoType(This,pCryptoType);
 8138}
 8139static inline void ID3D11CryptoSession_GetDecoderProfile(ID3D11CryptoSession* This,GUID *pDecoderProfile) {
 8140    This->lpVtbl->GetDecoderProfile(This,pDecoderProfile);
 8141}
 8142static inline HRESULT ID3D11CryptoSession_GetCertificateSize(ID3D11CryptoSession* This,UINT *pCertificateSize) {
 8143    return This->lpVtbl->GetCertificateSize(This,pCertificateSize);
 8144}
 8145static inline HRESULT ID3D11CryptoSession_GetCertificate(ID3D11CryptoSession* This,UINT CertificateSize,BYTE *pCertificate) {
 8146    return This->lpVtbl->GetCertificate(This,CertificateSize,pCertificate);
 8147}
 8148static inline void ID3D11CryptoSession_GetCryptoSessionHandle(ID3D11CryptoSession* This,HANDLE *pCryptoSessionHandle) {
 8149    This->lpVtbl->GetCryptoSessionHandle(This,pCryptoSessionHandle);
 8150}
 8151#endif
 8152#endif
 8153
 8154#endif
 8155
 8156
 8157#endif  /* __ID3D11CryptoSession_INTERFACE_DEFINED__ */
 8158
 8159/*****************************************************************************
 8160 * ID3D11VideoDecoder interface
 8161 */
 8162#ifndef __ID3D11VideoDecoder_INTERFACE_DEFINED__
 8163#define __ID3D11VideoDecoder_INTERFACE_DEFINED__
 8164
 8165DEFINE_GUID(IID_ID3D11VideoDecoder, 0x3c9c5b51, 0x995d, 0x48d1, 0x9b,0x8d, 0xfa,0x5c,0xae,0xde,0xd6,0x5c);
 8166#if defined(__cplusplus) && !defined(CINTERFACE)
 8167MIDL_INTERFACE("3c9c5b51-995d-48d1-9b8d-fa5caeded65c")
 8168ID3D11VideoDecoder : public ID3D11DeviceChild
 8169{
 8170    virtual HRESULT STDMETHODCALLTYPE GetCreationParameters(
 8171        D3D11_VIDEO_DECODER_DESC *pVideoDesc,
 8172        D3D11_VIDEO_DECODER_CONFIG *pConfig) = 0;
 8173
 8174    virtual HRESULT STDMETHODCALLTYPE GetDriverHandle(
 8175        HANDLE *pDriverHandle) = 0;
 8176
 8177};
 8178#ifdef __CRT_UUID_DECL
 8179__CRT_UUID_DECL(ID3D11VideoDecoder, 0x3c9c5b51, 0x995d, 0x48d1, 0x9b,0x8d, 0xfa,0x5c,0xae,0xde,0xd6,0x5c)
 8180#endif
 8181#else
 8182typedef struct ID3D11VideoDecoderVtbl {
 8183    BEGIN_INTERFACE
 8184
 8185    /*** IUnknown methods ***/
 8186    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 8187        ID3D11VideoDecoder *This,
 8188        REFIID riid,
 8189        void **ppvObject);
 8190
 8191    ULONG (STDMETHODCALLTYPE *AddRef)(
 8192        ID3D11VideoDecoder *This);
 8193
 8194    ULONG (STDMETHODCALLTYPE *Release)(
 8195        ID3D11VideoDecoder *This);
 8196
 8197    /*** ID3D11DeviceChild methods ***/
 8198    void (STDMETHODCALLTYPE *GetDevice)(
 8199        ID3D11VideoDecoder *This,
 8200        ID3D11Device **ppDevice);
 8201
 8202    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 8203        ID3D11VideoDecoder *This,
 8204        REFGUID guid,
 8205        UINT *pDataSize,
 8206        void *pData);
 8207
 8208    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 8209        ID3D11VideoDecoder *This,
 8210        REFGUID guid,
 8211        UINT DataSize,
 8212        const void *pData);
 8213
 8214    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 8215        ID3D11VideoDecoder *This,
 8216        REFGUID guid,
 8217        const IUnknown *pData);
 8218
 8219    /*** ID3D11VideoDecoder methods ***/
 8220    HRESULT (STDMETHODCALLTYPE *GetCreationParameters)(
 8221        ID3D11VideoDecoder *This,
 8222        D3D11_VIDEO_DECODER_DESC *pVideoDesc,
 8223        D3D11_VIDEO_DECODER_CONFIG *pConfig);
 8224
 8225    HRESULT (STDMETHODCALLTYPE *GetDriverHandle)(
 8226        ID3D11VideoDecoder *This,
 8227        HANDLE *pDriverHandle);
 8228
 8229    END_INTERFACE
 8230} ID3D11VideoDecoderVtbl;
 8231
 8232interface ID3D11VideoDecoder {
 8233    CONST_VTBL ID3D11VideoDecoderVtbl* lpVtbl;
 8234};
 8235
 8236#ifdef COBJMACROS
 8237#ifndef WIDL_C_INLINE_WRAPPERS
 8238/*** IUnknown methods ***/
 8239#define ID3D11VideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 8240#define ID3D11VideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
 8241#define ID3D11VideoDecoder_Release(This) (This)->lpVtbl->Release(This)
 8242/*** ID3D11DeviceChild methods ***/
 8243#define ID3D11VideoDecoder_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 8244#define ID3D11VideoDecoder_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 8245#define ID3D11VideoDecoder_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 8246#define ID3D11VideoDecoder_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 8247/*** ID3D11VideoDecoder methods ***/
 8248#define ID3D11VideoDecoder_GetCreationParameters(This,pVideoDesc,pConfig) (This)->lpVtbl->GetCreationParameters(This,pVideoDesc,pConfig)
 8249#define ID3D11VideoDecoder_GetDriverHandle(This,pDriverHandle) (This)->lpVtbl->GetDriverHandle(This,pDriverHandle)
 8250#else
 8251/*** IUnknown methods ***/
 8252static inline HRESULT ID3D11VideoDecoder_QueryInterface(ID3D11VideoDecoder* This,REFIID riid,void **ppvObject) {
 8253    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 8254}
 8255static inline ULONG ID3D11VideoDecoder_AddRef(ID3D11VideoDecoder* This) {
 8256    return This->lpVtbl->AddRef(This);
 8257}
 8258static inline ULONG ID3D11VideoDecoder_Release(ID3D11VideoDecoder* This) {
 8259    return This->lpVtbl->Release(This);
 8260}
 8261/*** ID3D11DeviceChild methods ***/
 8262static inline void ID3D11VideoDecoder_GetDevice(ID3D11VideoDecoder* This,ID3D11Device **ppDevice) {
 8263    This->lpVtbl->GetDevice(This,ppDevice);
 8264}
 8265static inline HRESULT ID3D11VideoDecoder_GetPrivateData(ID3D11VideoDecoder* This,REFGUID guid,UINT *pDataSize,void *pData) {
 8266    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 8267}
 8268static inline HRESULT ID3D11VideoDecoder_SetPrivateData(ID3D11VideoDecoder* This,REFGUID guid,UINT DataSize,const void *pData) {
 8269    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 8270}
 8271static inline HRESULT ID3D11VideoDecoder_SetPrivateDataInterface(ID3D11VideoDecoder* This,REFGUID guid,const IUnknown *pData) {
 8272    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 8273}
 8274/*** ID3D11VideoDecoder methods ***/
 8275static inline HRESULT ID3D11VideoDecoder_GetCreationParameters(ID3D11VideoDecoder* This,D3D11_VIDEO_DECODER_DESC *pVideoDesc,D3D11_VIDEO_DECODER_CONFIG *pConfig) {
 8276    return This->lpVtbl->GetCreationParameters(This,pVideoDesc,pConfig);
 8277}
 8278static inline HRESULT ID3D11VideoDecoder_GetDriverHandle(ID3D11VideoDecoder* This,HANDLE *pDriverHandle) {
 8279    return This->lpVtbl->GetDriverHandle(This,pDriverHandle);
 8280}
 8281#endif
 8282#endif
 8283
 8284#endif
 8285
 8286
 8287#endif  /* __ID3D11VideoDecoder_INTERFACE_DEFINED__ */
 8288
 8289/*****************************************************************************
 8290 * ID3D11VideoProcessorEnumerator interface
 8291 */
 8292#ifndef __ID3D11VideoProcessorEnumerator_INTERFACE_DEFINED__
 8293#define __ID3D11VideoProcessorEnumerator_INTERFACE_DEFINED__
 8294
 8295DEFINE_GUID(IID_ID3D11VideoProcessorEnumerator, 0x31627037, 0x53ab, 0x4200, 0x90,0x61, 0x05,0xfa,0xa9,0xab,0x45,0xf9);
 8296#if defined(__cplusplus) && !defined(CINTERFACE)
 8297MIDL_INTERFACE("31627037-53ab-4200-9061-05faa9ab45f9")
 8298ID3D11VideoProcessorEnumerator : public ID3D11DeviceChild
 8299{
 8300    virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorContentDesc(
 8301        D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc) = 0;
 8302
 8303    virtual HRESULT STDMETHODCALLTYPE CheckVideoProcessorFormat(
 8304        DXGI_FORMAT Format,
 8305        UINT *pFlags) = 0;
 8306
 8307    virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
 8308        D3D11_VIDEO_PROCESSOR_CAPS *pCaps) = 0;
 8309
 8310    virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorRateConversionCaps(
 8311        UINT TypeIndex,
 8312        D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) = 0;
 8313
 8314    virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCustomRate(
 8315        UINT TypeIndex,
 8316        UINT CustomRateIndex,
 8317        D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate) = 0;
 8318
 8319    virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorFilterRange(
 8320        D3D11_VIDEO_PROCESSOR_FILTER Filter,
 8321        D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange) = 0;
 8322
 8323};
 8324#ifdef __CRT_UUID_DECL
 8325__CRT_UUID_DECL(ID3D11VideoProcessorEnumerator, 0x31627037, 0x53ab, 0x4200, 0x90,0x61, 0x05,0xfa,0xa9,0xab,0x45,0xf9)
 8326#endif
 8327#else
 8328typedef struct ID3D11VideoProcessorEnumeratorVtbl {
 8329    BEGIN_INTERFACE
 8330
 8331    /*** IUnknown methods ***/
 8332    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 8333        ID3D11VideoProcessorEnumerator *This,
 8334        REFIID riid,
 8335        void **ppvObject);
 8336
 8337    ULONG (STDMETHODCALLTYPE *AddRef)(
 8338        ID3D11VideoProcessorEnumerator *This);
 8339
 8340    ULONG (STDMETHODCALLTYPE *Release)(
 8341        ID3D11VideoProcessorEnumerator *This);
 8342
 8343    /*** ID3D11DeviceChild methods ***/
 8344    void (STDMETHODCALLTYPE *GetDevice)(
 8345        ID3D11VideoProcessorEnumerator *This,
 8346        ID3D11Device **ppDevice);
 8347
 8348    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 8349        ID3D11VideoProcessorEnumerator *This,
 8350        REFGUID guid,
 8351        UINT *pDataSize,
 8352        void *pData);
 8353
 8354    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 8355        ID3D11VideoProcessorEnumerator *This,
 8356        REFGUID guid,
 8357        UINT DataSize,
 8358        const void *pData);
 8359
 8360    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 8361        ID3D11VideoProcessorEnumerator *This,
 8362        REFGUID guid,
 8363        const IUnknown *pData);
 8364
 8365    /*** ID3D11VideoProcessorEnumerator methods ***/
 8366    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorContentDesc)(
 8367        ID3D11VideoProcessorEnumerator *This,
 8368        D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc);
 8369
 8370    HRESULT (STDMETHODCALLTYPE *CheckVideoProcessorFormat)(
 8371        ID3D11VideoProcessorEnumerator *This,
 8372        DXGI_FORMAT Format,
 8373        UINT *pFlags);
 8374
 8375    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
 8376        ID3D11VideoProcessorEnumerator *This,
 8377        D3D11_VIDEO_PROCESSOR_CAPS *pCaps);
 8378
 8379    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorRateConversionCaps)(
 8380        ID3D11VideoProcessorEnumerator *This,
 8381        UINT TypeIndex,
 8382        D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
 8383
 8384    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCustomRate)(
 8385        ID3D11VideoProcessorEnumerator *This,
 8386        UINT TypeIndex,
 8387        UINT CustomRateIndex,
 8388        D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate);
 8389
 8390    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorFilterRange)(
 8391        ID3D11VideoProcessorEnumerator *This,
 8392        D3D11_VIDEO_PROCESSOR_FILTER Filter,
 8393        D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange);
 8394
 8395    END_INTERFACE
 8396} ID3D11VideoProcessorEnumeratorVtbl;
 8397
 8398interface ID3D11VideoProcessorEnumerator {
 8399    CONST_VTBL ID3D11VideoProcessorEnumeratorVtbl* lpVtbl;
 8400};
 8401
 8402#ifdef COBJMACROS
 8403#ifndef WIDL_C_INLINE_WRAPPERS
 8404/*** IUnknown methods ***/
 8405#define ID3D11VideoProcessorEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 8406#define ID3D11VideoProcessorEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
 8407#define ID3D11VideoProcessorEnumerator_Release(This) (This)->lpVtbl->Release(This)
 8408/*** ID3D11DeviceChild methods ***/
 8409#define ID3D11VideoProcessorEnumerator_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 8410#define ID3D11VideoProcessorEnumerator_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 8411#define ID3D11VideoProcessorEnumerator_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 8412#define ID3D11VideoProcessorEnumerator_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 8413/*** ID3D11VideoProcessorEnumerator methods ***/
 8414#define ID3D11VideoProcessorEnumerator_GetVideoProcessorContentDesc(This,pContentDesc) (This)->lpVtbl->GetVideoProcessorContentDesc(This,pContentDesc)
 8415#define ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat(This,Format,pFlags) (This)->lpVtbl->CheckVideoProcessorFormat(This,Format,pFlags)
 8416#define ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps(This,pCaps) (This)->lpVtbl->GetVideoProcessorCaps(This,pCaps)
 8417#define ID3D11VideoProcessorEnumerator_GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps) (This)->lpVtbl->GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps)
 8418#define ID3D11VideoProcessorEnumerator_GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate) (This)->lpVtbl->GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate)
 8419#define ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange(This,Filter,pRange) (This)->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange)
 8420#else
 8421/*** IUnknown methods ***/
 8422static inline HRESULT ID3D11VideoProcessorEnumerator_QueryInterface(ID3D11VideoProcessorEnumerator* This,REFIID riid,void **ppvObject) {
 8423    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 8424}
 8425static inline ULONG ID3D11VideoProcessorEnumerator_AddRef(ID3D11VideoProcessorEnumerator* This) {
 8426    return This->lpVtbl->AddRef(This);
 8427}
 8428static inline ULONG ID3D11VideoProcessorEnumerator_Release(ID3D11VideoProcessorEnumerator* This) {
 8429    return This->lpVtbl->Release(This);
 8430}
 8431/*** ID3D11DeviceChild methods ***/
 8432static inline void ID3D11VideoProcessorEnumerator_GetDevice(ID3D11VideoProcessorEnumerator* This,ID3D11Device **ppDevice) {
 8433    This->lpVtbl->GetDevice(This,ppDevice);
 8434}
 8435static inline HRESULT ID3D11VideoProcessorEnumerator_GetPrivateData(ID3D11VideoProcessorEnumerator* This,REFGUID guid,UINT *pDataSize,void *pData) {
 8436    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 8437}
 8438static inline HRESULT ID3D11VideoProcessorEnumerator_SetPrivateData(ID3D11VideoProcessorEnumerator* This,REFGUID guid,UINT DataSize,const void *pData) {
 8439    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 8440}
 8441static inline HRESULT ID3D11VideoProcessorEnumerator_SetPrivateDataInterface(ID3D11VideoProcessorEnumerator* This,REFGUID guid,const IUnknown *pData) {
 8442    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 8443}
 8444/*** ID3D11VideoProcessorEnumerator methods ***/
 8445static inline HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorContentDesc(ID3D11VideoProcessorEnumerator* This,D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc) {
 8446    return This->lpVtbl->GetVideoProcessorContentDesc(This,pContentDesc);
 8447}
 8448static inline HRESULT ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat(ID3D11VideoProcessorEnumerator* This,DXGI_FORMAT Format,UINT *pFlags) {
 8449    return This->lpVtbl->CheckVideoProcessorFormat(This,Format,pFlags);
 8450}
 8451static inline HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps(ID3D11VideoProcessorEnumerator* This,D3D11_VIDEO_PROCESSOR_CAPS *pCaps) {
 8452    return This->lpVtbl->GetVideoProcessorCaps(This,pCaps);
 8453}
 8454static inline HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorRateConversionCaps(ID3D11VideoProcessorEnumerator* This,UINT TypeIndex,D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) {
 8455    return This->lpVtbl->GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps);
 8456}
 8457static inline HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorCustomRate(ID3D11VideoProcessorEnumerator* This,UINT TypeIndex,UINT CustomRateIndex,D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate) {
 8458    return This->lpVtbl->GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate);
 8459}
 8460static inline HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange(ID3D11VideoProcessorEnumerator* This,D3D11_VIDEO_PROCESSOR_FILTER Filter,D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange) {
 8461    return This->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange);
 8462}
 8463#endif
 8464#endif
 8465
 8466#endif
 8467
 8468
 8469#endif  /* __ID3D11VideoProcessorEnumerator_INTERFACE_DEFINED__ */
 8470
 8471/*****************************************************************************
 8472 * ID3D11VideoProcessor interface
 8473 */
 8474#ifndef __ID3D11VideoProcessor_INTERFACE_DEFINED__
 8475#define __ID3D11VideoProcessor_INTERFACE_DEFINED__
 8476
 8477DEFINE_GUID(IID_ID3D11VideoProcessor, 0x1d7b0652, 0x185f, 0x41c6, 0x85,0xce, 0x0c,0x5b,0xe3,0xd4,0xae,0x6c);
 8478#if defined(__cplusplus) && !defined(CINTERFACE)
 8479MIDL_INTERFACE("1d7b0652-185f-41c6-85ce-0c5be3d4ae6c")
 8480ID3D11VideoProcessor : public ID3D11DeviceChild
 8481{
 8482    virtual void STDMETHODCALLTYPE GetContentDesc(
 8483        D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc) = 0;
 8484
 8485    virtual void STDMETHODCALLTYPE GetRateConversionCaps(
 8486        D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) = 0;
 8487
 8488};
 8489#ifdef __CRT_UUID_DECL
 8490__CRT_UUID_DECL(ID3D11VideoProcessor, 0x1d7b0652, 0x185f, 0x41c6, 0x85,0xce, 0x0c,0x5b,0xe3,0xd4,0xae,0x6c)
 8491#endif
 8492#else
 8493typedef struct ID3D11VideoProcessorVtbl {
 8494    BEGIN_INTERFACE
 8495
 8496    /*** IUnknown methods ***/
 8497    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 8498        ID3D11VideoProcessor *This,
 8499        REFIID riid,
 8500        void **ppvObject);
 8501
 8502    ULONG (STDMETHODCALLTYPE *AddRef)(
 8503        ID3D11VideoProcessor *This);
 8504
 8505    ULONG (STDMETHODCALLTYPE *Release)(
 8506        ID3D11VideoProcessor *This);
 8507
 8508    /*** ID3D11DeviceChild methods ***/
 8509    void (STDMETHODCALLTYPE *GetDevice)(
 8510        ID3D11VideoProcessor *This,
 8511        ID3D11Device **ppDevice);
 8512
 8513    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 8514        ID3D11VideoProcessor *This,
 8515        REFGUID guid,
 8516        UINT *pDataSize,
 8517        void *pData);
 8518
 8519    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 8520        ID3D11VideoProcessor *This,
 8521        REFGUID guid,
 8522        UINT DataSize,
 8523        const void *pData);
 8524
 8525    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 8526        ID3D11VideoProcessor *This,
 8527        REFGUID guid,
 8528        const IUnknown *pData);
 8529
 8530    /*** ID3D11VideoProcessor methods ***/
 8531    void (STDMETHODCALLTYPE *GetContentDesc)(
 8532        ID3D11VideoProcessor *This,
 8533        D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc);
 8534
 8535    void (STDMETHODCALLTYPE *GetRateConversionCaps)(
 8536        ID3D11VideoProcessor *This,
 8537        D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
 8538
 8539    END_INTERFACE
 8540} ID3D11VideoProcessorVtbl;
 8541
 8542interface ID3D11VideoProcessor {
 8543    CONST_VTBL ID3D11VideoProcessorVtbl* lpVtbl;
 8544};
 8545
 8546#ifdef COBJMACROS
 8547#ifndef WIDL_C_INLINE_WRAPPERS
 8548/*** IUnknown methods ***/
 8549#define ID3D11VideoProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 8550#define ID3D11VideoProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
 8551#define ID3D11VideoProcessor_Release(This) (This)->lpVtbl->Release(This)
 8552/*** ID3D11DeviceChild methods ***/
 8553#define ID3D11VideoProcessor_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 8554#define ID3D11VideoProcessor_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 8555#define ID3D11VideoProcessor_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 8556#define ID3D11VideoProcessor_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 8557/*** ID3D11VideoProcessor methods ***/
 8558#define ID3D11VideoProcessor_GetContentDesc(This,pDesc) (This)->lpVtbl->GetContentDesc(This,pDesc)
 8559#define ID3D11VideoProcessor_GetRateConversionCaps(This,pCaps) (This)->lpVtbl->GetRateConversionCaps(This,pCaps)
 8560#else
 8561/*** IUnknown methods ***/
 8562static inline HRESULT ID3D11VideoProcessor_QueryInterface(ID3D11VideoProcessor* This,REFIID riid,void **ppvObject) {
 8563    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 8564}
 8565static inline ULONG ID3D11VideoProcessor_AddRef(ID3D11VideoProcessor* This) {
 8566    return This->lpVtbl->AddRef(This);
 8567}
 8568static inline ULONG ID3D11VideoProcessor_Release(ID3D11VideoProcessor* This) {
 8569    return This->lpVtbl->Release(This);
 8570}
 8571/*** ID3D11DeviceChild methods ***/
 8572static inline void ID3D11VideoProcessor_GetDevice(ID3D11VideoProcessor* This,ID3D11Device **ppDevice) {
 8573    This->lpVtbl->GetDevice(This,ppDevice);
 8574}
 8575static inline HRESULT ID3D11VideoProcessor_GetPrivateData(ID3D11VideoProcessor* This,REFGUID guid,UINT *pDataSize,void *pData) {
 8576    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 8577}
 8578static inline HRESULT ID3D11VideoProcessor_SetPrivateData(ID3D11VideoProcessor* This,REFGUID guid,UINT DataSize,const void *pData) {
 8579    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 8580}
 8581static inline HRESULT ID3D11VideoProcessor_SetPrivateDataInterface(ID3D11VideoProcessor* This,REFGUID guid,const IUnknown *pData) {
 8582    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 8583}
 8584/*** ID3D11VideoProcessor methods ***/
 8585static inline void ID3D11VideoProcessor_GetContentDesc(ID3D11VideoProcessor* This,D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc) {
 8586    This->lpVtbl->GetContentDesc(This,pDesc);
 8587}
 8588static inline void ID3D11VideoProcessor_GetRateConversionCaps(ID3D11VideoProcessor* This,D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) {
 8589    This->lpVtbl->GetRateConversionCaps(This,pCaps);
 8590}
 8591#endif
 8592#endif
 8593
 8594#endif
 8595
 8596
 8597#endif  /* __ID3D11VideoProcessor_INTERFACE_DEFINED__ */
 8598
 8599/*****************************************************************************
 8600 * ID3D11VideoDecoderOutputView interface
 8601 */
 8602#ifndef __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__
 8603#define __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__
 8604
 8605DEFINE_GUID(IID_ID3D11VideoDecoderOutputView, 0xc2931aea, 0x2a85, 0x4f20, 0x86,0x0f, 0xfb,0xa1,0xfd,0x25,0x6e,0x18);
 8606#if defined(__cplusplus) && !defined(CINTERFACE)
 8607MIDL_INTERFACE("c2931aea-2a85-4f20-860f-fba1fd256e18")
 8608ID3D11VideoDecoderOutputView : public ID3D11View
 8609{
 8610    virtual void STDMETHODCALLTYPE GetDesc(
 8611        D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc) = 0;
 8612
 8613};
 8614#ifdef __CRT_UUID_DECL
 8615__CRT_UUID_DECL(ID3D11VideoDecoderOutputView, 0xc2931aea, 0x2a85, 0x4f20, 0x86,0x0f, 0xfb,0xa1,0xfd,0x25,0x6e,0x18)
 8616#endif
 8617#else
 8618typedef struct ID3D11VideoDecoderOutputViewVtbl {
 8619    BEGIN_INTERFACE
 8620
 8621    /*** IUnknown methods ***/
 8622    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 8623        ID3D11VideoDecoderOutputView *This,
 8624        REFIID riid,
 8625        void **ppvObject);
 8626
 8627    ULONG (STDMETHODCALLTYPE *AddRef)(
 8628        ID3D11VideoDecoderOutputView *This);
 8629
 8630    ULONG (STDMETHODCALLTYPE *Release)(
 8631        ID3D11VideoDecoderOutputView *This);
 8632
 8633    /*** ID3D11DeviceChild methods ***/
 8634    void (STDMETHODCALLTYPE *GetDevice)(
 8635        ID3D11VideoDecoderOutputView *This,
 8636        ID3D11Device **ppDevice);
 8637
 8638    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 8639        ID3D11VideoDecoderOutputView *This,
 8640        REFGUID guid,
 8641        UINT *pDataSize,
 8642        void *pData);
 8643
 8644    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 8645        ID3D11VideoDecoderOutputView *This,
 8646        REFGUID guid,
 8647        UINT DataSize,
 8648        const void *pData);
 8649
 8650    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 8651        ID3D11VideoDecoderOutputView *This,
 8652        REFGUID guid,
 8653        const IUnknown *pData);
 8654
 8655    /*** ID3D11View methods ***/
 8656    void (STDMETHODCALLTYPE *GetResource)(
 8657        ID3D11VideoDecoderOutputView *This,
 8658        ID3D11Resource **ppResource);
 8659
 8660    /*** ID3D11VideoDecoderOutputView methods ***/
 8661    void (STDMETHODCALLTYPE *GetDesc)(
 8662        ID3D11VideoDecoderOutputView *This,
 8663        D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc);
 8664
 8665    END_INTERFACE
 8666} ID3D11VideoDecoderOutputViewVtbl;
 8667
 8668interface ID3D11VideoDecoderOutputView {
 8669    CONST_VTBL ID3D11VideoDecoderOutputViewVtbl* lpVtbl;
 8670};
 8671
 8672#ifdef COBJMACROS
 8673#ifndef WIDL_C_INLINE_WRAPPERS
 8674/*** IUnknown methods ***/
 8675#define ID3D11VideoDecoderOutputView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 8676#define ID3D11VideoDecoderOutputView_AddRef(This) (This)->lpVtbl->AddRef(This)
 8677#define ID3D11VideoDecoderOutputView_Release(This) (This)->lpVtbl->Release(This)
 8678/*** ID3D11DeviceChild methods ***/
 8679#define ID3D11VideoDecoderOutputView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 8680#define ID3D11VideoDecoderOutputView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 8681#define ID3D11VideoDecoderOutputView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 8682#define ID3D11VideoDecoderOutputView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 8683/*** ID3D11View methods ***/
 8684#define ID3D11VideoDecoderOutputView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 8685/*** ID3D11VideoDecoderOutputView methods ***/
 8686#define ID3D11VideoDecoderOutputView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 8687#else
 8688/*** IUnknown methods ***/
 8689static inline HRESULT ID3D11VideoDecoderOutputView_QueryInterface(ID3D11VideoDecoderOutputView* This,REFIID riid,void **ppvObject) {
 8690    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 8691}
 8692static inline ULONG ID3D11VideoDecoderOutputView_AddRef(ID3D11VideoDecoderOutputView* This) {
 8693    return This->lpVtbl->AddRef(This);
 8694}
 8695static inline ULONG ID3D11VideoDecoderOutputView_Release(ID3D11VideoDecoderOutputView* This) {
 8696    return This->lpVtbl->Release(This);
 8697}
 8698/*** ID3D11DeviceChild methods ***/
 8699static inline void ID3D11VideoDecoderOutputView_GetDevice(ID3D11VideoDecoderOutputView* This,ID3D11Device **ppDevice) {
 8700    This->lpVtbl->GetDevice(This,ppDevice);
 8701}
 8702static inline HRESULT ID3D11VideoDecoderOutputView_GetPrivateData(ID3D11VideoDecoderOutputView* This,REFGUID guid,UINT *pDataSize,void *pData) {
 8703    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 8704}
 8705static inline HRESULT ID3D11VideoDecoderOutputView_SetPrivateData(ID3D11VideoDecoderOutputView* This,REFGUID guid,UINT DataSize,const void *pData) {
 8706    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 8707}
 8708static inline HRESULT ID3D11VideoDecoderOutputView_SetPrivateDataInterface(ID3D11VideoDecoderOutputView* This,REFGUID guid,const IUnknown *pData) {
 8709    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 8710}
 8711/*** ID3D11View methods ***/
 8712static inline void ID3D11VideoDecoderOutputView_GetResource(ID3D11VideoDecoderOutputView* This,ID3D11Resource **ppResource) {
 8713    This->lpVtbl->GetResource(This,ppResource);
 8714}
 8715/*** ID3D11VideoDecoderOutputView methods ***/
 8716static inline void ID3D11VideoDecoderOutputView_GetDesc(ID3D11VideoDecoderOutputView* This,D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc) {
 8717    This->lpVtbl->GetDesc(This,pDesc);
 8718}
 8719#endif
 8720#endif
 8721
 8722#endif
 8723
 8724
 8725#endif  /* __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__ */
 8726
 8727/*****************************************************************************
 8728 * ID3D11VideoProcessorInputView interface
 8729 */
 8730#ifndef __ID3D11VideoProcessorInputView_INTERFACE_DEFINED__
 8731#define __ID3D11VideoProcessorInputView_INTERFACE_DEFINED__
 8732
 8733DEFINE_GUID(IID_ID3D11VideoProcessorInputView, 0x11ec5a5f, 0x51dc, 0x4945, 0xab,0x34, 0x6e,0x8c,0x21,0x30,0x0e,0xa5);
 8734#if defined(__cplusplus) && !defined(CINTERFACE)
 8735MIDL_INTERFACE("11ec5a5f-51dc-4945-ab34-6e8c21300ea5")
 8736ID3D11VideoProcessorInputView : public ID3D11View
 8737{
 8738    virtual void STDMETHODCALLTYPE GetDesc(
 8739        D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc) = 0;
 8740
 8741};
 8742#ifdef __CRT_UUID_DECL
 8743__CRT_UUID_DECL(ID3D11VideoProcessorInputView, 0x11ec5a5f, 0x51dc, 0x4945, 0xab,0x34, 0x6e,0x8c,0x21,0x30,0x0e,0xa5)
 8744#endif
 8745#else
 8746typedef struct ID3D11VideoProcessorInputViewVtbl {
 8747    BEGIN_INTERFACE
 8748
 8749    /*** IUnknown methods ***/
 8750    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 8751        ID3D11VideoProcessorInputView *This,
 8752        REFIID riid,
 8753        void **ppvObject);
 8754
 8755    ULONG (STDMETHODCALLTYPE *AddRef)(
 8756        ID3D11VideoProcessorInputView *This);
 8757
 8758    ULONG (STDMETHODCALLTYPE *Release)(
 8759        ID3D11VideoProcessorInputView *This);
 8760
 8761    /*** ID3D11DeviceChild methods ***/
 8762    void (STDMETHODCALLTYPE *GetDevice)(
 8763        ID3D11VideoProcessorInputView *This,
 8764        ID3D11Device **ppDevice);
 8765
 8766    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 8767        ID3D11VideoProcessorInputView *This,
 8768        REFGUID guid,
 8769        UINT *pDataSize,
 8770        void *pData);
 8771
 8772    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 8773        ID3D11VideoProcessorInputView *This,
 8774        REFGUID guid,
 8775        UINT DataSize,
 8776        const void *pData);
 8777
 8778    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 8779        ID3D11VideoProcessorInputView *This,
 8780        REFGUID guid,
 8781        const IUnknown *pData);
 8782
 8783    /*** ID3D11View methods ***/
 8784    void (STDMETHODCALLTYPE *GetResource)(
 8785        ID3D11VideoProcessorInputView *This,
 8786        ID3D11Resource **ppResource);
 8787
 8788    /*** ID3D11VideoProcessorInputView methods ***/
 8789    void (STDMETHODCALLTYPE *GetDesc)(
 8790        ID3D11VideoProcessorInputView *This,
 8791        D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc);
 8792
 8793    END_INTERFACE
 8794} ID3D11VideoProcessorInputViewVtbl;
 8795
 8796interface ID3D11VideoProcessorInputView {
 8797    CONST_VTBL ID3D11VideoProcessorInputViewVtbl* lpVtbl;
 8798};
 8799
 8800#ifdef COBJMACROS
 8801#ifndef WIDL_C_INLINE_WRAPPERS
 8802/*** IUnknown methods ***/
 8803#define ID3D11VideoProcessorInputView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 8804#define ID3D11VideoProcessorInputView_AddRef(This) (This)->lpVtbl->AddRef(This)
 8805#define ID3D11VideoProcessorInputView_Release(This) (This)->lpVtbl->Release(This)
 8806/*** ID3D11DeviceChild methods ***/
 8807#define ID3D11VideoProcessorInputView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 8808#define ID3D11VideoProcessorInputView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 8809#define ID3D11VideoProcessorInputView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 8810#define ID3D11VideoProcessorInputView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 8811/*** ID3D11View methods ***/
 8812#define ID3D11VideoProcessorInputView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 8813/*** ID3D11VideoProcessorInputView methods ***/
 8814#define ID3D11VideoProcessorInputView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 8815#else
 8816/*** IUnknown methods ***/
 8817static inline HRESULT ID3D11VideoProcessorInputView_QueryInterface(ID3D11VideoProcessorInputView* This,REFIID riid,void **ppvObject) {
 8818    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 8819}
 8820static inline ULONG ID3D11VideoProcessorInputView_AddRef(ID3D11VideoProcessorInputView* This) {
 8821    return This->lpVtbl->AddRef(This);
 8822}
 8823static inline ULONG ID3D11VideoProcessorInputView_Release(ID3D11VideoProcessorInputView* This) {
 8824    return This->lpVtbl->Release(This);
 8825}
 8826/*** ID3D11DeviceChild methods ***/
 8827static inline void ID3D11VideoProcessorInputView_GetDevice(ID3D11VideoProcessorInputView* This,ID3D11Device **ppDevice) {
 8828    This->lpVtbl->GetDevice(This,ppDevice);
 8829}
 8830static inline HRESULT ID3D11VideoProcessorInputView_GetPrivateData(ID3D11VideoProcessorInputView* This,REFGUID guid,UINT *pDataSize,void *pData) {
 8831    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 8832}
 8833static inline HRESULT ID3D11VideoProcessorInputView_SetPrivateData(ID3D11VideoProcessorInputView* This,REFGUID guid,UINT DataSize,const void *pData) {
 8834    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 8835}
 8836static inline HRESULT ID3D11VideoProcessorInputView_SetPrivateDataInterface(ID3D11VideoProcessorInputView* This,REFGUID guid,const IUnknown *pData) {
 8837    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 8838}
 8839/*** ID3D11View methods ***/
 8840static inline void ID3D11VideoProcessorInputView_GetResource(ID3D11VideoProcessorInputView* This,ID3D11Resource **ppResource) {
 8841    This->lpVtbl->GetResource(This,ppResource);
 8842}
 8843/*** ID3D11VideoProcessorInputView methods ***/
 8844static inline void ID3D11VideoProcessorInputView_GetDesc(ID3D11VideoProcessorInputView* This,D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc) {
 8845    This->lpVtbl->GetDesc(This,pDesc);
 8846}
 8847#endif
 8848#endif
 8849
 8850#endif
 8851
 8852
 8853#endif  /* __ID3D11VideoProcessorInputView_INTERFACE_DEFINED__ */
 8854
 8855/*****************************************************************************
 8856 * ID3D11VideoProcessorOutputView interface
 8857 */
 8858#ifndef __ID3D11VideoProcessorOutputView_INTERFACE_DEFINED__
 8859#define __ID3D11VideoProcessorOutputView_INTERFACE_DEFINED__
 8860
 8861DEFINE_GUID(IID_ID3D11VideoProcessorOutputView, 0xa048285e, 0x25a9, 0x4527, 0xbd,0x93, 0xd6,0x8b,0x68,0xc4,0x42,0x54);
 8862#if defined(__cplusplus) && !defined(CINTERFACE)
 8863MIDL_INTERFACE("a048285e-25a9-4527-bd93-d68b68c44254")
 8864ID3D11VideoProcessorOutputView : public ID3D11View
 8865{
 8866    virtual void STDMETHODCALLTYPE GetDesc(
 8867        D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc) = 0;
 8868
 8869};
 8870#ifdef __CRT_UUID_DECL
 8871__CRT_UUID_DECL(ID3D11VideoProcessorOutputView, 0xa048285e, 0x25a9, 0x4527, 0xbd,0x93, 0xd6,0x8b,0x68,0xc4,0x42,0x54)
 8872#endif
 8873#else
 8874typedef struct ID3D11VideoProcessorOutputViewVtbl {
 8875    BEGIN_INTERFACE
 8876
 8877    /*** IUnknown methods ***/
 8878    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 8879        ID3D11VideoProcessorOutputView *This,
 8880        REFIID riid,
 8881        void **ppvObject);
 8882
 8883    ULONG (STDMETHODCALLTYPE *AddRef)(
 8884        ID3D11VideoProcessorOutputView *This);
 8885
 8886    ULONG (STDMETHODCALLTYPE *Release)(
 8887        ID3D11VideoProcessorOutputView *This);
 8888
 8889    /*** ID3D11DeviceChild methods ***/
 8890    void (STDMETHODCALLTYPE *GetDevice)(
 8891        ID3D11VideoProcessorOutputView *This,
 8892        ID3D11Device **ppDevice);
 8893
 8894    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 8895        ID3D11VideoProcessorOutputView *This,
 8896        REFGUID guid,
 8897        UINT *pDataSize,
 8898        void *pData);
 8899
 8900    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 8901        ID3D11VideoProcessorOutputView *This,
 8902        REFGUID guid,
 8903        UINT DataSize,
 8904        const void *pData);
 8905
 8906    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 8907        ID3D11VideoProcessorOutputView *This,
 8908        REFGUID guid,
 8909        const IUnknown *pData);
 8910
 8911    /*** ID3D11View methods ***/
 8912    void (STDMETHODCALLTYPE *GetResource)(
 8913        ID3D11VideoProcessorOutputView *This,
 8914        ID3D11Resource **ppResource);
 8915
 8916    /*** ID3D11VideoProcessorOutputView methods ***/
 8917    void (STDMETHODCALLTYPE *GetDesc)(
 8918        ID3D11VideoProcessorOutputView *This,
 8919        D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc);
 8920
 8921    END_INTERFACE
 8922} ID3D11VideoProcessorOutputViewVtbl;
 8923
 8924interface ID3D11VideoProcessorOutputView {
 8925    CONST_VTBL ID3D11VideoProcessorOutputViewVtbl* lpVtbl;
 8926};
 8927
 8928#ifdef COBJMACROS
 8929#ifndef WIDL_C_INLINE_WRAPPERS
 8930/*** IUnknown methods ***/
 8931#define ID3D11VideoProcessorOutputView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 8932#define ID3D11VideoProcessorOutputView_AddRef(This) (This)->lpVtbl->AddRef(This)
 8933#define ID3D11VideoProcessorOutputView_Release(This) (This)->lpVtbl->Release(This)
 8934/*** ID3D11DeviceChild methods ***/
 8935#define ID3D11VideoProcessorOutputView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 8936#define ID3D11VideoProcessorOutputView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 8937#define ID3D11VideoProcessorOutputView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 8938#define ID3D11VideoProcessorOutputView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 8939/*** ID3D11View methods ***/
 8940#define ID3D11VideoProcessorOutputView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 8941/*** ID3D11VideoProcessorOutputView methods ***/
 8942#define ID3D11VideoProcessorOutputView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 8943#else
 8944/*** IUnknown methods ***/
 8945static inline HRESULT ID3D11VideoProcessorOutputView_QueryInterface(ID3D11VideoProcessorOutputView* This,REFIID riid,void **ppvObject) {
 8946    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 8947}
 8948static inline ULONG ID3D11VideoProcessorOutputView_AddRef(ID3D11VideoProcessorOutputView* This) {
 8949    return This->lpVtbl->AddRef(This);
 8950}
 8951static inline ULONG ID3D11VideoProcessorOutputView_Release(ID3D11VideoProcessorOutputView* This) {
 8952    return This->lpVtbl->Release(This);
 8953}
 8954/*** ID3D11DeviceChild methods ***/
 8955static inline void ID3D11VideoProcessorOutputView_GetDevice(ID3D11VideoProcessorOutputView* This,ID3D11Device **ppDevice) {
 8956    This->lpVtbl->GetDevice(This,ppDevice);
 8957}
 8958static inline HRESULT ID3D11VideoProcessorOutputView_GetPrivateData(ID3D11VideoProcessorOutputView* This,REFGUID guid,UINT *pDataSize,void *pData) {
 8959    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 8960}
 8961static inline HRESULT ID3D11VideoProcessorOutputView_SetPrivateData(ID3D11VideoProcessorOutputView* This,REFGUID guid,UINT DataSize,const void *pData) {
 8962    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 8963}
 8964static inline HRESULT ID3D11VideoProcessorOutputView_SetPrivateDataInterface(ID3D11VideoProcessorOutputView* This,REFGUID guid,const IUnknown *pData) {
 8965    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 8966}
 8967/*** ID3D11View methods ***/
 8968static inline void ID3D11VideoProcessorOutputView_GetResource(ID3D11VideoProcessorOutputView* This,ID3D11Resource **ppResource) {
 8969    This->lpVtbl->GetResource(This,ppResource);
 8970}
 8971/*** ID3D11VideoProcessorOutputView methods ***/
 8972static inline void ID3D11VideoProcessorOutputView_GetDesc(ID3D11VideoProcessorOutputView* This,D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc) {
 8973    This->lpVtbl->GetDesc(This,pDesc);
 8974}
 8975#endif
 8976#endif
 8977
 8978#endif
 8979
 8980
 8981#endif  /* __ID3D11VideoProcessorOutputView_INTERFACE_DEFINED__ */
 8982
 8983/*****************************************************************************
 8984 * ID3D11VideoDevice interface
 8985 */
 8986#ifndef __ID3D11VideoDevice_INTERFACE_DEFINED__
 8987#define __ID3D11VideoDevice_INTERFACE_DEFINED__
 8988
 8989DEFINE_GUID(IID_ID3D11VideoDevice, 0x10ec4d5b, 0x975a, 0x4689, 0xb9,0xe4, 0xd0,0xaa,0xc3,0x0f,0xe3,0x33);
 8990#if defined(__cplusplus) && !defined(CINTERFACE)
 8991MIDL_INTERFACE("10ec4d5b-975a-4689-b9e4-d0aac30fe333")
 8992ID3D11VideoDevice : public IUnknown
 8993{
 8994    virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoder(
 8995        const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
 8996        const D3D11_VIDEO_DECODER_CONFIG *pConfig,
 8997        ID3D11VideoDecoder **ppDecoder) = 0;
 8998
 8999    virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor(
 9000        ID3D11VideoProcessorEnumerator *pEnum,
 9001        UINT RateConversionIndex,
 9002        ID3D11VideoProcessor **ppVideoProcessor) = 0;
 9003
 9004    virtual HRESULT STDMETHODCALLTYPE CreateAuthenticatedChannel(
 9005        D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
 9006        ID3D11AuthenticatedChannel **ppAuthenticatedChannel) = 0;
 9007
 9008    virtual HRESULT STDMETHODCALLTYPE CreateCryptoSession(
 9009        const GUID *pCryptoType,
 9010        const GUID *pDecoderProfile,
 9011        const GUID *pKeyExchangeType,
 9012        ID3D11CryptoSession **ppCryptoSession) = 0;
 9013
 9014    virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoderOutputView(
 9015        ID3D11Resource *pResource,
 9016        const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
 9017        ID3D11VideoDecoderOutputView **ppVDOVView) = 0;
 9018
 9019    virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorInputView(
 9020        ID3D11Resource *pResource,
 9021        ID3D11VideoProcessorEnumerator *pEnum,
 9022        const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
 9023        ID3D11VideoProcessorInputView **ppVPIView) = 0;
 9024
 9025    virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorOutputView(
 9026        ID3D11Resource *pResource,
 9027        ID3D11VideoProcessorEnumerator *pEnum,
 9028        const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
 9029        ID3D11VideoProcessorOutputView **ppVPOView) = 0;
 9030
 9031    virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorEnumerator(
 9032        const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,
 9033        ID3D11VideoProcessorEnumerator **ppEnum) = 0;
 9034
 9035    virtual UINT STDMETHODCALLTYPE GetVideoDecoderProfileCount(
 9036        ) = 0;
 9037
 9038    virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderProfile(
 9039        UINT Index,
 9040        GUID *pDecoderProfile) = 0;
 9041
 9042    virtual HRESULT STDMETHODCALLTYPE CheckVideoDecoderFormat(
 9043        const GUID *pDecoderProfile,
 9044        DXGI_FORMAT Format,
 9045        WINBOOL *pSupported) = 0;
 9046
 9047    virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderConfigCount(
 9048        const D3D11_VIDEO_DECODER_DESC *pDesc,
 9049        UINT *pCount) = 0;
 9050
 9051    virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderConfig(
 9052        const D3D11_VIDEO_DECODER_DESC *pDesc,
 9053        UINT Index,
 9054        D3D11_VIDEO_DECODER_CONFIG *pConfig) = 0;
 9055
 9056    virtual HRESULT STDMETHODCALLTYPE GetContentProtectionCaps(
 9057        const GUID *pCryptoType,
 9058        const GUID *pDecoderProfile,
 9059        D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps) = 0;
 9060
 9061    virtual HRESULT STDMETHODCALLTYPE CheckCryptoKeyExchange(
 9062        const GUID *pCryptoType,
 9063        const GUID *pDecoderProfile,
 9064        UINT Index,
 9065        GUID *pKeyExchangeType) = 0;
 9066
 9067    virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
 9068        REFGUID guid,
 9069        UINT DataSize,
 9070        const void *pData) = 0;
 9071
 9072    virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
 9073        REFGUID guid,
 9074        const IUnknown *pData) = 0;
 9075
 9076};
 9077#ifdef __CRT_UUID_DECL
 9078__CRT_UUID_DECL(ID3D11VideoDevice, 0x10ec4d5b, 0x975a, 0x4689, 0xb9,0xe4, 0xd0,0xaa,0xc3,0x0f,0xe3,0x33)
 9079#endif
 9080#else
 9081typedef struct ID3D11VideoDeviceVtbl {
 9082    BEGIN_INTERFACE
 9083
 9084    /*** IUnknown methods ***/
 9085    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 9086        ID3D11VideoDevice *This,
 9087        REFIID riid,
 9088        void **ppvObject);
 9089
 9090    ULONG (STDMETHODCALLTYPE *AddRef)(
 9091        ID3D11VideoDevice *This);
 9092
 9093    ULONG (STDMETHODCALLTYPE *Release)(
 9094        ID3D11VideoDevice *This);
 9095
 9096    /*** ID3D11VideoDevice methods ***/
 9097    HRESULT (STDMETHODCALLTYPE *CreateVideoDecoder)(
 9098        ID3D11VideoDevice *This,
 9099        const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
 9100        const D3D11_VIDEO_DECODER_CONFIG *pConfig,
 9101        ID3D11VideoDecoder **ppDecoder);
 9102
 9103    HRESULT (STDMETHODCALLTYPE *CreateVideoProcessor)(
 9104        ID3D11VideoDevice *This,
 9105        ID3D11VideoProcessorEnumerator *pEnum,
 9106        UINT RateConversionIndex,
 9107        ID3D11VideoProcessor **ppVideoProcessor);
 9108
 9109    HRESULT (STDMETHODCALLTYPE *CreateAuthenticatedChannel)(
 9110        ID3D11VideoDevice *This,
 9111        D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
 9112        ID3D11AuthenticatedChannel **ppAuthenticatedChannel);
 9113
 9114    HRESULT (STDMETHODCALLTYPE *CreateCryptoSession)(
 9115        ID3D11VideoDevice *This,
 9116        const GUID *pCryptoType,
 9117        const GUID *pDecoderProfile,
 9118        const GUID *pKeyExchangeType,
 9119        ID3D11CryptoSession **ppCryptoSession);
 9120
 9121    HRESULT (STDMETHODCALLTYPE *CreateVideoDecoderOutputView)(
 9122        ID3D11VideoDevice *This,
 9123        ID3D11Resource *pResource,
 9124        const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
 9125        ID3D11VideoDecoderOutputView **ppVDOVView);
 9126
 9127    HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorInputView)(
 9128        ID3D11VideoDevice *This,
 9129        ID3D11Resource *pResource,
 9130        ID3D11VideoProcessorEnumerator *pEnum,
 9131        const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
 9132        ID3D11VideoProcessorInputView **ppVPIView);
 9133
 9134    HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorOutputView)(
 9135        ID3D11VideoDevice *This,
 9136        ID3D11Resource *pResource,
 9137        ID3D11VideoProcessorEnumerator *pEnum,
 9138        const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
 9139        ID3D11VideoProcessorOutputView **ppVPOView);
 9140
 9141    HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorEnumerator)(
 9142        ID3D11VideoDevice *This,
 9143        const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,
 9144        ID3D11VideoProcessorEnumerator **ppEnum);
 9145
 9146    UINT (STDMETHODCALLTYPE *GetVideoDecoderProfileCount)(
 9147        ID3D11VideoDevice *This);
 9148
 9149    HRESULT (STDMETHODCALLTYPE *GetVideoDecoderProfile)(
 9150        ID3D11VideoDevice *This,
 9151        UINT Index,
 9152        GUID *pDecoderProfile);
 9153
 9154    HRESULT (STDMETHODCALLTYPE *CheckVideoDecoderFormat)(
 9155        ID3D11VideoDevice *This,
 9156        const GUID *pDecoderProfile,
 9157        DXGI_FORMAT Format,
 9158        WINBOOL *pSupported);
 9159
 9160    HRESULT (STDMETHODCALLTYPE *GetVideoDecoderConfigCount)(
 9161        ID3D11VideoDevice *This,
 9162        const D3D11_VIDEO_DECODER_DESC *pDesc,
 9163        UINT *pCount);
 9164
 9165    HRESULT (STDMETHODCALLTYPE *GetVideoDecoderConfig)(
 9166        ID3D11VideoDevice *This,
 9167        const D3D11_VIDEO_DECODER_DESC *pDesc,
 9168        UINT Index,
 9169        D3D11_VIDEO_DECODER_CONFIG *pConfig);
 9170
 9171    HRESULT (STDMETHODCALLTYPE *GetContentProtectionCaps)(
 9172        ID3D11VideoDevice *This,
 9173        const GUID *pCryptoType,
 9174        const GUID *pDecoderProfile,
 9175        D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps);
 9176
 9177    HRESULT (STDMETHODCALLTYPE *CheckCryptoKeyExchange)(
 9178        ID3D11VideoDevice *This,
 9179        const GUID *pCryptoType,
 9180        const GUID *pDecoderProfile,
 9181        UINT Index,
 9182        GUID *pKeyExchangeType);
 9183
 9184    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 9185        ID3D11VideoDevice *This,
 9186        REFGUID guid,
 9187        UINT DataSize,
 9188        const void *pData);
 9189
 9190    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 9191        ID3D11VideoDevice *This,
 9192        REFGUID guid,
 9193        const IUnknown *pData);
 9194
 9195    END_INTERFACE
 9196} ID3D11VideoDeviceVtbl;
 9197
 9198interface ID3D11VideoDevice {
 9199    CONST_VTBL ID3D11VideoDeviceVtbl* lpVtbl;
 9200};
 9201
 9202#ifdef COBJMACROS
 9203#ifndef WIDL_C_INLINE_WRAPPERS
 9204/*** IUnknown methods ***/
 9205#define ID3D11VideoDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 9206#define ID3D11VideoDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
 9207#define ID3D11VideoDevice_Release(This) (This)->lpVtbl->Release(This)
 9208/*** ID3D11VideoDevice methods ***/
 9209#define ID3D11VideoDevice_CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder) (This)->lpVtbl->CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder)
 9210#define ID3D11VideoDevice_CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor) (This)->lpVtbl->CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor)
 9211#define ID3D11VideoDevice_CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel) (This)->lpVtbl->CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel)
 9212#define ID3D11VideoDevice_CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession) (This)->lpVtbl->CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession)
 9213#define ID3D11VideoDevice_CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView) (This)->lpVtbl->CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView)
 9214#define ID3D11VideoDevice_CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView) (This)->lpVtbl->CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView)
 9215#define ID3D11VideoDevice_CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView) (This)->lpVtbl->CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView)
 9216#define ID3D11VideoDevice_CreateVideoProcessorEnumerator(This,pDesc,ppEnum) (This)->lpVtbl->CreateVideoProcessorEnumerator(This,pDesc,ppEnum)
 9217#define ID3D11VideoDevice_GetVideoDecoderProfileCount(This) (This)->lpVtbl->GetVideoDecoderProfileCount(This)
 9218#define ID3D11VideoDevice_GetVideoDecoderProfile(This,Index,pDecoderProfile) (This)->lpVtbl->GetVideoDecoderProfile(This,Index,pDecoderProfile)
 9219#define ID3D11VideoDevice_CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported) (This)->lpVtbl->CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported)
 9220#define ID3D11VideoDevice_GetVideoDecoderConfigCount(This,pDesc,pCount) (This)->lpVtbl->GetVideoDecoderConfigCount(This,pDesc,pCount)
 9221#define ID3D11VideoDevice_GetVideoDecoderConfig(This,pDesc,Index,pConfig) (This)->lpVtbl->GetVideoDecoderConfig(This,pDesc,Index,pConfig)
 9222#define ID3D11VideoDevice_GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps) (This)->lpVtbl->GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps)
 9223#define ID3D11VideoDevice_CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType) (This)->lpVtbl->CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType)
 9224#define ID3D11VideoDevice_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 9225#define ID3D11VideoDevice_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 9226#else
 9227/*** IUnknown methods ***/
 9228static inline HRESULT ID3D11VideoDevice_QueryInterface(ID3D11VideoDevice* This,REFIID riid,void **ppvObject) {
 9229    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 9230}
 9231static inline ULONG ID3D11VideoDevice_AddRef(ID3D11VideoDevice* This) {
 9232    return This->lpVtbl->AddRef(This);
 9233}
 9234static inline ULONG ID3D11VideoDevice_Release(ID3D11VideoDevice* This) {
 9235    return This->lpVtbl->Release(This);
 9236}
 9237/*** ID3D11VideoDevice methods ***/
 9238static inline HRESULT ID3D11VideoDevice_CreateVideoDecoder(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pVideoDesc,const D3D11_VIDEO_DECODER_CONFIG *pConfig,ID3D11VideoDecoder **ppDecoder) {
 9239    return This->lpVtbl->CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder);
 9240}
 9241static inline HRESULT ID3D11VideoDevice_CreateVideoProcessor(ID3D11VideoDevice* This,ID3D11VideoProcessorEnumerator *pEnum,UINT RateConversionIndex,ID3D11VideoProcessor **ppVideoProcessor) {
 9242    return This->lpVtbl->CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor);
 9243}
 9244static inline HRESULT ID3D11VideoDevice_CreateAuthenticatedChannel(ID3D11VideoDevice* This,D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,ID3D11AuthenticatedChannel **ppAuthenticatedChannel) {
 9245    return This->lpVtbl->CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel);
 9246}
 9247static inline HRESULT ID3D11VideoDevice_CreateCryptoSession(ID3D11VideoDevice* This,const GUID *pCryptoType,const GUID *pDecoderProfile,const GUID *pKeyExchangeType,ID3D11CryptoSession **ppCryptoSession) {
 9248    return This->lpVtbl->CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession);
 9249}
 9250static inline HRESULT ID3D11VideoDevice_CreateVideoDecoderOutputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,ID3D11VideoDecoderOutputView **ppVDOVView) {
 9251    return This->lpVtbl->CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView);
 9252}
 9253static inline HRESULT ID3D11VideoDevice_CreateVideoProcessorInputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,ID3D11VideoProcessorEnumerator *pEnum,const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,ID3D11VideoProcessorInputView **ppVPIView) {
 9254    return This->lpVtbl->CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView);
 9255}
 9256static inline HRESULT ID3D11VideoDevice_CreateVideoProcessorOutputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,ID3D11VideoProcessorEnumerator *pEnum,const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,ID3D11VideoProcessorOutputView **ppVPOView) {
 9257    return This->lpVtbl->CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView);
 9258}
 9259static inline HRESULT ID3D11VideoDevice_CreateVideoProcessorEnumerator(ID3D11VideoDevice* This,const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,ID3D11VideoProcessorEnumerator **ppEnum) {
 9260    return This->lpVtbl->CreateVideoProcessorEnumerator(This,pDesc,ppEnum);
 9261}
 9262static inline UINT ID3D11VideoDevice_GetVideoDecoderProfileCount(ID3D11VideoDevice* This) {
 9263    return This->lpVtbl->GetVideoDecoderProfileCount(This);
 9264}
 9265static inline HRESULT ID3D11VideoDevice_GetVideoDecoderProfile(ID3D11VideoDevice* This,UINT Index,GUID *pDecoderProfile) {
 9266    return This->lpVtbl->GetVideoDecoderProfile(This,Index,pDecoderProfile);
 9267}
 9268static inline HRESULT ID3D11VideoDevice_CheckVideoDecoderFormat(ID3D11VideoDevice* This,const GUID *pDecoderProfile,DXGI_FORMAT Format,WINBOOL *pSupported) {
 9269    return This->lpVtbl->CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported);
 9270}
 9271static inline HRESULT ID3D11VideoDevice_GetVideoDecoderConfigCount(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pDesc,UINT *pCount) {
 9272    return This->lpVtbl->GetVideoDecoderConfigCount(This,pDesc,pCount);
 9273}
 9274static inline HRESULT ID3D11VideoDevice_GetVideoDecoderConfig(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pDesc,UINT Index,D3D11_VIDEO_DECODER_CONFIG *pConfig) {
 9275    return This->lpVtbl->GetVideoDecoderConfig(This,pDesc,Index,pConfig);
 9276}
 9277static inline HRESULT ID3D11VideoDevice_GetContentProtectionCaps(ID3D11VideoDevice* This,const GUID *pCryptoType,const GUID *pDecoderProfile,D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps) {
 9278    return This->lpVtbl->GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps);
 9279}
 9280static inline HRESULT ID3D11VideoDevice_CheckCryptoKeyExchange(ID3D11VideoDevice* This,const GUID *pCryptoType,const GUID *pDecoderProfile,UINT Index,GUID *pKeyExchangeType) {
 9281    return This->lpVtbl->CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType);
 9282}
 9283static inline HRESULT ID3D11VideoDevice_SetPrivateData(ID3D11VideoDevice* This,REFGUID guid,UINT DataSize,const void *pData) {
 9284    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 9285}
 9286static inline HRESULT ID3D11VideoDevice_SetPrivateDataInterface(ID3D11VideoDevice* This,REFGUID guid,const IUnknown *pData) {
 9287    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 9288}
 9289#endif
 9290#endif
 9291
 9292#endif
 9293
 9294
 9295#endif  /* __ID3D11VideoDevice_INTERFACE_DEFINED__ */
 9296
 9297/*****************************************************************************
 9298 * ID3D11VideoContext interface
 9299 */
 9300#ifndef __ID3D11VideoContext_INTERFACE_DEFINED__
 9301#define __ID3D11VideoContext_INTERFACE_DEFINED__
 9302
 9303DEFINE_GUID(IID_ID3D11VideoContext, 0x61f21c45, 0x3c0e, 0x4a74, 0x9c,0xea, 0x67,0x10,0x0d,0x9a,0xd5,0xe4);
 9304#if defined(__cplusplus) && !defined(CINTERFACE)
 9305MIDL_INTERFACE("61f21c45-3c0e-4a74-9cea-67100d9ad5e4")
 9306ID3D11VideoContext : public ID3D11DeviceChild
 9307{
 9308    virtual HRESULT STDMETHODCALLTYPE GetDecoderBuffer(
 9309        ID3D11VideoDecoder *decoder,
 9310        D3D11_VIDEO_DECODER_BUFFER_TYPE type,
 9311        UINT *buffer_size,
 9312        void **buffer) = 0;
 9313
 9314    virtual HRESULT STDMETHODCALLTYPE ReleaseDecoderBuffer(
 9315        ID3D11VideoDecoder *decoder,
 9316        D3D11_VIDEO_DECODER_BUFFER_TYPE type) = 0;
 9317
 9318    virtual HRESULT STDMETHODCALLTYPE DecoderBeginFrame(
 9319        ID3D11VideoDecoder *decoder,
 9320        ID3D11VideoDecoderOutputView *view,
 9321        UINT key_size,
 9322        const void *key) = 0;
 9323
 9324    virtual HRESULT STDMETHODCALLTYPE DecoderEndFrame(
 9325        ID3D11VideoDecoder *decoder) = 0;
 9326
 9327    virtual HRESULT STDMETHODCALLTYPE SubmitDecoderBuffers(
 9328        ID3D11VideoDecoder *decoder,
 9329        UINT buffers_count,
 9330        const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc) = 0;
 9331
 9332    virtual HRESULT STDMETHODCALLTYPE DecoderExtension(
 9333        ID3D11VideoDecoder *decoder,
 9334        const D3D11_VIDEO_DECODER_EXTENSION *extension) = 0;
 9335
 9336    virtual void STDMETHODCALLTYPE VideoProcessorSetOutputTargetRect(
 9337        ID3D11VideoProcessor *processor,
 9338        WINBOOL enable,
 9339        const RECT *rect) = 0;
 9340
 9341    virtual void STDMETHODCALLTYPE VideoProcessorSetOutputBackgroundColor(
 9342        ID3D11VideoProcessor *processor,
 9343        WINBOOL y_cb_cr,
 9344        const D3D11_VIDEO_COLOR *color) = 0;
 9345
 9346    virtual void STDMETHODCALLTYPE VideoProcessorSetOutputColorSpace(
 9347        ID3D11VideoProcessor *processor,
 9348        const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) = 0;
 9349
 9350    virtual void STDMETHODCALLTYPE VideoProcessorSetOutputAlphaFillMode(
 9351        ID3D11VideoProcessor *processor,
 9352        D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
 9353        UINT stream_idx) = 0;
 9354
 9355    virtual void STDMETHODCALLTYPE VideoProcessorSetOutputConstriction(
 9356        ID3D11VideoProcessor *processor,
 9357        WINBOOL enable,
 9358        SIZE size) = 0;
 9359
 9360    virtual void STDMETHODCALLTYPE VideoProcessorSetOutputStereoMode(
 9361        ID3D11VideoProcessor *processor,
 9362        WINBOOL enable) = 0;
 9363
 9364    virtual HRESULT STDMETHODCALLTYPE VideoProcessorSetOutputExtension(
 9365        ID3D11VideoProcessor *processor,
 9366        const GUID *guid,
 9367        UINT data_size,
 9368        void *data) = 0;
 9369
 9370    virtual void STDMETHODCALLTYPE VideoProcessorGetOutputTargetRect(
 9371        ID3D11VideoProcessor *processor,
 9372        WINBOOL *enabled,
 9373        RECT *rect) = 0;
 9374
 9375    virtual void STDMETHODCALLTYPE VideoProcessorGetOutputBackgroundColor(
 9376        ID3D11VideoProcessor *processor,
 9377        WINBOOL *y_cb_cr,
 9378        D3D11_VIDEO_COLOR *color) = 0;
 9379
 9380    virtual void STDMETHODCALLTYPE VideoProcessorGetOutputColorSpace(
 9381        ID3D11VideoProcessor *processor,
 9382        D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) = 0;
 9383
 9384    virtual void STDMETHODCALLTYPE VideoProcessorGetOutputAlphaFillMode(
 9385        ID3D11VideoProcessor *processor,
 9386        D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
 9387        UINT *stream_idx) = 0;
 9388
 9389    virtual void STDMETHODCALLTYPE VideoProcessorGetOutputConstriction(
 9390        ID3D11VideoProcessor *processor,
 9391        WINBOOL *enabled,
 9392        SIZE *size) = 0;
 9393
 9394    virtual void STDMETHODCALLTYPE VideoProcessorGetOutputStereoMode(
 9395        ID3D11VideoProcessor *processor,
 9396        WINBOOL *enabled) = 0;
 9397
 9398    virtual HRESULT STDMETHODCALLTYPE VideoProcessorGetOutputExtension(
 9399        ID3D11VideoProcessor *processor,
 9400        const GUID *guid,
 9401        UINT data_size,
 9402        void *data) = 0;
 9403
 9404    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamFrameFormat(
 9405        ID3D11VideoProcessor *processor,
 9406        UINT stream_idx,
 9407        D3D11_VIDEO_FRAME_FORMAT format) = 0;
 9408
 9409    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamColorSpace(
 9410        ID3D11VideoProcessor *processor,
 9411        UINT stream_idx,
 9412        const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) = 0;
 9413
 9414    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamOutputRate(
 9415        ID3D11VideoProcessor *processor,
 9416        UINT stream_idx,
 9417        D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
 9418        WINBOOL repeat,
 9419        const DXGI_RATIONAL *custom_rate) = 0;
 9420
 9421    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamSourceRect(
 9422        ID3D11VideoProcessor *processor,
 9423        UINT stream_idx,
 9424        WINBOOL enable,
 9425        const RECT *rect) = 0;
 9426
 9427    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamDestRect(
 9428        ID3D11VideoProcessor *processor,
 9429        UINT stream_idx,
 9430        WINBOOL enable,
 9431        const RECT *rect) = 0;
 9432
 9433    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamAlpha(
 9434        ID3D11VideoProcessor *processor,
 9435        UINT stream_idx,
 9436        WINBOOL enable,
 9437        float alpha) = 0;
 9438
 9439    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamPalette(
 9440        ID3D11VideoProcessor *processor,
 9441        UINT stream_idx,
 9442        UINT entry_count,
 9443        const UINT *entries) = 0;
 9444
 9445    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamPixelAspectRatio(
 9446        ID3D11VideoProcessor *processor,
 9447        UINT stream_idx,
 9448        WINBOOL enable,
 9449        const DXGI_RATIONAL *src_aspect_ratio,
 9450        const DXGI_RATIONAL *dst_aspect_ratio) = 0;
 9451
 9452    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamLumaKey(
 9453        ID3D11VideoProcessor *processor,
 9454        UINT stream_idx,
 9455        WINBOOL enable,
 9456        float lower,
 9457        float upper) = 0;
 9458
 9459    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamStereoFormat(
 9460        ID3D11VideoProcessor *processor,
 9461        UINT stream_idx,
 9462        WINBOOL enable,
 9463        D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
 9464        WINBOOL left_view_frame0,
 9465        WINBOOL base_view_frame0,
 9466        D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
 9467        int mono_offset) = 0;
 9468
 9469    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamAutoProcessingMode(
 9470        ID3D11VideoProcessor *processor,
 9471        UINT stream_idx,
 9472        WINBOOL enable) = 0;
 9473
 9474    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamFilter(
 9475        ID3D11VideoProcessor *processor,
 9476        UINT stream_idx,
 9477        D3D11_VIDEO_PROCESSOR_FILTER filter,
 9478        WINBOOL enable,
 9479        int level) = 0;
 9480
 9481    virtual HRESULT STDMETHODCALLTYPE VideoProcessorSetStreamExtension(
 9482        ID3D11VideoProcessor *processor,
 9483        UINT stream_idx,
 9484        const GUID *guid,
 9485        UINT data_size,
 9486        void *data) = 0;
 9487
 9488    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamFrameFormat(
 9489        ID3D11VideoProcessor *processor,
 9490        UINT stream_idx,
 9491        D3D11_VIDEO_FRAME_FORMAT *format) = 0;
 9492
 9493    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamColorSpace(
 9494        ID3D11VideoProcessor *processor,
 9495        UINT stream_idx,
 9496        D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) = 0;
 9497
 9498    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamOutputRate(
 9499        ID3D11VideoProcessor *processor,
 9500        UINT stream_idx,
 9501        D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
 9502        WINBOOL *repeat,
 9503        DXGI_RATIONAL *custom_rate) = 0;
 9504
 9505    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamSourceRect(
 9506        ID3D11VideoProcessor *processor,
 9507        UINT stream_idx,
 9508        WINBOOL *enabled,
 9509        RECT *rect) = 0;
 9510
 9511    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamDestRect(
 9512        ID3D11VideoProcessor *processor,
 9513        UINT stream_idx,
 9514        WINBOOL *enabled,
 9515        RECT *rect) = 0;
 9516
 9517    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamAlpha(
 9518        ID3D11VideoProcessor *processor,
 9519        UINT stream_idx,
 9520        WINBOOL *enabled,
 9521        float *alpha) = 0;
 9522
 9523    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamPalette(
 9524        ID3D11VideoProcessor *processor,
 9525        UINT stream_idx,
 9526        UINT entry_count,
 9527        UINT *entries) = 0;
 9528
 9529    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamPixelAspectRatio(
 9530        ID3D11VideoProcessor *processor,
 9531        UINT stream_idx,
 9532        WINBOOL *enabled,
 9533        DXGI_RATIONAL *src_aspect_ratio,
 9534        DXGI_RATIONAL *dst_aspect_ratio) = 0;
 9535
 9536    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamLumaKey(
 9537        ID3D11VideoProcessor *processor,
 9538        UINT stream_idx,
 9539        WINBOOL *enabled,
 9540        float *lower,
 9541        float *upper) = 0;
 9542
 9543    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamStereoFormat(
 9544        ID3D11VideoProcessor *processor,
 9545        UINT stream_idx,
 9546        WINBOOL *enabled,
 9547        D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
 9548        WINBOOL *left_view_frame0,
 9549        WINBOOL *base_view_frame0,
 9550        D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
 9551        int *mono_offset) = 0;
 9552
 9553    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamAutoProcessingMode(
 9554        ID3D11VideoProcessor *processor,
 9555        UINT stream_idx,
 9556        WINBOOL *enabled) = 0;
 9557
 9558    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamFilter(
 9559        ID3D11VideoProcessor *processor,
 9560        UINT stream_idx,
 9561        D3D11_VIDEO_PROCESSOR_FILTER filter,
 9562        WINBOOL *enabled,
 9563        int *level) = 0;
 9564
 9565    virtual HRESULT STDMETHODCALLTYPE VideoProcessorGetStreamExtension(
 9566        ID3D11VideoProcessor *processor,
 9567        UINT stream_idx,
 9568        const GUID *guid,
 9569        UINT data_size,
 9570        void *data) = 0;
 9571
 9572    virtual HRESULT STDMETHODCALLTYPE VideoProcessorBlt(
 9573        ID3D11VideoProcessor *processor,
 9574        ID3D11VideoProcessorOutputView *view,
 9575        UINT frame_idx,
 9576        UINT stream_count,
 9577        const D3D11_VIDEO_PROCESSOR_STREAM *streams) = 0;
 9578
 9579    virtual HRESULT STDMETHODCALLTYPE NegotiateCryptoSessionKeyExchange(
 9580        ID3D11CryptoSession *session,
 9581        UINT data_size,
 9582        void *data) = 0;
 9583
 9584    virtual void STDMETHODCALLTYPE EncryptionBlt(
 9585        ID3D11CryptoSession *session,
 9586        ID3D11Texture2D *src_surface,
 9587        ID3D11Texture2D *dst_surface,
 9588        UINT iv_size,
 9589        void *iv) = 0;
 9590
 9591    virtual void STDMETHODCALLTYPE DecryptionBlt(
 9592        ID3D11CryptoSession *session,
 9593        ID3D11Texture2D *src_surface,
 9594        ID3D11Texture2D *dst_surface,
 9595        D3D11_ENCRYPTED_BLOCK_INFO *block_info,
 9596        UINT key_size,
 9597        const void *key,
 9598        UINT iv_size,
 9599        void *iv) = 0;
 9600
 9601    virtual void STDMETHODCALLTYPE StartSessionKeyRefresh(
 9602        ID3D11CryptoSession *session,
 9603        UINT random_number_size,
 9604        void *random_number) = 0;
 9605
 9606    virtual void STDMETHODCALLTYPE FinishSessionKeyRefresh(
 9607        ID3D11CryptoSession *session) = 0;
 9608
 9609    virtual HRESULT STDMETHODCALLTYPE GetEncryptionBltKey(
 9610        ID3D11CryptoSession *session,
 9611        UINT key_size,
 9612        void *key) = 0;
 9613
 9614    virtual HRESULT STDMETHODCALLTYPE NegotiateAuthenticatedChannelKeyExchange(
 9615        ID3D11AuthenticatedChannel *channel,
 9616        UINT data_size,
 9617        void *data) = 0;
 9618
 9619    virtual HRESULT STDMETHODCALLTYPE QueryAuthenticatedChannel(
 9620        ID3D11AuthenticatedChannel *channel,
 9621        UINT input_size,
 9622        const void *input,
 9623        UINT output_size,
 9624        void *output) = 0;
 9625
 9626    virtual HRESULT STDMETHODCALLTYPE ConfigureAuthenticatedChannel(
 9627        ID3D11AuthenticatedChannel *channel,
 9628        UINT input_size,
 9629        const void *input,
 9630        D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output) = 0;
 9631
 9632    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamRotation(
 9633        ID3D11VideoProcessor *processor,
 9634        UINT stream_idx,
 9635        WINBOOL enable,
 9636        D3D11_VIDEO_PROCESSOR_ROTATION rotation) = 0;
 9637
 9638    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamRotation(
 9639        ID3D11VideoProcessor *processor,
 9640        UINT stream_idx,
 9641        WINBOOL *enable,
 9642        D3D11_VIDEO_PROCESSOR_ROTATION *rotation) = 0;
 9643
 9644};
 9645#ifdef __CRT_UUID_DECL
 9646__CRT_UUID_DECL(ID3D11VideoContext, 0x61f21c45, 0x3c0e, 0x4a74, 0x9c,0xea, 0x67,0x10,0x0d,0x9a,0xd5,0xe4)
 9647#endif
 9648#else
 9649typedef struct ID3D11VideoContextVtbl {
 9650    BEGIN_INTERFACE
 9651
 9652    /*** IUnknown methods ***/
 9653    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 9654        ID3D11VideoContext *This,
 9655        REFIID riid,
 9656        void **ppvObject);
 9657
 9658    ULONG (STDMETHODCALLTYPE *AddRef)(
 9659        ID3D11VideoContext *This);
 9660
 9661    ULONG (STDMETHODCALLTYPE *Release)(
 9662        ID3D11VideoContext *This);
 9663
 9664    /*** ID3D11DeviceChild methods ***/
 9665    void (STDMETHODCALLTYPE *GetDevice)(
 9666        ID3D11VideoContext *This,
 9667        ID3D11Device **ppDevice);
 9668
 9669    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 9670        ID3D11VideoContext *This,
 9671        REFGUID guid,
 9672        UINT *pDataSize,
 9673        void *pData);
 9674
 9675    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 9676        ID3D11VideoContext *This,
 9677        REFGUID guid,
 9678        UINT DataSize,
 9679        const void *pData);
 9680
 9681    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 9682        ID3D11VideoContext *This,
 9683        REFGUID guid,
 9684        const IUnknown *pData);
 9685
 9686    /*** ID3D11VideoContext methods ***/
 9687    HRESULT (STDMETHODCALLTYPE *GetDecoderBuffer)(
 9688        ID3D11VideoContext *This,
 9689        ID3D11VideoDecoder *decoder,
 9690        D3D11_VIDEO_DECODER_BUFFER_TYPE type,
 9691        UINT *buffer_size,
 9692        void **buffer);
 9693
 9694    HRESULT (STDMETHODCALLTYPE *ReleaseDecoderBuffer)(
 9695        ID3D11VideoContext *This,
 9696        ID3D11VideoDecoder *decoder,
 9697        D3D11_VIDEO_DECODER_BUFFER_TYPE type);
 9698
 9699    HRESULT (STDMETHODCALLTYPE *DecoderBeginFrame)(
 9700        ID3D11VideoContext *This,
 9701        ID3D11VideoDecoder *decoder,
 9702        ID3D11VideoDecoderOutputView *view,
 9703        UINT key_size,
 9704        const void *key);
 9705
 9706    HRESULT (STDMETHODCALLTYPE *DecoderEndFrame)(
 9707        ID3D11VideoContext *This,
 9708        ID3D11VideoDecoder *decoder);
 9709
 9710    HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers)(
 9711        ID3D11VideoContext *This,
 9712        ID3D11VideoDecoder *decoder,
 9713        UINT buffers_count,
 9714        const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc);
 9715
 9716    HRESULT (STDMETHODCALLTYPE *DecoderExtension)(
 9717        ID3D11VideoContext *This,
 9718        ID3D11VideoDecoder *decoder,
 9719        const D3D11_VIDEO_DECODER_EXTENSION *extension);
 9720
 9721    void (STDMETHODCALLTYPE *VideoProcessorSetOutputTargetRect)(
 9722        ID3D11VideoContext *This,
 9723        ID3D11VideoProcessor *processor,
 9724        WINBOOL enable,
 9725        const RECT *rect);
 9726
 9727    void (STDMETHODCALLTYPE *VideoProcessorSetOutputBackgroundColor)(
 9728        ID3D11VideoContext *This,
 9729        ID3D11VideoProcessor *processor,
 9730        WINBOOL y_cb_cr,
 9731        const D3D11_VIDEO_COLOR *color);
 9732
 9733    void (STDMETHODCALLTYPE *VideoProcessorSetOutputColorSpace)(
 9734        ID3D11VideoContext *This,
 9735        ID3D11VideoProcessor *processor,
 9736        const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
 9737
 9738    void (STDMETHODCALLTYPE *VideoProcessorSetOutputAlphaFillMode)(
 9739        ID3D11VideoContext *This,
 9740        ID3D11VideoProcessor *processor,
 9741        D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
 9742        UINT stream_idx);
 9743
 9744    void (STDMETHODCALLTYPE *VideoProcessorSetOutputConstriction)(
 9745        ID3D11VideoContext *This,
 9746        ID3D11VideoProcessor *processor,
 9747        WINBOOL enable,
 9748        SIZE size);
 9749
 9750    void (STDMETHODCALLTYPE *VideoProcessorSetOutputStereoMode)(
 9751        ID3D11VideoContext *This,
 9752        ID3D11VideoProcessor *processor,
 9753        WINBOOL enable);
 9754
 9755    HRESULT (STDMETHODCALLTYPE *VideoProcessorSetOutputExtension)(
 9756        ID3D11VideoContext *This,
 9757        ID3D11VideoProcessor *processor,
 9758        const GUID *guid,
 9759        UINT data_size,
 9760        void *data);
 9761
 9762    void (STDMETHODCALLTYPE *VideoProcessorGetOutputTargetRect)(
 9763        ID3D11VideoContext *This,
 9764        ID3D11VideoProcessor *processor,
 9765        WINBOOL *enabled,
 9766        RECT *rect);
 9767
 9768    void (STDMETHODCALLTYPE *VideoProcessorGetOutputBackgroundColor)(
 9769        ID3D11VideoContext *This,
 9770        ID3D11VideoProcessor *processor,
 9771        WINBOOL *y_cb_cr,
 9772        D3D11_VIDEO_COLOR *color);
 9773
 9774    void (STDMETHODCALLTYPE *VideoProcessorGetOutputColorSpace)(
 9775        ID3D11VideoContext *This,
 9776        ID3D11VideoProcessor *processor,
 9777        D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
 9778
 9779    void (STDMETHODCALLTYPE *VideoProcessorGetOutputAlphaFillMode)(
 9780        ID3D11VideoContext *This,
 9781        ID3D11VideoProcessor *processor,
 9782        D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
 9783        UINT *stream_idx);
 9784
 9785    void (STDMETHODCALLTYPE *VideoProcessorGetOutputConstriction)(
 9786        ID3D11VideoContext *This,
 9787        ID3D11VideoProcessor *processor,
 9788        WINBOOL *enabled,
 9789        SIZE *size);
 9790
 9791    void (STDMETHODCALLTYPE *VideoProcessorGetOutputStereoMode)(
 9792        ID3D11VideoContext *This,
 9793        ID3D11VideoProcessor *processor,
 9794        WINBOOL *enabled);
 9795
 9796    HRESULT (STDMETHODCALLTYPE *VideoProcessorGetOutputExtension)(
 9797        ID3D11VideoContext *This,
 9798        ID3D11VideoProcessor *processor,
 9799        const GUID *guid,
 9800        UINT data_size,
 9801        void *data);
 9802
 9803    void (STDMETHODCALLTYPE *VideoProcessorSetStreamFrameFormat)(
 9804        ID3D11VideoContext *This,
 9805        ID3D11VideoProcessor *processor,
 9806        UINT stream_idx,
 9807        D3D11_VIDEO_FRAME_FORMAT format);
 9808
 9809    void (STDMETHODCALLTYPE *VideoProcessorSetStreamColorSpace)(
 9810        ID3D11VideoContext *This,
 9811        ID3D11VideoProcessor *processor,
 9812        UINT stream_idx,
 9813        const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
 9814
 9815    void (STDMETHODCALLTYPE *VideoProcessorSetStreamOutputRate)(
 9816        ID3D11VideoContext *This,
 9817        ID3D11VideoProcessor *processor,
 9818        UINT stream_idx,
 9819        D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
 9820        WINBOOL repeat,
 9821        const DXGI_RATIONAL *custom_rate);
 9822
 9823    void (STDMETHODCALLTYPE *VideoProcessorSetStreamSourceRect)(
 9824        ID3D11VideoContext *This,
 9825        ID3D11VideoProcessor *processor,
 9826        UINT stream_idx,
 9827        WINBOOL enable,
 9828        const RECT *rect);
 9829
 9830    void (STDMETHODCALLTYPE *VideoProcessorSetStreamDestRect)(
 9831        ID3D11VideoContext *This,
 9832        ID3D11VideoProcessor *processor,
 9833        UINT stream_idx,
 9834        WINBOOL enable,
 9835        const RECT *rect);
 9836
 9837    void (STDMETHODCALLTYPE *VideoProcessorSetStreamAlpha)(
 9838        ID3D11VideoContext *This,
 9839        ID3D11VideoProcessor *processor,
 9840        UINT stream_idx,
 9841        WINBOOL enable,
 9842        float alpha);
 9843
 9844    void (STDMETHODCALLTYPE *VideoProcessorSetStreamPalette)(
 9845        ID3D11VideoContext *This,
 9846        ID3D11VideoProcessor *processor,
 9847        UINT stream_idx,
 9848        UINT entry_count,
 9849        const UINT *entries);
 9850
 9851    void (STDMETHODCALLTYPE *VideoProcessorSetStreamPixelAspectRatio)(
 9852        ID3D11VideoContext *This,
 9853        ID3D11VideoProcessor *processor,
 9854        UINT stream_idx,
 9855        WINBOOL enable,
 9856        const DXGI_RATIONAL *src_aspect_ratio,
 9857        const DXGI_RATIONAL *dst_aspect_ratio);
 9858
 9859    void (STDMETHODCALLTYPE *VideoProcessorSetStreamLumaKey)(
 9860        ID3D11VideoContext *This,
 9861        ID3D11VideoProcessor *processor,
 9862        UINT stream_idx,
 9863        WINBOOL enable,
 9864        float lower,
 9865        float upper);
 9866
 9867    void (STDMETHODCALLTYPE *VideoProcessorSetStreamStereoFormat)(
 9868        ID3D11VideoContext *This,
 9869        ID3D11VideoProcessor *processor,
 9870        UINT stream_idx,
 9871        WINBOOL enable,
 9872        D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
 9873        WINBOOL left_view_frame0,
 9874        WINBOOL base_view_frame0,
 9875        D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
 9876        int mono_offset);
 9877
 9878    void (STDMETHODCALLTYPE *VideoProcessorSetStreamAutoProcessingMode)(
 9879        ID3D11VideoContext *This,
 9880        ID3D11VideoProcessor *processor,
 9881        UINT stream_idx,
 9882        WINBOOL enable);
 9883
 9884    void (STDMETHODCALLTYPE *VideoProcessorSetStreamFilter)(
 9885        ID3D11VideoContext *This,
 9886        ID3D11VideoProcessor *processor,
 9887        UINT stream_idx,
 9888        D3D11_VIDEO_PROCESSOR_FILTER filter,
 9889        WINBOOL enable,
 9890        int level);
 9891
 9892    HRESULT (STDMETHODCALLTYPE *VideoProcessorSetStreamExtension)(
 9893        ID3D11VideoContext *This,
 9894        ID3D11VideoProcessor *processor,
 9895        UINT stream_idx,
 9896        const GUID *guid,
 9897        UINT data_size,
 9898        void *data);
 9899
 9900    void (STDMETHODCALLTYPE *VideoProcessorGetStreamFrameFormat)(
 9901        ID3D11VideoContext *This,
 9902        ID3D11VideoProcessor *processor,
 9903        UINT stream_idx,
 9904        D3D11_VIDEO_FRAME_FORMAT *format);
 9905
 9906    void (STDMETHODCALLTYPE *VideoProcessorGetStreamColorSpace)(
 9907        ID3D11VideoContext *This,
 9908        ID3D11VideoProcessor *processor,
 9909        UINT stream_idx,
 9910        D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
 9911
 9912    void (STDMETHODCALLTYPE *VideoProcessorGetStreamOutputRate)(
 9913        ID3D11VideoContext *This,
 9914        ID3D11VideoProcessor *processor,
 9915        UINT stream_idx,
 9916        D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
 9917        WINBOOL *repeat,
 9918        DXGI_RATIONAL *custom_rate);
 9919
 9920    void (STDMETHODCALLTYPE *VideoProcessorGetStreamSourceRect)(
 9921        ID3D11VideoContext *This,
 9922        ID3D11VideoProcessor *processor,
 9923        UINT stream_idx,
 9924        WINBOOL *enabled,
 9925        RECT *rect);
 9926
 9927    void (STDMETHODCALLTYPE *VideoProcessorGetStreamDestRect)(
 9928        ID3D11VideoContext *This,
 9929        ID3D11VideoProcessor *processor,
 9930        UINT stream_idx,
 9931        WINBOOL *enabled,
 9932        RECT *rect);
 9933
 9934    void (STDMETHODCALLTYPE *VideoProcessorGetStreamAlpha)(
 9935        ID3D11VideoContext *This,
 9936        ID3D11VideoProcessor *processor,
 9937        UINT stream_idx,
 9938        WINBOOL *enabled,
 9939        float *alpha);
 9940
 9941    void (STDMETHODCALLTYPE *VideoProcessorGetStreamPalette)(
 9942        ID3D11VideoContext *This,
 9943        ID3D11VideoProcessor *processor,
 9944        UINT stream_idx,
 9945        UINT entry_count,
 9946        UINT *entries);
 9947
 9948    void (STDMETHODCALLTYPE *VideoProcessorGetStreamPixelAspectRatio)(
 9949        ID3D11VideoContext *This,
 9950        ID3D11VideoProcessor *processor,
 9951        UINT stream_idx,
 9952        WINBOOL *enabled,
 9953        DXGI_RATIONAL *src_aspect_ratio,
 9954        DXGI_RATIONAL *dst_aspect_ratio);
 9955
 9956    void (STDMETHODCALLTYPE *VideoProcessorGetStreamLumaKey)(
 9957        ID3D11VideoContext *This,
 9958        ID3D11VideoProcessor *processor,
 9959        UINT stream_idx,
 9960        WINBOOL *enabled,
 9961        float *lower,
 9962        float *upper);
 9963
 9964    void (STDMETHODCALLTYPE *VideoProcessorGetStreamStereoFormat)(
 9965        ID3D11VideoContext *This,
 9966        ID3D11VideoProcessor *processor,
 9967        UINT stream_idx,
 9968        WINBOOL *enabled,
 9969        D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
 9970        WINBOOL *left_view_frame0,
 9971        WINBOOL *base_view_frame0,
 9972        D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
 9973        int *mono_offset);
 9974
 9975    void (STDMETHODCALLTYPE *VideoProcessorGetStreamAutoProcessingMode)(
 9976        ID3D11VideoContext *This,
 9977        ID3D11VideoProcessor *processor,
 9978        UINT stream_idx,
 9979        WINBOOL *enabled);
 9980
 9981    void (STDMETHODCALLTYPE *VideoProcessorGetStreamFilter)(
 9982        ID3D11VideoContext *This,
 9983        ID3D11VideoProcessor *processor,
 9984        UINT stream_idx,
 9985        D3D11_VIDEO_PROCESSOR_FILTER filter,
 9986        WINBOOL *enabled,
 9987        int *level);
 9988
 9989    HRESULT (STDMETHODCALLTYPE *VideoProcessorGetStreamExtension)(
 9990        ID3D11VideoContext *This,
 9991        ID3D11VideoProcessor *processor,
 9992        UINT stream_idx,
 9993        const GUID *guid,
 9994        UINT data_size,
 9995        void *data);
 9996
 9997    HRESULT (STDMETHODCALLTYPE *VideoProcessorBlt)(
 9998        ID3D11VideoContext *This,
 9999        ID3D11VideoProcessor *processor,
10000        ID3D11VideoProcessorOutputView *view,
10001        UINT frame_idx,
10002        UINT stream_count,
10003        const D3D11_VIDEO_PROCESSOR_STREAM *streams);
10004
10005    HRESULT (STDMETHODCALLTYPE *NegotiateCryptoSessionKeyExchange)(
10006        ID3D11VideoContext *This,
10007        ID3D11CryptoSession *session,
10008        UINT data_size,
10009        void *data);
10010
10011    void (STDMETHODCALLTYPE *EncryptionBlt)(
10012        ID3D11VideoContext *This,
10013        ID3D11CryptoSession *session,
10014        ID3D11Texture2D *src_surface,
10015        ID3D11Texture2D *dst_surface,
10016        UINT iv_size,
10017        void *iv);
10018
10019    void (STDMETHODCALLTYPE *DecryptionBlt)(
10020        ID3D11VideoContext *This,
10021        ID3D11CryptoSession *session,
10022        ID3D11Texture2D *src_surface,
10023        ID3D11Texture2D *dst_surface,
10024        D3D11_ENCRYPTED_BLOCK_INFO *block_info,
10025        UINT key_size,
10026        const void *key,
10027        UINT iv_size,
10028        void *iv);
10029
10030    void (STDMETHODCALLTYPE *StartSessionKeyRefresh)(
10031        ID3D11VideoContext *This,
10032        ID3D11CryptoSession *session,
10033        UINT random_number_size,
10034        void *random_number);
10035
10036    void (STDMETHODCALLTYPE *FinishSessionKeyRefresh)(
10037        ID3D11VideoContext *This,
10038        ID3D11CryptoSession *session);
10039
10040    HRESULT (STDMETHODCALLTYPE *GetEncryptionBltKey)(
10041        ID3D11VideoContext *This,
10042        ID3D11CryptoSession *session,
10043        UINT key_size,
10044        void *key);
10045
10046    HRESULT (STDMETHODCALLTYPE *NegotiateAuthenticatedChannelKeyExchange)(
10047        ID3D11VideoContext *This,
10048        ID3D11AuthenticatedChannel *channel,
10049        UINT data_size,
10050        void *data);
10051
10052    HRESULT (STDMETHODCALLTYPE *QueryAuthenticatedChannel)(
10053        ID3D11VideoContext *This,
10054        ID3D11AuthenticatedChannel *channel,
10055        UINT input_size,
10056        const void *input,
10057        UINT output_size,
10058        void *output);
10059
10060    HRESULT (STDMETHODCALLTYPE *ConfigureAuthenticatedChannel)(
10061        ID3D11VideoContext *This,
10062        ID3D11AuthenticatedChannel *channel,
10063        UINT input_size,
10064        const void *input,
10065        D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output);
10066
10067    void (STDMETHODCALLTYPE *VideoProcessorSetStreamRotation)(
10068        ID3D11VideoContext *This,
10069        ID3D11VideoProcessor *processor,
10070        UINT stream_idx,
10071        WINBOOL enable,
10072        D3D11_VIDEO_PROCESSOR_ROTATION rotation);
10073
10074    void (STDMETHODCALLTYPE *VideoProcessorGetStreamRotation)(
10075        ID3D11VideoContext *This,
10076        ID3D11VideoProcessor *processor,
10077        UINT stream_idx,
10078        WINBOOL *enable,
10079        D3D11_VIDEO_PROCESSOR_ROTATION *rotation);
10080
10081    END_INTERFACE
10082} ID3D11VideoContextVtbl;
10083
10084interface ID3D11VideoContext {
10085    CONST_VTBL ID3D11VideoContextVtbl* lpVtbl;
10086};
10087
10088#ifdef COBJMACROS
10089#ifndef WIDL_C_INLINE_WRAPPERS
10090/*** IUnknown methods ***/
10091#define ID3D11VideoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10092#define ID3D11VideoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
10093#define ID3D11VideoContext_Release(This) (This)->lpVtbl->Release(This)
10094/*** ID3D11DeviceChild methods ***/
10095#define ID3D11VideoContext_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
10096#define ID3D11VideoContext_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
10097#define ID3D11VideoContext_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
10098#define ID3D11VideoContext_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
10099/*** ID3D11VideoContext methods ***/
10100#define ID3D11VideoContext_GetDecoderBuffer(This,decoder,type,buffer_size,buffer) (This)->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer)
10101#define ID3D11VideoContext_ReleaseDecoderBuffer(This,decoder,type) (This)->lpVtbl->ReleaseDecoderBuffer(This,decoder,type)
10102#define ID3D11VideoContext_DecoderBeginFrame(This,decoder,view,key_size,key) (This)->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key)
10103#define ID3D11VideoContext_DecoderEndFrame(This,decoder) (This)->lpVtbl->DecoderEndFrame(This,decoder)
10104#define ID3D11VideoContext_SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc) (This)->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc)
10105#define ID3D11VideoContext_DecoderExtension(This,decoder,extension) (This)->lpVtbl->DecoderExtension(This,decoder,extension)
10106#define ID3D11VideoContext_VideoProcessorSetOutputTargetRect(This,processor,enable,rect) (This)->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect)
10107#define ID3D11VideoContext_VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color)
10108#define ID3D11VideoContext_VideoProcessorSetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space)
10109#define ID3D11VideoContext_VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx)
10110#define ID3D11VideoContext_VideoProcessorSetOutputConstriction(This,processor,enable,size) (This)->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size)
10111#define ID3D11VideoContext_VideoProcessorSetOutputStereoMode(This,processor,enable) (This)->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable)
10112#define ID3D11VideoContext_VideoProcessorSetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data)
10113#define ID3D11VideoContext_VideoProcessorGetOutputTargetRect(This,processor,enabled,rect) (This)->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect)
10114#define ID3D11VideoContext_VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color)
10115#define ID3D11VideoContext_VideoProcessorGetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space)
10116#define ID3D11VideoContext_VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx)
10117#define ID3D11VideoContext_VideoProcessorGetOutputConstriction(This,processor,enabled,size) (This)->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size)
10118#define ID3D11VideoContext_VideoProcessorGetOutputStereoMode(This,processor,enabled) (This)->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled)
10119#define ID3D11VideoContext_VideoProcessorGetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data)
10120#define ID3D11VideoContext_VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format)
10121#define ID3D11VideoContext_VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space)
10122#define ID3D11VideoContext_VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate)
10123#define ID3D11VideoContext_VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect)
10124#define ID3D11VideoContext_VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect)
10125#define ID3D11VideoContext_VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha) (This)->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha)
10126#define ID3D11VideoContext_VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries)
10127#define ID3D11VideoContext_VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio) (This)->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio)
10128#define ID3D11VideoContext_VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper) (This)->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper)
10129#define ID3D11VideoContext_VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset) (This)->lpVtbl->VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset)
10130#define ID3D11VideoContext_VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable) (This)->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable)
10131#define ID3D11VideoContext_VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level) (This)->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level)
10132#define ID3D11VideoContext_VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data)
10133#define ID3D11VideoContext_VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format)
10134#define ID3D11VideoContext_VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space)
10135#define ID3D11VideoContext_VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate)
10136#define ID3D11VideoContext_VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect)
10137#define ID3D11VideoContext_VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect)
10138#define ID3D11VideoContext_VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha) (This)->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha)
10139#define ID3D11VideoContext_VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries)
10140#define ID3D11VideoContext_VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio) (This)->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio)
10141#define ID3D11VideoContext_VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper) (This)->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper)
10142#define ID3D11VideoContext_VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset) (This)->lpVtbl->VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset)
10143#define ID3D11VideoContext_VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled) (This)->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled)
10144#define ID3D11VideoContext_VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level) (This)->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level)
10145#define ID3D11VideoContext_VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data)
10146#define ID3D11VideoContext_VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams) (This)->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams)
10147#define ID3D11VideoContext_NegotiateCryptoSessionKeyExchange(This,session,data_size,data) (This)->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data)
10148#define ID3D11VideoContext_EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv) (This)->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv)
10149#define ID3D11VideoContext_DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv) (This)->lpVtbl->DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv)
10150#define ID3D11VideoContext_StartSessionKeyRefresh(This,session,random_number_size,random_number) (This)->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number)
10151#define ID3D11VideoContext_FinishSessionKeyRefresh(This,session) (This)->lpVtbl->FinishSessionKeyRefresh(This,session)
10152#define ID3D11VideoContext_GetEncryptionBltKey(This,session,key_size,key) (This)->lpVtbl->GetEncryptionBltKey(This,session,key_size,key)
10153#define ID3D11VideoContext_NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data) (This)->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data)
10154#define ID3D11VideoContext_QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output) (This)->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output)
10155#define ID3D11VideoContext_ConfigureAuthenticatedChannel(This,channel,input_size,input,output) (This)->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output)
10156#define ID3D11VideoContext_VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation)
10157#define ID3D11VideoContext_VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation)
10158#else
10159/*** IUnknown methods ***/
10160static inline HRESULT ID3D11VideoContext_QueryInterface(ID3D11VideoContext* This,REFIID riid,void **ppvObject) {
10161    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10162}
10163static inline ULONG ID3D11VideoContext_AddRef(ID3D11VideoContext* This) {
10164    return This->lpVtbl->AddRef(This);
10165}
10166static inline ULONG ID3D11VideoContext_Release(ID3D11VideoContext* This) {
10167    return This->lpVtbl->Release(This);
10168}
10169/*** ID3D11DeviceChild methods ***/
10170static inline void ID3D11VideoContext_GetDevice(ID3D11VideoContext* This,ID3D11Device **ppDevice) {
10171    This->lpVtbl->GetDevice(This,ppDevice);
10172}
10173static inline HRESULT ID3D11VideoContext_GetPrivateData(ID3D11VideoContext* This,REFGUID guid,UINT *pDataSize,void *pData) {
10174    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
10175}
10176static inline HRESULT ID3D11VideoContext_SetPrivateData(ID3D11VideoContext* This,REFGUID guid,UINT DataSize,const void *pData) {
10177    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
10178}
10179static inline HRESULT ID3D11VideoContext_SetPrivateDataInterface(ID3D11VideoContext* This,REFGUID guid,const IUnknown *pData) {
10180    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
10181}
10182/*** ID3D11VideoContext methods ***/
10183static inline HRESULT ID3D11VideoContext_GetDecoderBuffer(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type,UINT *buffer_size,void **buffer) {
10184    return This->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer);
10185}
10186static inline HRESULT ID3D11VideoContext_ReleaseDecoderBuffer(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type) {
10187    return This->lpVtbl->ReleaseDecoderBuffer(This,decoder,type);
10188}
10189static inline HRESULT ID3D11VideoContext_DecoderBeginFrame(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,ID3D11VideoDecoderOutputView *view,UINT key_size,const void *key) {
10190    return This->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key);
10191}
10192static inline HRESULT ID3D11VideoContext_DecoderEndFrame(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder) {
10193    return This->lpVtbl->DecoderEndFrame(This,decoder);
10194}
10195static inline HRESULT ID3D11VideoContext_SubmitDecoderBuffers(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,UINT buffers_count,const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc) {
10196    return This->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc);
10197}
10198static inline HRESULT ID3D11VideoContext_DecoderExtension(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,const D3D11_VIDEO_DECODER_EXTENSION *extension) {
10199    return This->lpVtbl->DecoderExtension(This,decoder,extension);
10200}
10201static inline void ID3D11VideoContext_VideoProcessorSetOutputTargetRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL enable,const RECT *rect) {
10202    This->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect);
10203}
10204static inline void ID3D11VideoContext_VideoProcessorSetOutputBackgroundColor(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL y_cb_cr,const D3D11_VIDEO_COLOR *color) {
10205    This->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color);
10206}
10207static inline void ID3D11VideoContext_VideoProcessorSetOutputColorSpace(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
10208    This->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space);
10209}
10210static inline void ID3D11VideoContext_VideoProcessorSetOutputAlphaFillMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,UINT stream_idx) {
10211    This->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx);
10212}
10213static inline void ID3D11VideoContext_VideoProcessorSetOutputConstriction(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL enable,SIZE size) {
10214    This->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size);
10215}
10216static inline void ID3D11VideoContext_VideoProcessorSetOutputStereoMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL enable) {
10217    This->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable);
10218}
10219static inline HRESULT ID3D11VideoContext_VideoProcessorSetOutputExtension(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) {
10220    return This->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data);
10221}
10222static inline void ID3D11VideoContext_VideoProcessorGetOutputTargetRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,RECT *rect) {
10223    This->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect);
10224}
10225static inline void ID3D11VideoContext_VideoProcessorGetOutputBackgroundColor(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL *y_cb_cr,D3D11_VIDEO_COLOR *color) {
10226    This->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color);
10227}
10228static inline void ID3D11VideoContext_VideoProcessorGetOutputColorSpace(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
10229    This->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space);
10230}
10231static inline void ID3D11VideoContext_VideoProcessorGetOutputAlphaFillMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,UINT *stream_idx) {
10232    This->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx);
10233}
10234static inline void ID3D11VideoContext_VideoProcessorGetOutputConstriction(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,SIZE *size) {
10235    This->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size);
10236}
10237static inline void ID3D11VideoContext_VideoProcessorGetOutputStereoMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL *enabled) {
10238    This->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled);
10239}
10240static inline HRESULT ID3D11VideoContext_VideoProcessorGetOutputExtension(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) {
10241    return This->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data);
10242}
10243static inline void ID3D11VideoContext_VideoProcessorSetStreamFrameFormat(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT format) {
10244    This->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format);
10245}
10246static inline void ID3D11VideoContext_VideoProcessorSetStreamColorSpace(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
10247    This->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space);
10248}
10249static inline void ID3D11VideoContext_VideoProcessorSetStreamOutputRate(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,WINBOOL repeat,const DXGI_RATIONAL *custom_rate) {
10250    This->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate);
10251}
10252static inline void ID3D11VideoContext_VideoProcessorSetStreamSourceRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) {
10253    This->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect);
10254}
10255static inline void ID3D11VideoContext_VideoProcessorSetStreamDestRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) {
10256    This->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect);
10257}
10258static inline void ID3D11VideoContext_VideoProcessorSetStreamAlpha(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float alpha) {
10259    This->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha);
10260}
10261static inline void ID3D11VideoContext_VideoProcessorSetStreamPalette(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,const UINT *entries) {
10262    This->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries);
10263}
10264static inline void ID3D11VideoContext_VideoProcessorSetStreamPixelAspectRatio(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const DXGI_RATIONAL *src_aspect_ratio,const DXGI_RATIONAL *dst_aspect_ratio) {
10265    This->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio);
10266}
10267static inline void ID3D11VideoContext_VideoProcessorSetStreamLumaKey(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float lower,float upper) {
10268    This->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper);
10269}
10270static inline void ID3D11VideoContext_VideoProcessorSetStreamStereoFormat(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,WINBOOL left_view_frame0,WINBOOL base_view_frame0,D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,int mono_offset) {
10271    This->lpVtbl->VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset);
10272}
10273static inline void ID3D11VideoContext_VideoProcessorSetStreamAutoProcessingMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable) {
10274    This->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable);
10275}
10276static inline void ID3D11VideoContext_VideoProcessorSetStreamFilter(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL enable,int level) {
10277    This->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level);
10278}
10279static inline HRESULT ID3D11VideoContext_VideoProcessorSetStreamExtension(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) {
10280    return This->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data);
10281}
10282static inline void ID3D11VideoContext_VideoProcessorGetStreamFrameFormat(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT *format) {
10283    This->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format);
10284}
10285static inline void ID3D11VideoContext_VideoProcessorGetStreamColorSpace(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
10286    This->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space);
10287}
10288static inline void ID3D11VideoContext_VideoProcessorGetStreamOutputRate(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,WINBOOL *repeat,DXGI_RATIONAL *custom_rate) {
10289    This->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate);
10290}
10291static inline void ID3D11VideoContext_VideoProcessorGetStreamSourceRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) {
10292    This->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect);
10293}
10294static inline void ID3D11VideoContext_VideoProcessorGetStreamDestRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) {
10295    This->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect);
10296}
10297static inline void ID3D11VideoContext_VideoProcessorGetStreamAlpha(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *alpha) {
10298    This->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha);
10299}
10300static inline void ID3D11VideoContext_VideoProcessorGetStreamPalette(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,UINT *entries) {
10301    This->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries);
10302}
10303static inline void ID3D11VideoContext_VideoProcessorGetStreamPixelAspectRatio(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,DXGI_RATIONAL *src_aspect_ratio,DXGI_RATIONAL *dst_aspect_ratio) {
10304    This->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio);
10305}
10306static inline void ID3D11VideoContext_VideoProcessorGetStreamLumaKey(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *lower,float *upper) {
10307    This->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper);
10308}
10309static inline void ID3D11VideoContext_VideoProcessorGetStreamStereoFormat(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,WINBOOL *left_view_frame0,WINBOOL *base_view_frame0,D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,int *mono_offset) {
10310    This->lpVtbl->VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset);
10311}
10312static inline void ID3D11VideoContext_VideoProcessorGetStreamAutoProcessingMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled) {
10313    This->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled);
10314}
10315static inline void ID3D11VideoContext_VideoProcessorGetStreamFilter(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL *enabled,int *level) {
10316    This->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level);
10317}
10318static inline HRESULT ID3D11VideoContext_VideoProcessorGetStreamExtension(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) {
10319    return This->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data);
10320}
10321static inline HRESULT ID3D11VideoContext_VideoProcessorBlt(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,ID3D11VideoProcessorOutputView *view,UINT frame_idx,UINT stream_count,const D3D11_VIDEO_PROCESSOR_STREAM *streams) {
10322    return This->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams);
10323}
10324static inline HRESULT ID3D11VideoContext_NegotiateCryptoSessionKeyExchange(ID3D11VideoContext* This,ID3D11CryptoSession *session,UINT data_size,void *data) {
10325    return This->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data);
10326}
10327static inline void ID3D11VideoContext_EncryptionBlt(ID3D11VideoContext* This,ID3D11CryptoSession *session,ID3D11Texture2D *src_surface,ID3D11Texture2D *dst_surface,UINT iv_size,void *iv) {
10328    This->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv);
10329}
10330static inline void ID3D11VideoContext_DecryptionBlt(ID3D11VideoContext* This,ID3D11CryptoSession *session,ID3D11Texture2D *src_surface,ID3D11Texture2D *dst_surface,D3D11_ENCRYPTED_BLOCK_INFO *block_info,UINT key_size,const void *key,UINT iv_size,void *iv) {
10331    This->lpVtbl->DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv);
10332}
10333static inline void ID3D11VideoContext_StartSessionKeyRefresh(ID3D11VideoContext* This,ID3D11CryptoSession *session,UINT random_number_size,void *random_number) {
10334    This->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number);
10335}
10336static inline void ID3D11VideoContext_FinishSessionKeyRefresh(ID3D11VideoContext* This,ID3D11CryptoSession *session) {
10337    This->lpVtbl->FinishSessionKeyRefresh(This,session);
10338}
10339static inline HRESULT ID3D11VideoContext_GetEncryptionBltKey(ID3D11VideoContext* This,ID3D11CryptoSession *session,UINT key_size,void *key) {
10340    return This->lpVtbl->GetEncryptionBltKey(This,session,key_size,key);
10341}
10342static inline HRESULT ID3D11VideoContext_NegotiateAuthenticatedChannelKeyExchange(ID3D11VideoContext* This,ID3D11AuthenticatedChannel *channel,UINT data_size,void *data) {
10343    return This->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data);
10344}
10345static inline HRESULT ID3D11VideoContext_QueryAuthenticatedChannel(ID3D11VideoContext* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,UINT output_size,void *output) {
10346    return This->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output);
10347}
10348static inline HRESULT ID3D11VideoContext_ConfigureAuthenticatedChannel(ID3D11VideoContext* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output) {
10349    return This->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output);
10350}
10351static inline void ID3D11VideoContext_VideoProcessorSetStreamRotation(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,D3D11_VIDEO_PROCESSOR_ROTATION rotation) {
10352    This->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation);
10353}
10354static inline void ID3D11VideoContext_VideoProcessorGetStreamRotation(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enable,D3D11_VIDEO_PROCESSOR_ROTATION *rotation) {
10355    This->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation);
10356}
10357#endif
10358#endif
10359
10360#endif
10361
10362
10363#endif  /* __ID3D11VideoContext_INTERFACE_DEFINED__ */
10364
10365/*****************************************************************************
10366 * ID3D11Device interface
10367 */
10368#ifndef __ID3D11Device_INTERFACE_DEFINED__
10369#define __ID3D11Device_INTERFACE_DEFINED__
10370
10371DEFINE_GUID(IID_ID3D11Device, 0xdb6f6ddb, 0xac77, 0x4e88, 0x82,0x53, 0x81,0x9d,0xf9,0xbb,0xf1,0x40);
10372#if defined(__cplusplus) && !defined(CINTERFACE)
10373MIDL_INTERFACE("db6f6ddb-ac77-4e88-8253-819df9bbf140")
10374ID3D11Device : public IUnknown
10375{
10376    virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
10377        const D3D11_BUFFER_DESC *pDesc,
10378        const D3D11_SUBRESOURCE_DATA *pInitialData,
10379        ID3D11Buffer **ppBuffer) = 0;
10380
10381    virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
10382        const D3D11_TEXTURE1D_DESC *pDesc,
10383        const D3D11_SUBRESOURCE_DATA *pInitialData,
10384        ID3D11Texture1D **ppTexture1D) = 0;
10385
10386    virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
10387        const D3D11_TEXTURE2D_DESC *pDesc,
10388        const D3D11_SUBRESOURCE_DATA *pInitialData,
10389        ID3D11Texture2D **ppTexture2D) = 0;
10390
10391    virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
10392        const D3D11_TEXTURE3D_DESC *pDesc,
10393        const D3D11_SUBRESOURCE_DATA *pInitialData,
10394        ID3D11Texture3D **ppTexture3D) = 0;
10395
10396    virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
10397        ID3D11Resource *pResource,
10398        const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
10399        ID3D11ShaderResourceView **ppSRView) = 0;
10400
10401    virtual HRESULT STDMETHODCALLTYPE CreateUnorderedAccessView(
10402        ID3D11Resource *pResource,
10403        const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
10404        ID3D11UnorderedAccessView **ppUAView) = 0;
10405
10406    virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
10407        ID3D11Resource *pResource,
10408        const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
10409        ID3D11RenderTargetView **ppRTView) = 0;
10410
10411    virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
10412        ID3D11Resource *pResource,
10413        const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
10414        ID3D11DepthStencilView **ppDepthStencilView) = 0;
10415
10416    virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
10417        const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
10418        UINT NumElements,
10419        const void *pShaderBytecodeWithInputSignature,
10420        SIZE_T BytecodeLength,
10421        ID3D11InputLayout **ppInputLayout) = 0;
10422
10423    virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
10424        const void *pShaderBytecode,
10425        SIZE_T BytecodeLength,
10426        ID3D11ClassLinkage *pClassLinkage,
10427        ID3D11VertexShader **ppVertexShader) = 0;
10428
10429    virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
10430        const void *pShaderBytecode,
10431        SIZE_T BytecodeLength,
10432        ID3D11ClassLinkage *pClassLinkage,
10433        ID3D11GeometryShader **ppGeometryShader) = 0;
10434
10435    virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
10436        const void *pShaderBytecode,
10437        SIZE_T BytecodeLength,
10438        const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
10439        UINT NumEntries,
10440        const UINT *pBufferStrides,
10441        UINT NumStrides,
10442        UINT RasterizedStream,
10443        ID3D11ClassLinkage *pClassLinkage,
10444        ID3D11GeometryShader **ppGeometryShader) = 0;
10445
10446    virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
10447        const void *pShaderBytecode,
10448        SIZE_T BytecodeLength,
10449        ID3D11ClassLinkage *pClassLinkage,
10450        ID3D11PixelShader **ppPixelShader) = 0;
10451
10452    virtual HRESULT STDMETHODCALLTYPE CreateHullShader(
10453        const void *pShaderBytecode,
10454        SIZE_T BytecodeLength,
10455        ID3D11ClassLinkage *pClassLinkage,
10456        ID3D11HullShader **ppHullShader) = 0;
10457
10458    virtual HRESULT STDMETHODCALLTYPE CreateDomainShader(
10459        const void *pShaderBytecode,
10460        SIZE_T BytecodeLength,
10461        ID3D11ClassLinkage *pClassLinkage,
10462        ID3D11DomainShader **ppDomainShader) = 0;
10463
10464    virtual HRESULT STDMETHODCALLTYPE CreateComputeShader(
10465        const void *pShaderBytecode,
10466        SIZE_T BytecodeLength,
10467        ID3D11ClassLinkage *pClassLinkage,
10468        ID3D11ComputeShader **ppComputeShader) = 0;
10469
10470    virtual HRESULT STDMETHODCALLTYPE CreateClassLinkage(
10471        ID3D11ClassLinkage **ppLinkage) = 0;
10472
10473    virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
10474        const D3D11_BLEND_DESC *pBlendStateDesc,
10475        ID3D11BlendState **ppBlendState) = 0;
10476
10477    virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
10478        const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
10479        ID3D11DepthStencilState **ppDepthStencilState) = 0;
10480
10481    virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
10482        const D3D11_RASTERIZER_DESC *pRasterizerDesc,
10483        ID3D11RasterizerState **ppRasterizerState) = 0;
10484
10485    virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
10486        const D3D11_SAMPLER_DESC *pSamplerDesc,
10487        ID3D11SamplerState **ppSamplerState) = 0;
10488
10489    virtual HRESULT STDMETHODCALLTYPE CreateQuery(
10490        const D3D11_QUERY_DESC *pQueryDesc,
10491        ID3D11Query **ppQuery) = 0;
10492
10493    virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
10494        const D3D11_QUERY_DESC *pPredicateDesc,
10495        ID3D11Predicate **ppPredicate) = 0;
10496
10497    virtual HRESULT STDMETHODCALLTYPE CreateCounter(
10498        const D3D11_COUNTER_DESC *pCounterDesc,
10499        ID3D11Counter **ppCounter) = 0;
10500
10501    virtual HRESULT STDMETHODCALLTYPE CreateDeferredContext(
10502        UINT ContextFlags,
10503        ID3D11DeviceContext **ppDeferredContext) = 0;
10504
10505    virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
10506        HANDLE hResource,
10507        REFIID ReturnedInterface,
10508        void **ppResource) = 0;
10509
10510    virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
10511        DXGI_FORMAT Format,
10512        UINT *pFormatSupport) = 0;
10513
10514    virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
10515        DXGI_FORMAT Format,
10516        UINT SampleCount,
10517        UINT *pNumQualityLevels) = 0;
10518
10519    virtual void STDMETHODCALLTYPE CheckCounterInfo(
10520        D3D11_COUNTER_INFO *pCounterInfo) = 0;
10521
10522    virtual HRESULT STDMETHODCALLTYPE CheckCounter(
10523        const D3D11_COUNTER_DESC *pDesc,
10524        D3D11_COUNTER_TYPE *pType,
10525        UINT *pActiveCounters,
10526        LPSTR szName,
10527        UINT *pNameLength,
10528        LPSTR szUnits,
10529        UINT *pUnitsLength,
10530        LPSTR szDescription,
10531        UINT *pDescriptionLength) = 0;
10532
10533    virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
10534        D3D11_FEATURE Feature,
10535        void *pFeatureSupportData,
10536        UINT FeatureSupportDataSize) = 0;
10537
10538    virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
10539        REFGUID guid,
10540        UINT *pDataSize,
10541        void *pData) = 0;
10542
10543    virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
10544        REFGUID guid,
10545        UINT DataSize,
10546        const void *pData) = 0;
10547
10548    virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
10549        REFGUID guid,
10550        const IUnknown *pData) = 0;
10551
10552    virtual D3D_FEATURE_LEVEL STDMETHODCALLTYPE GetFeatureLevel(
10553        ) = 0;
10554
10555    virtual UINT STDMETHODCALLTYPE GetCreationFlags(
10556        ) = 0;
10557
10558    virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason(
10559        ) = 0;
10560
10561    virtual void STDMETHODCALLTYPE GetImmediateContext(
10562        ID3D11DeviceContext **ppImmediateContext) = 0;
10563
10564    virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
10565        UINT RaiseFlags) = 0;
10566
10567    virtual UINT STDMETHODCALLTYPE GetExceptionMode(
10568        ) = 0;
10569
10570};
10571#ifdef __CRT_UUID_DECL
10572__CRT_UUID_DECL(ID3D11Device, 0xdb6f6ddb, 0xac77, 0x4e88, 0x82,0x53, 0x81,0x9d,0xf9,0xbb,0xf1,0x40)
10573#endif
10574#else
10575typedef struct ID3D11DeviceVtbl {
10576    BEGIN_INTERFACE
10577
10578    /*** IUnknown methods ***/
10579    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10580        ID3D11Device *This,
10581        REFIID riid,
10582        void **ppvObject);
10583
10584    ULONG (STDMETHODCALLTYPE *AddRef)(
10585        ID3D11Device *This);
10586
10587    ULONG (STDMETHODCALLTYPE *Release)(
10588        ID3D11Device *This);
10589
10590    /*** ID3D11Device methods ***/
10591    HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
10592        ID3D11Device *This,
10593        const D3D11_BUFFER_DESC *pDesc,
10594        const D3D11_SUBRESOURCE_DATA *pInitialData,
10595        ID3D11Buffer **ppBuffer);
10596
10597    HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
10598        ID3D11Device *This,
10599        const D3D11_TEXTURE1D_DESC *pDesc,
10600        const D3D11_SUBRESOURCE_DATA *pInitialData,
10601        ID3D11Texture1D **ppTexture1D);
10602
10603    HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
10604        ID3D11Device *This,
10605        const D3D11_TEXTURE2D_DESC *pDesc,
10606        const D3D11_SUBRESOURCE_DATA *pInitialData,
10607        ID3D11Texture2D **ppTexture2D);
10608
10609    HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
10610        ID3D11Device *This,
10611        const D3D11_TEXTURE3D_DESC *pDesc,
10612        const D3D11_SUBRESOURCE_DATA *pInitialData,
10613        ID3D11Texture3D **ppTexture3D);
10614
10615    HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
10616        ID3D11Device *This,
10617        ID3D11Resource *pResource,
10618        const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
10619        ID3D11ShaderResourceView **ppSRView);
10620
10621    HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
10622        ID3D11Device *This,
10623        ID3D11Resource *pResource,
10624        const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
10625        ID3D11UnorderedAccessView **ppUAView);
10626
10627    HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
10628        ID3D11Device *This,
10629        ID3D11Resource *pResource,
10630        const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
10631        ID3D11RenderTargetView **ppRTView);
10632
10633    HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
10634        ID3D11Device *This,
10635        ID3D11Resource *pResource,
10636        const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
10637        ID3D11DepthStencilView **ppDepthStencilView);
10638
10639    HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
10640        ID3D11Device *This,
10641        const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
10642        UINT NumElements,
10643        const void *pShaderBytecodeWithInputSignature,
10644        SIZE_T BytecodeLength,
10645        ID3D11InputLayout **ppInputLayout);
10646
10647    HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
10648        ID3D11Device *This,
10649        const void *pShaderBytecode,
10650        SIZE_T BytecodeLength,
10651        ID3D11ClassLinkage *pClassLinkage,
10652        ID3D11VertexShader **ppVertexShader);
10653
10654    HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
10655        ID3D11Device *This,
10656        const void *pShaderBytecode,
10657        SIZE_T BytecodeLength,
10658        ID3D11ClassLinkage *pClassLinkage,
10659        ID3D11GeometryShader **ppGeometryShader);
10660
10661    HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
10662        ID3D11Device *This,
10663        const void *pShaderBytecode,
10664        SIZE_T BytecodeLength,
10665        const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
10666        UINT NumEntries,
10667        const UINT *pBufferStrides,
10668        UINT NumStrides,
10669        UINT RasterizedStream,
10670        ID3D11ClassLinkage *pClassLinkage,
10671        ID3D11GeometryShader **ppGeometryShader);
10672
10673    HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
10674        ID3D11Device *This,
10675        const void *pShaderBytecode,
10676        SIZE_T BytecodeLength,
10677        ID3D11ClassLinkage *pClassLinkage,
10678        ID3D11PixelShader **ppPixelShader);
10679
10680    HRESULT (STDMETHODCALLTYPE *CreateHullShader)(
10681        ID3D11Device *This,
10682        const void *pShaderBytecode,
10683        SIZE_T BytecodeLength,
10684        ID3D11ClassLinkage *pClassLinkage,
10685        ID3D11HullShader **ppHullShader);
10686
10687    HRESULT (STDMETHODCALLTYPE *CreateDomainShader)(
10688        ID3D11Device *This,
10689        const void *pShaderBytecode,
10690        SIZE_T BytecodeLength,
10691        ID3D11ClassLinkage *pClassLinkage,
10692        ID3D11DomainShader **ppDomainShader);
10693
10694    HRESULT (STDMETHODCALLTYPE *CreateComputeShader)(
10695        ID3D11Device *This,
10696        const void *pShaderBytecode,
10697        SIZE_T BytecodeLength,
10698        ID3D11ClassLinkage *pClassLinkage,
10699        ID3D11ComputeShader **ppComputeShader);
10700
10701    HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)(
10702        ID3D11Device *This,
10703        ID3D11ClassLinkage **ppLinkage);
10704
10705    HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
10706        ID3D11Device *This,
10707        const D3D11_BLEND_DESC *pBlendStateDesc,
10708        ID3D11BlendState **ppBlendState);
10709
10710    HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
10711        ID3D11Device *This,
10712        const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
10713        ID3D11DepthStencilState **ppDepthStencilState);
10714
10715    HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
10716        ID3D11Device *This,
10717        const D3D11_RASTERIZER_DESC *pRasterizerDesc,
10718        ID3D11RasterizerState **ppRasterizerState);
10719
10720    HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
10721        ID3D11Device *This,
10722        const D3D11_SAMPLER_DESC *pSamplerDesc,
10723        ID3D11SamplerState **ppSamplerState);
10724
10725    HRESULT (STDMETHODCALLTYPE *CreateQuery)(
10726        ID3D11Device *This,
10727        const D3D11_QUERY_DESC *pQueryDesc,
10728        ID3D11Query **ppQuery);
10729
10730    HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
10731        ID3D11Device *This,
10732        const D3D11_QUERY_DESC *pPredicateDesc,
10733        ID3D11Predicate **ppPredicate);
10734
10735    HRESULT (STDMETHODCALLTYPE *CreateCounter)(
10736        ID3D11Device *This,
10737        const D3D11_COUNTER_DESC *pCounterDesc,
10738        ID3D11Counter **ppCounter);
10739
10740    HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)(
10741        ID3D11Device *This,
10742        UINT ContextFlags,
10743        ID3D11DeviceContext **ppDeferredContext);
10744
10745    HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
10746        ID3D11Device *This,
10747        HANDLE hResource,
10748        REFIID ReturnedInterface,
10749        void **ppResource);
10750
10751    HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
10752        ID3D11Device *This,
10753        DXGI_FORMAT Format,
10754        UINT *pFormatSupport);
10755
10756    HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
10757        ID3D11Device *This,
10758        DXGI_FORMAT Format,
10759        UINT SampleCount,
10760        UINT *pNumQualityLevels);
10761
10762    void (STDMETHODCALLTYPE *CheckCounterInfo)(
10763        ID3D11Device *This,
10764        D3D11_COUNTER_INFO *pCounterInfo);
10765
10766    HRESULT (STDMETHODCALLTYPE *CheckCounter)(
10767        ID3D11Device *This,
10768        const D3D11_COUNTER_DESC *pDesc,
10769        D3D11_COUNTER_TYPE *pType,
10770        UINT *pActiveCounters,
10771        LPSTR szName,
10772        UINT *pNameLength,
10773        LPSTR szUnits,
10774        UINT *pUnitsLength,
10775        LPSTR szDescription,
10776        UINT *pDescriptionLength);
10777
10778    HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
10779        ID3D11Device *This,
10780        D3D11_FEATURE Feature,
10781        void *pFeatureSupportData,
10782        UINT FeatureSupportDataSize);
10783
10784    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
10785        ID3D11Device *This,
10786        REFGUID guid,
10787        UINT *pDataSize,
10788        void *pData);
10789
10790    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
10791        ID3D11Device *This,
10792        REFGUID guid,
10793        UINT DataSize,
10794        const void *pData);
10795
10796    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
10797        ID3D11Device *This,
10798        REFGUID guid,
10799        const IUnknown *pData);
10800
10801    D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)(
10802        ID3D11Device *This);
10803
10804    UINT (STDMETHODCALLTYPE *GetCreationFlags)(
10805        ID3D11Device *This);
10806
10807    HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
10808        ID3D11Device *This);
10809
10810    void (STDMETHODCALLTYPE *GetImmediateContext)(
10811        ID3D11Device *This,
10812        ID3D11DeviceContext **ppImmediateContext);
10813
10814    HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
10815        ID3D11Device *This,
10816        UINT RaiseFlags);
10817
10818    UINT (STDMETHODCALLTYPE *GetExceptionMode)(
10819        ID3D11Device *This);
10820
10821    END_INTERFACE
10822} ID3D11DeviceVtbl;
10823
10824interface ID3D11Device {
10825    CONST_VTBL ID3D11DeviceVtbl* lpVtbl;
10826};
10827
10828#ifdef COBJMACROS
10829#ifndef WIDL_C_INLINE_WRAPPERS
10830/*** IUnknown methods ***/
10831#define ID3D11Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10832#define ID3D11Device_AddRef(This) (This)->lpVtbl->AddRef(This)
10833#define ID3D11Device_Release(This) (This)->lpVtbl->Release(This)
10834/*** ID3D11Device methods ***/
10835#define ID3D11Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
10836#define ID3D11Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
10837#define ID3D11Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
10838#define ID3D11Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
10839#define ID3D11Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
10840#define ID3D11Device_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)
10841#define ID3D11Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
10842#define ID3D11Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
10843#define ID3D11Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
10844#define ID3D11Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)
10845#define ID3D11Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)
10846#define ID3D11Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)
10847#define ID3D11Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader)
10848#define ID3D11Device_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)
10849#define ID3D11Device_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)
10850#define ID3D11Device_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)
10851#define ID3D11Device_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage)
10852#define ID3D11Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
10853#define ID3D11Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
10854#define ID3D11Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
10855#define ID3D11Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
10856#define ID3D11Device_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
10857#define ID3D11Device_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
10858#define ID3D11Device_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
10859#define ID3D11Device_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext)
10860#define ID3D11Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
10861#define ID3D11Device_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
10862#define ID3D11Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
10863#define ID3D11Device_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
10864#define ID3D11Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
10865#define ID3D11Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)
10866#define ID3D11Device_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
10867#define ID3D11Device_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
10868#define ID3D11Device_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
10869#define ID3D11Device_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This)
10870#define ID3D11Device_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
10871#define ID3D11Device_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
10872#define ID3D11Device_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext)
10873#define ID3D11Device_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
10874#define ID3D11Device_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
10875#else
10876/*** IUnknown methods ***/
10877static inline HRESULT ID3D11Device_QueryInterface(ID3D11Device* This,REFIID riid,void **ppvObject) {
10878    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10879}
10880static inline ULONG ID3D11Device_AddRef(ID3D11Device* This) {
10881    return This->lpVtbl->AddRef(This);
10882}
10883static inline ULONG ID3D11Device_Release(ID3D11Device* This) {
10884    return This->lpVtbl->Release(This);
10885}
10886/*** ID3D11Device methods ***/
10887static inline HRESULT ID3D11Device_CreateBuffer(ID3D11Device* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) {
10888    return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer);
10889}
10890static inline HRESULT ID3D11Device_CreateTexture1D(ID3D11Device* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) {
10891    return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D);
10892}
10893static inline HRESULT ID3D11Device_CreateTexture2D(ID3D11Device* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) {
10894    return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D);
10895}
10896static inline HRESULT ID3D11Device_CreateTexture3D(ID3D11Device* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) {
10897    return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D);
10898}
10899static inline HRESULT ID3D11Device_CreateShaderResourceView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) {
10900    return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView);
10901}
10902static inline HRESULT ID3D11Device_CreateUnorderedAccessView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) {
10903    return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView);
10904}
10905static inline HRESULT ID3D11Device_CreateRenderTargetView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) {
10906    return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView);
10907}
10908static inline HRESULT ID3D11Device_CreateDepthStencilView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) {
10909    return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView);
10910}
10911static inline HRESULT ID3D11Device_CreateInputLayout(ID3D11Device* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) {
10912    return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout);
10913}
10914static inline HRESULT ID3D11Device_CreateVertexShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) {
10915    return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader);
10916}
10917static inline HRESULT ID3D11Device_CreateGeometryShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
10918    return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader);
10919}
10920static inline HRESULT ID3D11Device_CreateGeometryShaderWithStreamOutput(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,UINT NumEntries,const UINT *pBufferStrides,UINT NumStrides,UINT RasterizedStream,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
10921    return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader);
10922}
10923static inline HRESULT ID3D11Device_CreatePixelShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) {
10924    return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader);
10925}
10926static inline HRESULT ID3D11Device_CreateHullShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) {
10927    return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader);
10928}
10929static inline HRESULT ID3D11Device_CreateDomainShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) {
10930    return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader);
10931}
10932static inline HRESULT ID3D11Device_CreateComputeShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) {
10933    return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader);
10934}
10935static inline HRESULT ID3D11Device_CreateClassLinkage(ID3D11Device* This,ID3D11ClassLinkage **ppLinkage) {
10936    return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
10937}
10938static inline HRESULT ID3D11Device_CreateBlendState(ID3D11Device* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
10939    return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
10940}
10941static inline HRESULT ID3D11Device_CreateDepthStencilState(ID3D11Device* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
10942    return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
10943}
10944static inline HRESULT ID3D11Device_CreateRasterizerState(ID3D11Device* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
10945    return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
10946}
10947static inline HRESULT ID3D11Device_CreateSamplerState(ID3D11Device* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
10948    return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
10949}
10950static inline HRESULT ID3D11Device_CreateQuery(ID3D11Device* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
10951    return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
10952}
10953static inline HRESULT ID3D11Device_CreatePredicate(ID3D11Device* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
10954    return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
10955}
10956static inline HRESULT ID3D11Device_CreateCounter(ID3D11Device* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
10957    return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
10958}
10959static inline HRESULT ID3D11Device_CreateDeferredContext(ID3D11Device* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
10960    return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
10961}
10962static inline HRESULT ID3D11Device_OpenSharedResource(ID3D11Device* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
10963    return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
10964}
10965static inline HRESULT ID3D11Device_CheckFormatSupport(ID3D11Device* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
10966    return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
10967}
10968static inline HRESULT ID3D11Device_CheckMultisampleQualityLevels(ID3D11Device* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
10969    return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
10970}
10971static inline void ID3D11Device_CheckCounterInfo(ID3D11Device* This,D3D11_COUNTER_INFO *pCounterInfo) {
10972    This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
10973}
10974static inline HRESULT ID3D11Device_CheckCounter(ID3D11Device* This,const D3D11_COUNTER_DESC *pDesc,D3D11_COUNTER_TYPE *pType,UINT *pActiveCounters,LPSTR szName,UINT *pNameLength,LPSTR szUnits,UINT *pUnitsLength,LPSTR szDescription,UINT *pDescriptionLength) {
10975    return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength);
10976}
10977static inline HRESULT ID3D11Device_CheckFeatureSupport(ID3D11Device* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
10978    return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
10979}
10980static inline HRESULT ID3D11Device_GetPrivateData(ID3D11Device* This,REFGUID guid,UINT *pDataSize,void *pData) {
10981    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
10982}
10983static inline HRESULT ID3D11Device_SetPrivateData(ID3D11Device* This,REFGUID guid,UINT DataSize,const void *pData) {
10984    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
10985}
10986static inline HRESULT ID3D11Device_SetPrivateDataInterface(ID3D11Device* This,REFGUID guid,const IUnknown *pData) {
10987    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
10988}
10989static inline D3D_FEATURE_LEVEL ID3D11Device_GetFeatureLevel(ID3D11Device* This) {
10990    return This->lpVtbl->GetFeatureLevel(This);
10991}
10992static inline UINT ID3D11Device_GetCreationFlags(ID3D11Device* This) {
10993    return This->lpVtbl->GetCreationFlags(This);
10994}
10995static inline HRESULT ID3D11Device_GetDeviceRemovedReason(ID3D11Device* This) {
10996    return This->lpVtbl->GetDeviceRemovedReason(This);
10997}
10998static inline void ID3D11Device_GetImmediateContext(ID3D11Device* This,ID3D11DeviceContext **ppImmediateContext) {
10999    This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
11000}
11001static inline HRESULT ID3D11Device_SetExceptionMode(ID3D11Device* This,UINT RaiseFlags) {
11002    return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
11003}
11004static inline UINT ID3D11Device_GetExceptionMode(ID3D11Device* This) {
11005    return This->lpVtbl->GetExceptionMode(This);
11006}
11007#endif
11008#endif
11009
11010#endif
11011
11012
11013#endif  /* __ID3D11Device_INTERFACE_DEFINED__ */
11014
11015typedef enum D3D11_CREATE_DEVICE_FLAG {
11016    D3D11_CREATE_DEVICE_SINGLETHREADED = 0x1,
11017    D3D11_CREATE_DEVICE_DEBUG = 0x2,
11018    D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
11019    D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
11020    D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
11021    D3D11_CREATE_DEVICE_DEBUGGABLE = 0x40,
11022    D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80,
11023    D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x100,
11024    D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x800
11025} D3D11_CREATE_DEVICE_FLAG;
11026typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT {
11027    D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x1,
11028    D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x2
11029} D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT;
11030#define D3D11_SDK_VERSION (7)
11031
11032#include <d3d10_1.h>
11033#ifndef D3D11_IGNORE_SDK_LAYERS
11034# include <d3d11sdklayers.h>
11035#endif
11036#include <d3d10misc.h>
11037#include <d3d10shader.h>
11038#include <d3d10effect.h>
11039#include <d3d10_1shader.h>
11040#define _FACD3D11 (0x87c)
11041
11042#define MAKE_D3D11_HRESULT(code) MAKE_HRESULT(SEVERITY_ERROR, _FACD3D11, code)
11043typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,
11044    const D3D_FEATURE_LEVEL*,UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
11045HRESULT WINAPI D3D11CreateDevice(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,const D3D_FEATURE_LEVEL*,
11046    UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
11047typedef HRESULT (WINAPI *PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,
11048    const D3D_FEATURE_LEVEL*,UINT,UINT,const DXGI_SWAP_CHAIN_DESC*,IDXGISwapChain**,ID3D11Device**,
11049    D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
11050HRESULT __stdcall  D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter,D3D_DRIVER_TYPE driver_type,HMODULE swrast,UINT flags,const D3D_FEATURE_LEVEL *feature_levels,UINT levels,UINT sdk_version,const DXGI_SWAP_CHAIN_DESC *swapchain_desc,IDXGISwapChain **swapchain,ID3D11Device **device,D3D_FEATURE_LEVEL *obtained_feature_level,ID3D11DeviceContext **immediate_context);
11051
11052/* Begin additional prototypes for all interfaces */
11053
11054
11055/* End additional prototypes */
11056
11057#ifdef __cplusplus
11058}
11059#endif
11060
11061#endif /* __d3d11_h__ */