master
   1/*** Autogenerated by WIDL 10.4 from include/d3d11_1.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_1_h__
  17#define __d3d11_1_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __ID3D11BlendState1_FWD_DEFINED__
  22#define __ID3D11BlendState1_FWD_DEFINED__
  23typedef interface ID3D11BlendState1 ID3D11BlendState1;
  24#ifdef __cplusplus
  25interface ID3D11BlendState1;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __ID3DDeviceContextState_FWD_DEFINED__
  30#define __ID3DDeviceContextState_FWD_DEFINED__
  31typedef interface ID3DDeviceContextState ID3DDeviceContextState;
  32#ifdef __cplusplus
  33interface ID3DDeviceContextState;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __ID3D11DeviceContext1_FWD_DEFINED__
  38#define __ID3D11DeviceContext1_FWD_DEFINED__
  39typedef interface ID3D11DeviceContext1 ID3D11DeviceContext1;
  40#ifdef __cplusplus
  41interface ID3D11DeviceContext1;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __ID3D11VideoContext1_FWD_DEFINED__
  46#define __ID3D11VideoContext1_FWD_DEFINED__
  47typedef interface ID3D11VideoContext1 ID3D11VideoContext1;
  48#ifdef __cplusplus
  49interface ID3D11VideoContext1;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __ID3D11VideoDevice1_FWD_DEFINED__
  54#define __ID3D11VideoDevice1_FWD_DEFINED__
  55typedef interface ID3D11VideoDevice1 ID3D11VideoDevice1;
  56#ifdef __cplusplus
  57interface ID3D11VideoDevice1;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __ID3D11VideoProcessorEnumerator1_FWD_DEFINED__
  62#define __ID3D11VideoProcessorEnumerator1_FWD_DEFINED__
  63typedef interface ID3D11VideoProcessorEnumerator1 ID3D11VideoProcessorEnumerator1;
  64#ifdef __cplusplus
  65interface ID3D11VideoProcessorEnumerator1;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __ID3DUserDefinedAnnotation_FWD_DEFINED__
  70#define __ID3DUserDefinedAnnotation_FWD_DEFINED__
  71typedef interface ID3DUserDefinedAnnotation ID3DUserDefinedAnnotation;
  72#ifdef __cplusplus
  73interface ID3DUserDefinedAnnotation;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __ID3D11RasterizerState1_FWD_DEFINED__
  78#define __ID3D11RasterizerState1_FWD_DEFINED__
  79typedef interface ID3D11RasterizerState1 ID3D11RasterizerState1;
  80#ifdef __cplusplus
  81interface ID3D11RasterizerState1;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __ID3D11Device1_FWD_DEFINED__
  86#define __ID3D11Device1_FWD_DEFINED__
  87typedef interface ID3D11Device1 ID3D11Device1;
  88#ifdef __cplusplus
  89interface ID3D11Device1;
  90#endif /* __cplusplus */
  91#endif
  92
  93/* Headers for imported files */
  94
  95#include <oaidl.h>
  96#include <ocidl.h>
  97#include <dxgi1_2.h>
  98#include <d3dcommon.h>
  99#include <d3d11.h>
 100
 101#ifdef __cplusplus
 102extern "C" {
 103#endif
 104
 105typedef enum D3D11_LOGIC_OP {
 106    D3D11_LOGIC_OP_CLEAR = 0,
 107    D3D11_LOGIC_OP_SET = 1,
 108    D3D11_LOGIC_OP_COPY = 2,
 109    D3D11_LOGIC_OP_COPY_INVERTED = 3,
 110    D3D11_LOGIC_OP_NOOP = 4,
 111    D3D11_LOGIC_OP_INVERT = 5,
 112    D3D11_LOGIC_OP_AND = 6,
 113    D3D11_LOGIC_OP_NAND = 7,
 114    D3D11_LOGIC_OP_OR = 8,
 115    D3D11_LOGIC_OP_NOR = 9,
 116    D3D11_LOGIC_OP_XOR = 10,
 117    D3D11_LOGIC_OP_EQUIV = 11,
 118    D3D11_LOGIC_OP_AND_REVERSE = 12,
 119    D3D11_LOGIC_OP_AND_INVERTED = 13,
 120    D3D11_LOGIC_OP_OR_REVERSE = 14,
 121    D3D11_LOGIC_OP_OR_INVERTED = 15
 122} D3D11_LOGIC_OP;
 123typedef enum D3D11_COPY_FLAGS {
 124    D3D11_COPY_NO_OVERWRITE = 0x1,
 125    D3D11_COPY_DISCARD = 0x2
 126} D3D11_COPY_FLAGS;
 127typedef enum D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG {
 128    D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED = 0x1
 129} D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG;
 130typedef enum D3D11_VIDEO_DECODER_CAPS {
 131    D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE = 0x1,
 132    D3D11_VIDEO_DECODER_CAPS_NON_REAL_TIME = 0x2,
 133    D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_DYNAMIC = 0x4,
 134    D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_REQUIRED = 0x8,
 135    D3D11_VIDEO_DECODER_CAPS_UNSUPPORTED = 0x10
 136} D3D11_VIDEO_DECODER_CAPS;
 137typedef enum D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS {
 138    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_ROTATION = 0x1,
 139    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_RESIZE = 0x2,
 140    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_COLOR_SPACE_CONVERSION = 0x4,
 141    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_TRIPLE_BUFFER_OUTPUT = 0x8
 142} D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS;
 143typedef enum D3D11_CRYPTO_SESSION_STATUS {
 144    D3D11_CRYPTO_SESSION_STATUS_OK = 0x0,
 145    D3D11_CRYPTO_SESSION_STATUS_KEY_LOST = 0x1,
 146    D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST = 0x2
 147} D3D11_CRYPTO_SESSION_STATUS;
 148typedef struct D3D11_RENDER_TARGET_BLEND_DESC1 {
 149    WINBOOL BlendEnable;
 150    WINBOOL LogicOpEnable;
 151    D3D11_BLEND SrcBlend;
 152    D3D11_BLEND DestBlend;
 153    D3D11_BLEND_OP BlendOp;
 154    D3D11_BLEND SrcBlendAlpha;
 155    D3D11_BLEND DestBlendAlpha;
 156    D3D11_BLEND_OP BlendOpAlpha;
 157    D3D11_LOGIC_OP LogicOp;
 158    UINT8 RenderTargetWriteMask;
 159} D3D11_RENDER_TARGET_BLEND_DESC1;
 160typedef struct D3D11_BLEND_DESC1 {
 161    WINBOOL AlphaToCoverageEnable;
 162    WINBOOL IndependentBlendEnable;
 163    D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[8];
 164} D3D11_BLEND_DESC1;
 165typedef struct D3D11_RASTERIZER_DESC1 {
 166    D3D11_FILL_MODE FillMode;
 167    D3D11_CULL_MODE CullMode;
 168    WINBOOL FrontCounterClockwise;
 169    INT DepthBias;
 170    FLOAT DepthBiasClamp;
 171    FLOAT SlopeScaledDepthBias;
 172    WINBOOL DepthClipEnable;
 173    WINBOOL ScissorEnable;
 174    WINBOOL MultisampleEnable;
 175    WINBOOL AntialiasedLineEnable;
 176    UINT ForcedSampleCount;
 177} D3D11_RASTERIZER_DESC1;
 178typedef struct D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK {
 179    UINT ClearSize;
 180    UINT EncryptedSize;
 181} D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK;
 182typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC1 {
 183    D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType;
 184    UINT DataOffset;
 185    UINT DataSize;
 186    void *pIV;
 187    UINT IVSize;
 188    D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK *pSubSampleMappingBlock;
 189    UINT SubSampleMappingCount;
 190} D3D11_VIDEO_DECODER_BUFFER_DESC1;
 191typedef struct D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION {
 192    ID3D11CryptoSession *pCryptoSession;
 193    UINT BlobSize;
 194    void *pBlob;
 195    GUID *pKeyInfoId;
 196    UINT PrivateDataSize;
 197    void *pPrivateData;
 198} D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION;
 199typedef struct D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT {
 200    WINBOOL Enable;
 201    UINT Width;
 202    UINT Height;
 203    DXGI_FORMAT Format;
 204} D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT;
 205typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA {
 206    UINT PrivateDataSize;
 207    UINT HWProtectionDataSize;
 208    BYTE pbInput[4];
 209} D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA;
 210typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA {
 211    UINT PrivateDataSize;
 212    UINT MaxHWProtectionDataSize;
 213    UINT HWProtectionDataSize;
 214    UINT64 TransportTime;
 215    UINT64 ExecutionTime;
 216    BYTE pbOutput[4];
 217} D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA;
 218typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA {
 219    UINT HWProtectionFunctionID;
 220    D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA *pInputData;
 221    D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA *pOutputData;
 222    HRESULT Status;
 223} D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA;
 224typedef struct D3D11_VIDEO_SAMPLE_DESC {
 225    UINT Width;
 226    UINT Height;
 227    DXGI_FORMAT Format;
 228    DXGI_COLOR_SPACE_TYPE ColorSpace;
 229} D3D11_VIDEO_SAMPLE_DESC;
 230/*****************************************************************************
 231 * ID3D11BlendState1 interface
 232 */
 233#ifndef __ID3D11BlendState1_INTERFACE_DEFINED__
 234#define __ID3D11BlendState1_INTERFACE_DEFINED__
 235
 236DEFINE_GUID(IID_ID3D11BlendState1, 0xcc86fabe, 0xda55, 0x401d, 0x85,0xe7, 0xe3,0xc9,0xde,0x28,0x77,0xe9);
 237#if defined(__cplusplus) && !defined(CINTERFACE)
 238MIDL_INTERFACE("cc86fabe-da55-401d-85e7-e3c9de2877e9")
 239ID3D11BlendState1 : public ID3D11BlendState
 240{
 241    virtual void STDMETHODCALLTYPE GetDesc1(
 242        D3D11_BLEND_DESC1 *pDesc) = 0;
 243
 244};
 245#ifdef __CRT_UUID_DECL
 246__CRT_UUID_DECL(ID3D11BlendState1, 0xcc86fabe, 0xda55, 0x401d, 0x85,0xe7, 0xe3,0xc9,0xde,0x28,0x77,0xe9)
 247#endif
 248#else
 249typedef struct ID3D11BlendState1Vtbl {
 250    BEGIN_INTERFACE
 251
 252    /*** IUnknown methods ***/
 253    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 254        ID3D11BlendState1 *This,
 255        REFIID riid,
 256        void **ppvObject);
 257
 258    ULONG (STDMETHODCALLTYPE *AddRef)(
 259        ID3D11BlendState1 *This);
 260
 261    ULONG (STDMETHODCALLTYPE *Release)(
 262        ID3D11BlendState1 *This);
 263
 264    /*** ID3D11DeviceChild methods ***/
 265    void (STDMETHODCALLTYPE *GetDevice)(
 266        ID3D11BlendState1 *This,
 267        ID3D11Device **ppDevice);
 268
 269    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 270        ID3D11BlendState1 *This,
 271        REFGUID guid,
 272        UINT *pDataSize,
 273        void *pData);
 274
 275    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 276        ID3D11BlendState1 *This,
 277        REFGUID guid,
 278        UINT DataSize,
 279        const void *pData);
 280
 281    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 282        ID3D11BlendState1 *This,
 283        REFGUID guid,
 284        const IUnknown *pData);
 285
 286    /*** ID3D11BlendState methods ***/
 287    void (STDMETHODCALLTYPE *GetDesc)(
 288        ID3D11BlendState1 *This,
 289        D3D11_BLEND_DESC *pDesc);
 290
 291    /*** ID3D11BlendState1 methods ***/
 292    void (STDMETHODCALLTYPE *GetDesc1)(
 293        ID3D11BlendState1 *This,
 294        D3D11_BLEND_DESC1 *pDesc);
 295
 296    END_INTERFACE
 297} ID3D11BlendState1Vtbl;
 298
 299interface ID3D11BlendState1 {
 300    CONST_VTBL ID3D11BlendState1Vtbl* lpVtbl;
 301};
 302
 303#ifdef COBJMACROS
 304#ifndef WIDL_C_INLINE_WRAPPERS
 305/*** IUnknown methods ***/
 306#define ID3D11BlendState1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 307#define ID3D11BlendState1_AddRef(This) (This)->lpVtbl->AddRef(This)
 308#define ID3D11BlendState1_Release(This) (This)->lpVtbl->Release(This)
 309/*** ID3D11DeviceChild methods ***/
 310#define ID3D11BlendState1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 311#define ID3D11BlendState1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 312#define ID3D11BlendState1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 313#define ID3D11BlendState1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 314/*** ID3D11BlendState methods ***/
 315#define ID3D11BlendState1_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 316/*** ID3D11BlendState1 methods ***/
 317#define ID3D11BlendState1_GetDesc1(This,pDesc) (This)->lpVtbl->GetDesc1(This,pDesc)
 318#else
 319/*** IUnknown methods ***/
 320static inline HRESULT ID3D11BlendState1_QueryInterface(ID3D11BlendState1* This,REFIID riid,void **ppvObject) {
 321    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 322}
 323static inline ULONG ID3D11BlendState1_AddRef(ID3D11BlendState1* This) {
 324    return This->lpVtbl->AddRef(This);
 325}
 326static inline ULONG ID3D11BlendState1_Release(ID3D11BlendState1* This) {
 327    return This->lpVtbl->Release(This);
 328}
 329/*** ID3D11DeviceChild methods ***/
 330static inline void ID3D11BlendState1_GetDevice(ID3D11BlendState1* This,ID3D11Device **ppDevice) {
 331    This->lpVtbl->GetDevice(This,ppDevice);
 332}
 333static inline HRESULT ID3D11BlendState1_GetPrivateData(ID3D11BlendState1* This,REFGUID guid,UINT *pDataSize,void *pData) {
 334    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 335}
 336static inline HRESULT ID3D11BlendState1_SetPrivateData(ID3D11BlendState1* This,REFGUID guid,UINT DataSize,const void *pData) {
 337    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 338}
 339static inline HRESULT ID3D11BlendState1_SetPrivateDataInterface(ID3D11BlendState1* This,REFGUID guid,const IUnknown *pData) {
 340    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 341}
 342/*** ID3D11BlendState methods ***/
 343static inline void ID3D11BlendState1_GetDesc(ID3D11BlendState1* This,D3D11_BLEND_DESC *pDesc) {
 344    This->lpVtbl->GetDesc(This,pDesc);
 345}
 346/*** ID3D11BlendState1 methods ***/
 347static inline void ID3D11BlendState1_GetDesc1(ID3D11BlendState1* This,D3D11_BLEND_DESC1 *pDesc) {
 348    This->lpVtbl->GetDesc1(This,pDesc);
 349}
 350#endif
 351#endif
 352
 353#endif
 354
 355
 356#endif  /* __ID3D11BlendState1_INTERFACE_DEFINED__ */
 357
 358/*****************************************************************************
 359 * ID3DDeviceContextState interface
 360 */
 361#ifndef __ID3DDeviceContextState_INTERFACE_DEFINED__
 362#define __ID3DDeviceContextState_INTERFACE_DEFINED__
 363
 364DEFINE_GUID(IID_ID3DDeviceContextState, 0x5c1e0d8a, 0x7c23, 0x48f9, 0x8c,0x59, 0xa9,0x29,0x58,0xce,0xff,0x11);
 365#if defined(__cplusplus) && !defined(CINTERFACE)
 366MIDL_INTERFACE("5c1e0d8a-7c23-48f9-8c59-a92958ceff11")
 367ID3DDeviceContextState : public ID3D11DeviceChild
 368{
 369};
 370#ifdef __CRT_UUID_DECL
 371__CRT_UUID_DECL(ID3DDeviceContextState, 0x5c1e0d8a, 0x7c23, 0x48f9, 0x8c,0x59, 0xa9,0x29,0x58,0xce,0xff,0x11)
 372#endif
 373#else
 374typedef struct ID3DDeviceContextStateVtbl {
 375    BEGIN_INTERFACE
 376
 377    /*** IUnknown methods ***/
 378    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 379        ID3DDeviceContextState *This,
 380        REFIID riid,
 381        void **ppvObject);
 382
 383    ULONG (STDMETHODCALLTYPE *AddRef)(
 384        ID3DDeviceContextState *This);
 385
 386    ULONG (STDMETHODCALLTYPE *Release)(
 387        ID3DDeviceContextState *This);
 388
 389    /*** ID3D11DeviceChild methods ***/
 390    void (STDMETHODCALLTYPE *GetDevice)(
 391        ID3DDeviceContextState *This,
 392        ID3D11Device **ppDevice);
 393
 394    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 395        ID3DDeviceContextState *This,
 396        REFGUID guid,
 397        UINT *pDataSize,
 398        void *pData);
 399
 400    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 401        ID3DDeviceContextState *This,
 402        REFGUID guid,
 403        UINT DataSize,
 404        const void *pData);
 405
 406    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 407        ID3DDeviceContextState *This,
 408        REFGUID guid,
 409        const IUnknown *pData);
 410
 411    END_INTERFACE
 412} ID3DDeviceContextStateVtbl;
 413
 414interface ID3DDeviceContextState {
 415    CONST_VTBL ID3DDeviceContextStateVtbl* lpVtbl;
 416};
 417
 418#ifdef COBJMACROS
 419#ifndef WIDL_C_INLINE_WRAPPERS
 420/*** IUnknown methods ***/
 421#define ID3DDeviceContextState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 422#define ID3DDeviceContextState_AddRef(This) (This)->lpVtbl->AddRef(This)
 423#define ID3DDeviceContextState_Release(This) (This)->lpVtbl->Release(This)
 424/*** ID3D11DeviceChild methods ***/
 425#define ID3DDeviceContextState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 426#define ID3DDeviceContextState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 427#define ID3DDeviceContextState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 428#define ID3DDeviceContextState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 429#else
 430/*** IUnknown methods ***/
 431static inline HRESULT ID3DDeviceContextState_QueryInterface(ID3DDeviceContextState* This,REFIID riid,void **ppvObject) {
 432    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 433}
 434static inline ULONG ID3DDeviceContextState_AddRef(ID3DDeviceContextState* This) {
 435    return This->lpVtbl->AddRef(This);
 436}
 437static inline ULONG ID3DDeviceContextState_Release(ID3DDeviceContextState* This) {
 438    return This->lpVtbl->Release(This);
 439}
 440/*** ID3D11DeviceChild methods ***/
 441static inline void ID3DDeviceContextState_GetDevice(ID3DDeviceContextState* This,ID3D11Device **ppDevice) {
 442    This->lpVtbl->GetDevice(This,ppDevice);
 443}
 444static inline HRESULT ID3DDeviceContextState_GetPrivateData(ID3DDeviceContextState* This,REFGUID guid,UINT *pDataSize,void *pData) {
 445    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 446}
 447static inline HRESULT ID3DDeviceContextState_SetPrivateData(ID3DDeviceContextState* This,REFGUID guid,UINT DataSize,const void *pData) {
 448    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 449}
 450static inline HRESULT ID3DDeviceContextState_SetPrivateDataInterface(ID3DDeviceContextState* This,REFGUID guid,const IUnknown *pData) {
 451    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 452}
 453#endif
 454#endif
 455
 456#endif
 457
 458
 459#endif  /* __ID3DDeviceContextState_INTERFACE_DEFINED__ */
 460
 461/*****************************************************************************
 462 * ID3D11DeviceContext1 interface
 463 */
 464#ifndef __ID3D11DeviceContext1_INTERFACE_DEFINED__
 465#define __ID3D11DeviceContext1_INTERFACE_DEFINED__
 466
 467DEFINE_GUID(IID_ID3D11DeviceContext1, 0xbb2c6faa, 0xb5fb, 0x4082, 0x8e,0x6b, 0x38,0x8b,0x8c,0xfa,0x90,0xe1);
 468#if defined(__cplusplus) && !defined(CINTERFACE)
 469MIDL_INTERFACE("bb2c6faa-b5fb-4082-8e6b-388b8cfa90e1")
 470ID3D11DeviceContext1 : public ID3D11DeviceContext
 471{
 472    virtual void STDMETHODCALLTYPE CopySubresourceRegion1(
 473        ID3D11Resource *pDstResource,
 474        UINT DstSubresource,
 475        UINT DstX,
 476        UINT DstY,
 477        UINT DstZ,
 478        ID3D11Resource *pSrcResource,
 479        UINT SrcSubresource,
 480        const D3D11_BOX *pSrcBox,
 481        UINT CopyFlags) = 0;
 482
 483    virtual void STDMETHODCALLTYPE UpdateSubresource1(
 484        ID3D11Resource *pDstResource,
 485        UINT DstSubresource,
 486        const D3D11_BOX *pDstBox,
 487        const void *pSrcData,
 488        UINT SrcRowPitch,
 489        UINT SrcDepthPitch,
 490        UINT CopyFlags) = 0;
 491
 492    virtual void STDMETHODCALLTYPE DiscardResource(
 493        ID3D11Resource *pResource) = 0;
 494
 495    virtual void STDMETHODCALLTYPE DiscardView(
 496        ID3D11View *pResourceView) = 0;
 497
 498    virtual void STDMETHODCALLTYPE VSSetConstantBuffers1(
 499        UINT StartSlot,
 500        UINT NumBuffers,
 501        ID3D11Buffer *const *ppConstantBuffers,
 502        const UINT *pFirstConstant,
 503        const UINT *pNumConstants) = 0;
 504
 505    virtual void STDMETHODCALLTYPE HSSetConstantBuffers1(
 506        UINT StartSlot,
 507        UINT NumBuffers,
 508        ID3D11Buffer *const *ppConstantBuffers,
 509        const UINT *pFirstConstant,
 510        const UINT *pNumConstants) = 0;
 511
 512    virtual void STDMETHODCALLTYPE DSSetConstantBuffers1(
 513        UINT StartSlot,
 514        UINT NumBuffers,
 515        ID3D11Buffer *const *ppConstantBuffers,
 516        const UINT *pFirstConstant,
 517        const UINT *pNumConstants) = 0;
 518
 519    virtual void STDMETHODCALLTYPE GSSetConstantBuffers1(
 520        UINT StartSlot,
 521        UINT NumBuffers,
 522        ID3D11Buffer *const *ppConstantBuffers,
 523        const UINT *pFirstConstant,
 524        const UINT *pNumConstants) = 0;
 525
 526    virtual void STDMETHODCALLTYPE PSSetConstantBuffers1(
 527        UINT StartSlot,
 528        UINT NumBuffers,
 529        ID3D11Buffer *const *ppConstantBuffers,
 530        const UINT *pFirstConstant,
 531        const UINT *pNumConstants) = 0;
 532
 533    virtual void STDMETHODCALLTYPE CSSetConstantBuffers1(
 534        UINT StartSlot,
 535        UINT NumBuffers,
 536        ID3D11Buffer *const *ppConstantBuffers,
 537        const UINT *pFirstConstant,
 538        const UINT *pNumConstants) = 0;
 539
 540    virtual void STDMETHODCALLTYPE VSGetConstantBuffers1(
 541        UINT StartSlot,
 542        UINT NumBuffers,
 543        ID3D11Buffer **ppConstantBuffers,
 544        UINT *pFirstConstant,
 545        UINT *pNumConstants) = 0;
 546
 547    virtual void STDMETHODCALLTYPE HSGetConstantBuffers1(
 548        UINT StartSlot,
 549        UINT NumBuffers,
 550        ID3D11Buffer **ppConstantBuffers,
 551        UINT *pFirstConstant,
 552        UINT *pNumConstants) = 0;
 553
 554    virtual void STDMETHODCALLTYPE DSGetConstantBuffers1(
 555        UINT StartSlot,
 556        UINT NumBuffers,
 557        ID3D11Buffer **ppConstantBuffers,
 558        UINT *pFirstConstant,
 559        UINT *pNumConstants) = 0;
 560
 561    virtual void STDMETHODCALLTYPE GSGetConstantBuffers1(
 562        UINT StartSlot,
 563        UINT NumBuffers,
 564        ID3D11Buffer **ppConstantBuffers,
 565        UINT *pFirstConstant,
 566        UINT *pNumConstants) = 0;
 567
 568    virtual void STDMETHODCALLTYPE PSGetConstantBuffers1(
 569        UINT StartSlot,
 570        UINT NumBuffers,
 571        ID3D11Buffer **ppConstantBuffers,
 572        UINT *pFirstConstant,
 573        UINT *pNumConstants) = 0;
 574
 575    virtual void STDMETHODCALLTYPE CSGetConstantBuffers1(
 576        UINT StartSlot,
 577        UINT NumBuffers,
 578        ID3D11Buffer **ppConstantBuffers,
 579        UINT *pFirstConstant,
 580        UINT *pNumConstants) = 0;
 581
 582    virtual void STDMETHODCALLTYPE SwapDeviceContextState(
 583        ID3DDeviceContextState *pState,
 584        ID3DDeviceContextState **ppPreviousState) = 0;
 585
 586    virtual void STDMETHODCALLTYPE ClearView(
 587        ID3D11View *pView,
 588        const FLOAT Color[4],
 589        const D3D11_RECT *pRect,
 590        UINT NumRects) = 0;
 591
 592    virtual void STDMETHODCALLTYPE DiscardView1(
 593        ID3D11View *pResourceView,
 594        const D3D11_RECT *pRects,
 595        UINT NumRects) = 0;
 596
 597};
 598#ifdef __CRT_UUID_DECL
 599__CRT_UUID_DECL(ID3D11DeviceContext1, 0xbb2c6faa, 0xb5fb, 0x4082, 0x8e,0x6b, 0x38,0x8b,0x8c,0xfa,0x90,0xe1)
 600#endif
 601#else
 602typedef struct ID3D11DeviceContext1Vtbl {
 603    BEGIN_INTERFACE
 604
 605    /*** IUnknown methods ***/
 606    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 607        ID3D11DeviceContext1 *This,
 608        REFIID riid,
 609        void **ppvObject);
 610
 611    ULONG (STDMETHODCALLTYPE *AddRef)(
 612        ID3D11DeviceContext1 *This);
 613
 614    ULONG (STDMETHODCALLTYPE *Release)(
 615        ID3D11DeviceContext1 *This);
 616
 617    /*** ID3D11DeviceChild methods ***/
 618    void (STDMETHODCALLTYPE *GetDevice)(
 619        ID3D11DeviceContext1 *This,
 620        ID3D11Device **ppDevice);
 621
 622    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 623        ID3D11DeviceContext1 *This,
 624        REFGUID guid,
 625        UINT *pDataSize,
 626        void *pData);
 627
 628    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 629        ID3D11DeviceContext1 *This,
 630        REFGUID guid,
 631        UINT DataSize,
 632        const void *pData);
 633
 634    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 635        ID3D11DeviceContext1 *This,
 636        REFGUID guid,
 637        const IUnknown *pData);
 638
 639    /*** ID3D11DeviceContext methods ***/
 640    void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
 641        ID3D11DeviceContext1 *This,
 642        UINT StartSlot,
 643        UINT NumBuffers,
 644        ID3D11Buffer *const *ppConstantBuffers);
 645
 646    void (STDMETHODCALLTYPE *PSSetShaderResources)(
 647        ID3D11DeviceContext1 *This,
 648        UINT StartSlot,
 649        UINT NumViews,
 650        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 651
 652    void (STDMETHODCALLTYPE *PSSetShader)(
 653        ID3D11DeviceContext1 *This,
 654        ID3D11PixelShader *pPixelShader,
 655        ID3D11ClassInstance *const *ppClassInstances,
 656        UINT NumClassInstances);
 657
 658    void (STDMETHODCALLTYPE *PSSetSamplers)(
 659        ID3D11DeviceContext1 *This,
 660        UINT StartSlot,
 661        UINT NumSamplers,
 662        ID3D11SamplerState *const *ppSamplers);
 663
 664    void (STDMETHODCALLTYPE *VSSetShader)(
 665        ID3D11DeviceContext1 *This,
 666        ID3D11VertexShader *pVertexShader,
 667        ID3D11ClassInstance *const *ppClassInstances,
 668        UINT NumClassInstances);
 669
 670    void (STDMETHODCALLTYPE *DrawIndexed)(
 671        ID3D11DeviceContext1 *This,
 672        UINT IndexCount,
 673        UINT StartIndexLocation,
 674        INT BaseVertexLocation);
 675
 676    void (STDMETHODCALLTYPE *Draw)(
 677        ID3D11DeviceContext1 *This,
 678        UINT VertexCount,
 679        UINT StartVertexLocation);
 680
 681    HRESULT (STDMETHODCALLTYPE *Map)(
 682        ID3D11DeviceContext1 *This,
 683        ID3D11Resource *pResource,
 684        UINT Subresource,
 685        D3D11_MAP MapType,
 686        UINT MapFlags,
 687        D3D11_MAPPED_SUBRESOURCE *pMappedResource);
 688
 689    void (STDMETHODCALLTYPE *Unmap)(
 690        ID3D11DeviceContext1 *This,
 691        ID3D11Resource *pResource,
 692        UINT Subresource);
 693
 694    void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
 695        ID3D11DeviceContext1 *This,
 696        UINT StartSlot,
 697        UINT NumBuffers,
 698        ID3D11Buffer *const *ppConstantBuffers);
 699
 700    void (STDMETHODCALLTYPE *IASetInputLayout)(
 701        ID3D11DeviceContext1 *This,
 702        ID3D11InputLayout *pInputLayout);
 703
 704    void (STDMETHODCALLTYPE *IASetVertexBuffers)(
 705        ID3D11DeviceContext1 *This,
 706        UINT StartSlot,
 707        UINT NumBuffers,
 708        ID3D11Buffer *const *ppVertexBuffers,
 709        const UINT *pStrides,
 710        const UINT *pOffsets);
 711
 712    void (STDMETHODCALLTYPE *IASetIndexBuffer)(
 713        ID3D11DeviceContext1 *This,
 714        ID3D11Buffer *pIndexBuffer,
 715        DXGI_FORMAT Format,
 716        UINT Offset);
 717
 718    void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
 719        ID3D11DeviceContext1 *This,
 720        UINT IndexCountPerInstance,
 721        UINT InstanceCount,
 722        UINT StartIndexLocation,
 723        INT BaseVertexLocation,
 724        UINT StartInstanceLocation);
 725
 726    void (STDMETHODCALLTYPE *DrawInstanced)(
 727        ID3D11DeviceContext1 *This,
 728        UINT VertexCountPerInstance,
 729        UINT InstanceCount,
 730        UINT StartVertexLocation,
 731        UINT StartInstanceLocation);
 732
 733    void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
 734        ID3D11DeviceContext1 *This,
 735        UINT StartSlot,
 736        UINT NumBuffers,
 737        ID3D11Buffer *const *ppConstantBuffers);
 738
 739    void (STDMETHODCALLTYPE *GSSetShader)(
 740        ID3D11DeviceContext1 *This,
 741        ID3D11GeometryShader *pShader,
 742        ID3D11ClassInstance *const *ppClassInstances,
 743        UINT NumClassInstances);
 744
 745    void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
 746        ID3D11DeviceContext1 *This,
 747        D3D11_PRIMITIVE_TOPOLOGY Topology);
 748
 749    void (STDMETHODCALLTYPE *VSSetShaderResources)(
 750        ID3D11DeviceContext1 *This,
 751        UINT StartSlot,
 752        UINT NumViews,
 753        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 754
 755    void (STDMETHODCALLTYPE *VSSetSamplers)(
 756        ID3D11DeviceContext1 *This,
 757        UINT StartSlot,
 758        UINT NumSamplers,
 759        ID3D11SamplerState *const *ppSamplers);
 760
 761    void (STDMETHODCALLTYPE *Begin)(
 762        ID3D11DeviceContext1 *This,
 763        ID3D11Asynchronous *pAsync);
 764
 765    void (STDMETHODCALLTYPE *End)(
 766        ID3D11DeviceContext1 *This,
 767        ID3D11Asynchronous *pAsync);
 768
 769    HRESULT (STDMETHODCALLTYPE *GetData)(
 770        ID3D11DeviceContext1 *This,
 771        ID3D11Asynchronous *pAsync,
 772        void *pData,
 773        UINT DataSize,
 774        UINT GetDataFlags);
 775
 776    void (STDMETHODCALLTYPE *SetPredication)(
 777        ID3D11DeviceContext1 *This,
 778        ID3D11Predicate *pPredicate,
 779        WINBOOL PredicateValue);
 780
 781    void (STDMETHODCALLTYPE *GSSetShaderResources)(
 782        ID3D11DeviceContext1 *This,
 783        UINT StartSlot,
 784        UINT NumViews,
 785        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 786
 787    void (STDMETHODCALLTYPE *GSSetSamplers)(
 788        ID3D11DeviceContext1 *This,
 789        UINT StartSlot,
 790        UINT NumSamplers,
 791        ID3D11SamplerState *const *ppSamplers);
 792
 793    void (STDMETHODCALLTYPE *OMSetRenderTargets)(
 794        ID3D11DeviceContext1 *This,
 795        UINT NumViews,
 796        ID3D11RenderTargetView *const *ppRenderTargetViews,
 797        ID3D11DepthStencilView *pDepthStencilView);
 798
 799    void (STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews)(
 800        ID3D11DeviceContext1 *This,
 801        UINT NumRTVs,
 802        ID3D11RenderTargetView *const *ppRenderTargetViews,
 803        ID3D11DepthStencilView *pDepthStencilView,
 804        UINT UAVStartSlot,
 805        UINT NumUAVs,
 806        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
 807        const UINT *pUAVInitialCounts);
 808
 809    void (STDMETHODCALLTYPE *OMSetBlendState)(
 810        ID3D11DeviceContext1 *This,
 811        ID3D11BlendState *pBlendState,
 812        const FLOAT BlendFactor[4],
 813        UINT SampleMask);
 814
 815    void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
 816        ID3D11DeviceContext1 *This,
 817        ID3D11DepthStencilState *pDepthStencilState,
 818        UINT StencilRef);
 819
 820    void (STDMETHODCALLTYPE *SOSetTargets)(
 821        ID3D11DeviceContext1 *This,
 822        UINT NumBuffers,
 823        ID3D11Buffer *const *ppSOTargets,
 824        const UINT *pOffsets);
 825
 826    void (STDMETHODCALLTYPE *DrawAuto)(
 827        ID3D11DeviceContext1 *This);
 828
 829    void (STDMETHODCALLTYPE *DrawIndexedInstancedIndirect)(
 830        ID3D11DeviceContext1 *This,
 831        ID3D11Buffer *pBufferForArgs,
 832        UINT AlignedByteOffsetForArgs);
 833
 834    void (STDMETHODCALLTYPE *DrawInstancedIndirect)(
 835        ID3D11DeviceContext1 *This,
 836        ID3D11Buffer *pBufferForArgs,
 837        UINT AlignedByteOffsetForArgs);
 838
 839    void (STDMETHODCALLTYPE *Dispatch)(
 840        ID3D11DeviceContext1 *This,
 841        UINT ThreadGroupCountX,
 842        UINT ThreadGroupCountY,
 843        UINT ThreadGroupCountZ);
 844
 845    void (STDMETHODCALLTYPE *DispatchIndirect)(
 846        ID3D11DeviceContext1 *This,
 847        ID3D11Buffer *pBufferForArgs,
 848        UINT AlignedByteOffsetForArgs);
 849
 850    void (STDMETHODCALLTYPE *RSSetState)(
 851        ID3D11DeviceContext1 *This,
 852        ID3D11RasterizerState *pRasterizerState);
 853
 854    void (STDMETHODCALLTYPE *RSSetViewports)(
 855        ID3D11DeviceContext1 *This,
 856        UINT NumViewports,
 857        const D3D11_VIEWPORT *pViewports);
 858
 859    void (STDMETHODCALLTYPE *RSSetScissorRects)(
 860        ID3D11DeviceContext1 *This,
 861        UINT NumRects,
 862        const D3D11_RECT *pRects);
 863
 864    void (STDMETHODCALLTYPE *CopySubresourceRegion)(
 865        ID3D11DeviceContext1 *This,
 866        ID3D11Resource *pDstResource,
 867        UINT DstSubresource,
 868        UINT DstX,
 869        UINT DstY,
 870        UINT DstZ,
 871        ID3D11Resource *pSrcResource,
 872        UINT SrcSubresource,
 873        const D3D11_BOX *pSrcBox);
 874
 875    void (STDMETHODCALLTYPE *CopyResource)(
 876        ID3D11DeviceContext1 *This,
 877        ID3D11Resource *pDstResource,
 878        ID3D11Resource *pSrcResource);
 879
 880    void (STDMETHODCALLTYPE *UpdateSubresource)(
 881        ID3D11DeviceContext1 *This,
 882        ID3D11Resource *pDstResource,
 883        UINT DstSubresource,
 884        const D3D11_BOX *pDstBox,
 885        const void *pSrcData,
 886        UINT SrcRowPitch,
 887        UINT SrcDepthPitch);
 888
 889    void (STDMETHODCALLTYPE *CopyStructureCount)(
 890        ID3D11DeviceContext1 *This,
 891        ID3D11Buffer *pDstBuffer,
 892        UINT DstAlignedByteOffset,
 893        ID3D11UnorderedAccessView *pSrcView);
 894
 895    void (STDMETHODCALLTYPE *ClearRenderTargetView)(
 896        ID3D11DeviceContext1 *This,
 897        ID3D11RenderTargetView *pRenderTargetView,
 898        const FLOAT ColorRGBA[4]);
 899
 900    void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
 901        ID3D11DeviceContext1 *This,
 902        ID3D11UnorderedAccessView *pUnorderedAccessView,
 903        const UINT Values[4]);
 904
 905    void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
 906        ID3D11DeviceContext1 *This,
 907        ID3D11UnorderedAccessView *pUnorderedAccessView,
 908        const FLOAT Values[4]);
 909
 910    void (STDMETHODCALLTYPE *ClearDepthStencilView)(
 911        ID3D11DeviceContext1 *This,
 912        ID3D11DepthStencilView *pDepthStencilView,
 913        UINT ClearFlags,
 914        FLOAT Depth,
 915        UINT8 Stencil);
 916
 917    void (STDMETHODCALLTYPE *GenerateMips)(
 918        ID3D11DeviceContext1 *This,
 919        ID3D11ShaderResourceView *pShaderResourceView);
 920
 921    void (STDMETHODCALLTYPE *SetResourceMinLOD)(
 922        ID3D11DeviceContext1 *This,
 923        ID3D11Resource *pResource,
 924        FLOAT MinLOD);
 925
 926    FLOAT (STDMETHODCALLTYPE *GetResourceMinLOD)(
 927        ID3D11DeviceContext1 *This,
 928        ID3D11Resource *pResource);
 929
 930    void (STDMETHODCALLTYPE *ResolveSubresource)(
 931        ID3D11DeviceContext1 *This,
 932        ID3D11Resource *pDstResource,
 933        UINT DstSubresource,
 934        ID3D11Resource *pSrcResource,
 935        UINT SrcSubresource,
 936        DXGI_FORMAT Format);
 937
 938    void (STDMETHODCALLTYPE *ExecuteCommandList)(
 939        ID3D11DeviceContext1 *This,
 940        ID3D11CommandList *pCommandList,
 941        WINBOOL RestoreContextState);
 942
 943    void (STDMETHODCALLTYPE *HSSetShaderResources)(
 944        ID3D11DeviceContext1 *This,
 945        UINT StartSlot,
 946        UINT NumViews,
 947        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 948
 949    void (STDMETHODCALLTYPE *HSSetShader)(
 950        ID3D11DeviceContext1 *This,
 951        ID3D11HullShader *pHullShader,
 952        ID3D11ClassInstance *const *ppClassInstances,
 953        UINT NumClassInstances);
 954
 955    void (STDMETHODCALLTYPE *HSSetSamplers)(
 956        ID3D11DeviceContext1 *This,
 957        UINT StartSlot,
 958        UINT NumSamplers,
 959        ID3D11SamplerState *const *ppSamplers);
 960
 961    void (STDMETHODCALLTYPE *HSSetConstantBuffers)(
 962        ID3D11DeviceContext1 *This,
 963        UINT StartSlot,
 964        UINT NumBuffers,
 965        ID3D11Buffer *const *ppConstantBuffers);
 966
 967    void (STDMETHODCALLTYPE *DSSetShaderResources)(
 968        ID3D11DeviceContext1 *This,
 969        UINT StartSlot,
 970        UINT NumViews,
 971        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 972
 973    void (STDMETHODCALLTYPE *DSSetShader)(
 974        ID3D11DeviceContext1 *This,
 975        ID3D11DomainShader *pDomainShader,
 976        ID3D11ClassInstance *const *ppClassInstances,
 977        UINT NumClassInstances);
 978
 979    void (STDMETHODCALLTYPE *DSSetSamplers)(
 980        ID3D11DeviceContext1 *This,
 981        UINT StartSlot,
 982        UINT NumSamplers,
 983        ID3D11SamplerState *const *ppSamplers);
 984
 985    void (STDMETHODCALLTYPE *DSSetConstantBuffers)(
 986        ID3D11DeviceContext1 *This,
 987        UINT StartSlot,
 988        UINT NumBuffers,
 989        ID3D11Buffer *const *ppConstantBuffers);
 990
 991    void (STDMETHODCALLTYPE *CSSetShaderResources)(
 992        ID3D11DeviceContext1 *This,
 993        UINT StartSlot,
 994        UINT NumViews,
 995        ID3D11ShaderResourceView *const *ppShaderResourceViews);
 996
 997    void (STDMETHODCALLTYPE *CSSetUnorderedAccessViews)(
 998        ID3D11DeviceContext1 *This,
 999        UINT StartSlot,
1000        UINT NumUAVs,
1001        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
1002        const UINT *pUAVInitialCounts);
1003
1004    void (STDMETHODCALLTYPE *CSSetShader)(
1005        ID3D11DeviceContext1 *This,
1006        ID3D11ComputeShader *pComputeShader,
1007        ID3D11ClassInstance *const *ppClassInstances,
1008        UINT NumClassInstances);
1009
1010    void (STDMETHODCALLTYPE *CSSetSamplers)(
1011        ID3D11DeviceContext1 *This,
1012        UINT StartSlot,
1013        UINT NumSamplers,
1014        ID3D11SamplerState *const *ppSamplers);
1015
1016    void (STDMETHODCALLTYPE *CSSetConstantBuffers)(
1017        ID3D11DeviceContext1 *This,
1018        UINT StartSlot,
1019        UINT NumBuffers,
1020        ID3D11Buffer *const *ppConstantBuffers);
1021
1022    void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
1023        ID3D11DeviceContext1 *This,
1024        UINT StartSlot,
1025        UINT NumBuffers,
1026        ID3D11Buffer **ppConstantBuffers);
1027
1028    void (STDMETHODCALLTYPE *PSGetShaderResources)(
1029        ID3D11DeviceContext1 *This,
1030        UINT StartSlot,
1031        UINT NumViews,
1032        ID3D11ShaderResourceView **ppShaderResourceViews);
1033
1034    void (STDMETHODCALLTYPE *PSGetShader)(
1035        ID3D11DeviceContext1 *This,
1036        ID3D11PixelShader **ppPixelShader,
1037        ID3D11ClassInstance **ppClassInstances,
1038        UINT *pNumClassInstances);
1039
1040    void (STDMETHODCALLTYPE *PSGetSamplers)(
1041        ID3D11DeviceContext1 *This,
1042        UINT StartSlot,
1043        UINT NumSamplers,
1044        ID3D11SamplerState **ppSamplers);
1045
1046    void (STDMETHODCALLTYPE *VSGetShader)(
1047        ID3D11DeviceContext1 *This,
1048        ID3D11VertexShader **ppVertexShader,
1049        ID3D11ClassInstance **ppClassInstances,
1050        UINT *pNumClassInstances);
1051
1052    void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
1053        ID3D11DeviceContext1 *This,
1054        UINT StartSlot,
1055        UINT NumBuffers,
1056        ID3D11Buffer **ppConstantBuffers);
1057
1058    void (STDMETHODCALLTYPE *IAGetInputLayout)(
1059        ID3D11DeviceContext1 *This,
1060        ID3D11InputLayout **ppInputLayout);
1061
1062    void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
1063        ID3D11DeviceContext1 *This,
1064        UINT StartSlot,
1065        UINT NumBuffers,
1066        ID3D11Buffer **ppVertexBuffers,
1067        UINT *pStrides,
1068        UINT *pOffsets);
1069
1070    void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
1071        ID3D11DeviceContext1 *This,
1072        ID3D11Buffer **pIndexBuffer,
1073        DXGI_FORMAT *Format,
1074        UINT *Offset);
1075
1076    void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
1077        ID3D11DeviceContext1 *This,
1078        UINT StartSlot,
1079        UINT NumBuffers,
1080        ID3D11Buffer **ppConstantBuffers);
1081
1082    void (STDMETHODCALLTYPE *GSGetShader)(
1083        ID3D11DeviceContext1 *This,
1084        ID3D11GeometryShader **ppGeometryShader,
1085        ID3D11ClassInstance **ppClassInstances,
1086        UINT *pNumClassInstances);
1087
1088    void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
1089        ID3D11DeviceContext1 *This,
1090        D3D11_PRIMITIVE_TOPOLOGY *pTopology);
1091
1092    void (STDMETHODCALLTYPE *VSGetShaderResources)(
1093        ID3D11DeviceContext1 *This,
1094        UINT StartSlot,
1095        UINT NumViews,
1096        ID3D11ShaderResourceView **ppShaderResourceViews);
1097
1098    void (STDMETHODCALLTYPE *VSGetSamplers)(
1099        ID3D11DeviceContext1 *This,
1100        UINT StartSlot,
1101        UINT NumSamplers,
1102        ID3D11SamplerState **ppSamplers);
1103
1104    void (STDMETHODCALLTYPE *GetPredication)(
1105        ID3D11DeviceContext1 *This,
1106        ID3D11Predicate **ppPredicate,
1107        WINBOOL *pPredicateValue);
1108
1109    void (STDMETHODCALLTYPE *GSGetShaderResources)(
1110        ID3D11DeviceContext1 *This,
1111        UINT StartSlot,
1112        UINT NumViews,
1113        ID3D11ShaderResourceView **ppShaderResourceViews);
1114
1115    void (STDMETHODCALLTYPE *GSGetSamplers)(
1116        ID3D11DeviceContext1 *This,
1117        UINT StartSlot,
1118        UINT NumSamplers,
1119        ID3D11SamplerState **ppSamplers);
1120
1121    void (STDMETHODCALLTYPE *OMGetRenderTargets)(
1122        ID3D11DeviceContext1 *This,
1123        UINT NumViews,
1124        ID3D11RenderTargetView **ppRenderTargetViews,
1125        ID3D11DepthStencilView **ppDepthStencilView);
1126
1127    void (STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews)(
1128        ID3D11DeviceContext1 *This,
1129        UINT NumRTVs,
1130        ID3D11RenderTargetView **ppRenderTargetViews,
1131        ID3D11DepthStencilView **ppDepthStencilView,
1132        UINT UAVStartSlot,
1133        UINT NumUAVs,
1134        ID3D11UnorderedAccessView **ppUnorderedAccessViews);
1135
1136    void (STDMETHODCALLTYPE *OMGetBlendState)(
1137        ID3D11DeviceContext1 *This,
1138        ID3D11BlendState **ppBlendState,
1139        FLOAT BlendFactor[4],
1140        UINT *pSampleMask);
1141
1142    void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
1143        ID3D11DeviceContext1 *This,
1144        ID3D11DepthStencilState **ppDepthStencilState,
1145        UINT *pStencilRef);
1146
1147    void (STDMETHODCALLTYPE *SOGetTargets)(
1148        ID3D11DeviceContext1 *This,
1149        UINT NumBuffers,
1150        ID3D11Buffer **ppSOTargets);
1151
1152    void (STDMETHODCALLTYPE *RSGetState)(
1153        ID3D11DeviceContext1 *This,
1154        ID3D11RasterizerState **ppRasterizerState);
1155
1156    void (STDMETHODCALLTYPE *RSGetViewports)(
1157        ID3D11DeviceContext1 *This,
1158        UINT *pNumViewports,
1159        D3D11_VIEWPORT *pViewports);
1160
1161    void (STDMETHODCALLTYPE *RSGetScissorRects)(
1162        ID3D11DeviceContext1 *This,
1163        UINT *pNumRects,
1164        D3D11_RECT *pRects);
1165
1166    void (STDMETHODCALLTYPE *HSGetShaderResources)(
1167        ID3D11DeviceContext1 *This,
1168        UINT StartSlot,
1169        UINT NumViews,
1170        ID3D11ShaderResourceView **ppShaderResourceViews);
1171
1172    void (STDMETHODCALLTYPE *HSGetShader)(
1173        ID3D11DeviceContext1 *This,
1174        ID3D11HullShader **ppHullShader,
1175        ID3D11ClassInstance **ppClassInstances,
1176        UINT *pNumClassInstances);
1177
1178    void (STDMETHODCALLTYPE *HSGetSamplers)(
1179        ID3D11DeviceContext1 *This,
1180        UINT StartSlot,
1181        UINT NumSamplers,
1182        ID3D11SamplerState **ppSamplers);
1183
1184    void (STDMETHODCALLTYPE *HSGetConstantBuffers)(
1185        ID3D11DeviceContext1 *This,
1186        UINT StartSlot,
1187        UINT NumBuffers,
1188        ID3D11Buffer **ppConstantBuffers);
1189
1190    void (STDMETHODCALLTYPE *DSGetShaderResources)(
1191        ID3D11DeviceContext1 *This,
1192        UINT StartSlot,
1193        UINT NumViews,
1194        ID3D11ShaderResourceView **ppShaderResourceViews);
1195
1196    void (STDMETHODCALLTYPE *DSGetShader)(
1197        ID3D11DeviceContext1 *This,
1198        ID3D11DomainShader **ppDomainShader,
1199        ID3D11ClassInstance **ppClassInstances,
1200        UINT *pNumClassInstances);
1201
1202    void (STDMETHODCALLTYPE *DSGetSamplers)(
1203        ID3D11DeviceContext1 *This,
1204        UINT StartSlot,
1205        UINT NumSamplers,
1206        ID3D11SamplerState **ppSamplers);
1207
1208    void (STDMETHODCALLTYPE *DSGetConstantBuffers)(
1209        ID3D11DeviceContext1 *This,
1210        UINT StartSlot,
1211        UINT NumBuffers,
1212        ID3D11Buffer **ppConstantBuffers);
1213
1214    void (STDMETHODCALLTYPE *CSGetShaderResources)(
1215        ID3D11DeviceContext1 *This,
1216        UINT StartSlot,
1217        UINT NumViews,
1218        ID3D11ShaderResourceView **ppShaderResourceViews);
1219
1220    void (STDMETHODCALLTYPE *CSGetUnorderedAccessViews)(
1221        ID3D11DeviceContext1 *This,
1222        UINT StartSlot,
1223        UINT NumUAVs,
1224        ID3D11UnorderedAccessView **ppUnorderedAccessViews);
1225
1226    void (STDMETHODCALLTYPE *CSGetShader)(
1227        ID3D11DeviceContext1 *This,
1228        ID3D11ComputeShader **ppComputeShader,
1229        ID3D11ClassInstance **ppClassInstances,
1230        UINT *pNumClassInstances);
1231
1232    void (STDMETHODCALLTYPE *CSGetSamplers)(
1233        ID3D11DeviceContext1 *This,
1234        UINT StartSlot,
1235        UINT NumSamplers,
1236        ID3D11SamplerState **ppSamplers);
1237
1238    void (STDMETHODCALLTYPE *CSGetConstantBuffers)(
1239        ID3D11DeviceContext1 *This,
1240        UINT StartSlot,
1241        UINT NumBuffers,
1242        ID3D11Buffer **ppConstantBuffers);
1243
1244    void (STDMETHODCALLTYPE *ClearState)(
1245        ID3D11DeviceContext1 *This);
1246
1247    void (STDMETHODCALLTYPE *Flush)(
1248        ID3D11DeviceContext1 *This);
1249
1250    D3D11_DEVICE_CONTEXT_TYPE (STDMETHODCALLTYPE *GetType)(
1251        ID3D11DeviceContext1 *This);
1252
1253    UINT (STDMETHODCALLTYPE *GetContextFlags)(
1254        ID3D11DeviceContext1 *This);
1255
1256    HRESULT (STDMETHODCALLTYPE *FinishCommandList)(
1257        ID3D11DeviceContext1 *This,
1258        WINBOOL RestoreDeferredContextState,
1259        ID3D11CommandList **ppCommandList);
1260
1261    /*** ID3D11DeviceContext1 methods ***/
1262    void (STDMETHODCALLTYPE *CopySubresourceRegion1)(
1263        ID3D11DeviceContext1 *This,
1264        ID3D11Resource *pDstResource,
1265        UINT DstSubresource,
1266        UINT DstX,
1267        UINT DstY,
1268        UINT DstZ,
1269        ID3D11Resource *pSrcResource,
1270        UINT SrcSubresource,
1271        const D3D11_BOX *pSrcBox,
1272        UINT CopyFlags);
1273
1274    void (STDMETHODCALLTYPE *UpdateSubresource1)(
1275        ID3D11DeviceContext1 *This,
1276        ID3D11Resource *pDstResource,
1277        UINT DstSubresource,
1278        const D3D11_BOX *pDstBox,
1279        const void *pSrcData,
1280        UINT SrcRowPitch,
1281        UINT SrcDepthPitch,
1282        UINT CopyFlags);
1283
1284    void (STDMETHODCALLTYPE *DiscardResource)(
1285        ID3D11DeviceContext1 *This,
1286        ID3D11Resource *pResource);
1287
1288    void (STDMETHODCALLTYPE *DiscardView)(
1289        ID3D11DeviceContext1 *This,
1290        ID3D11View *pResourceView);
1291
1292    void (STDMETHODCALLTYPE *VSSetConstantBuffers1)(
1293        ID3D11DeviceContext1 *This,
1294        UINT StartSlot,
1295        UINT NumBuffers,
1296        ID3D11Buffer *const *ppConstantBuffers,
1297        const UINT *pFirstConstant,
1298        const UINT *pNumConstants);
1299
1300    void (STDMETHODCALLTYPE *HSSetConstantBuffers1)(
1301        ID3D11DeviceContext1 *This,
1302        UINT StartSlot,
1303        UINT NumBuffers,
1304        ID3D11Buffer *const *ppConstantBuffers,
1305        const UINT *pFirstConstant,
1306        const UINT *pNumConstants);
1307
1308    void (STDMETHODCALLTYPE *DSSetConstantBuffers1)(
1309        ID3D11DeviceContext1 *This,
1310        UINT StartSlot,
1311        UINT NumBuffers,
1312        ID3D11Buffer *const *ppConstantBuffers,
1313        const UINT *pFirstConstant,
1314        const UINT *pNumConstants);
1315
1316    void (STDMETHODCALLTYPE *GSSetConstantBuffers1)(
1317        ID3D11DeviceContext1 *This,
1318        UINT StartSlot,
1319        UINT NumBuffers,
1320        ID3D11Buffer *const *ppConstantBuffers,
1321        const UINT *pFirstConstant,
1322        const UINT *pNumConstants);
1323
1324    void (STDMETHODCALLTYPE *PSSetConstantBuffers1)(
1325        ID3D11DeviceContext1 *This,
1326        UINT StartSlot,
1327        UINT NumBuffers,
1328        ID3D11Buffer *const *ppConstantBuffers,
1329        const UINT *pFirstConstant,
1330        const UINT *pNumConstants);
1331
1332    void (STDMETHODCALLTYPE *CSSetConstantBuffers1)(
1333        ID3D11DeviceContext1 *This,
1334        UINT StartSlot,
1335        UINT NumBuffers,
1336        ID3D11Buffer *const *ppConstantBuffers,
1337        const UINT *pFirstConstant,
1338        const UINT *pNumConstants);
1339
1340    void (STDMETHODCALLTYPE *VSGetConstantBuffers1)(
1341        ID3D11DeviceContext1 *This,
1342        UINT StartSlot,
1343        UINT NumBuffers,
1344        ID3D11Buffer **ppConstantBuffers,
1345        UINT *pFirstConstant,
1346        UINT *pNumConstants);
1347
1348    void (STDMETHODCALLTYPE *HSGetConstantBuffers1)(
1349        ID3D11DeviceContext1 *This,
1350        UINT StartSlot,
1351        UINT NumBuffers,
1352        ID3D11Buffer **ppConstantBuffers,
1353        UINT *pFirstConstant,
1354        UINT *pNumConstants);
1355
1356    void (STDMETHODCALLTYPE *DSGetConstantBuffers1)(
1357        ID3D11DeviceContext1 *This,
1358        UINT StartSlot,
1359        UINT NumBuffers,
1360        ID3D11Buffer **ppConstantBuffers,
1361        UINT *pFirstConstant,
1362        UINT *pNumConstants);
1363
1364    void (STDMETHODCALLTYPE *GSGetConstantBuffers1)(
1365        ID3D11DeviceContext1 *This,
1366        UINT StartSlot,
1367        UINT NumBuffers,
1368        ID3D11Buffer **ppConstantBuffers,
1369        UINT *pFirstConstant,
1370        UINT *pNumConstants);
1371
1372    void (STDMETHODCALLTYPE *PSGetConstantBuffers1)(
1373        ID3D11DeviceContext1 *This,
1374        UINT StartSlot,
1375        UINT NumBuffers,
1376        ID3D11Buffer **ppConstantBuffers,
1377        UINT *pFirstConstant,
1378        UINT *pNumConstants);
1379
1380    void (STDMETHODCALLTYPE *CSGetConstantBuffers1)(
1381        ID3D11DeviceContext1 *This,
1382        UINT StartSlot,
1383        UINT NumBuffers,
1384        ID3D11Buffer **ppConstantBuffers,
1385        UINT *pFirstConstant,
1386        UINT *pNumConstants);
1387
1388    void (STDMETHODCALLTYPE *SwapDeviceContextState)(
1389        ID3D11DeviceContext1 *This,
1390        ID3DDeviceContextState *pState,
1391        ID3DDeviceContextState **ppPreviousState);
1392
1393    void (STDMETHODCALLTYPE *ClearView)(
1394        ID3D11DeviceContext1 *This,
1395        ID3D11View *pView,
1396        const FLOAT Color[4],
1397        const D3D11_RECT *pRect,
1398        UINT NumRects);
1399
1400    void (STDMETHODCALLTYPE *DiscardView1)(
1401        ID3D11DeviceContext1 *This,
1402        ID3D11View *pResourceView,
1403        const D3D11_RECT *pRects,
1404        UINT NumRects);
1405
1406    END_INTERFACE
1407} ID3D11DeviceContext1Vtbl;
1408
1409interface ID3D11DeviceContext1 {
1410    CONST_VTBL ID3D11DeviceContext1Vtbl* lpVtbl;
1411};
1412
1413#ifdef COBJMACROS
1414#ifndef WIDL_C_INLINE_WRAPPERS
1415/*** IUnknown methods ***/
1416#define ID3D11DeviceContext1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1417#define ID3D11DeviceContext1_AddRef(This) (This)->lpVtbl->AddRef(This)
1418#define ID3D11DeviceContext1_Release(This) (This)->lpVtbl->Release(This)
1419/*** ID3D11DeviceChild methods ***/
1420#define ID3D11DeviceContext1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
1421#define ID3D11DeviceContext1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
1422#define ID3D11DeviceContext1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
1423#define ID3D11DeviceContext1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
1424/*** ID3D11DeviceContext methods ***/
1425#define ID3D11DeviceContext1_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1426#define ID3D11DeviceContext1_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1427#define ID3D11DeviceContext1_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances)
1428#define ID3D11DeviceContext1_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1429#define ID3D11DeviceContext1_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances)
1430#define ID3D11DeviceContext1_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
1431#define ID3D11DeviceContext1_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
1432#define ID3D11DeviceContext1_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) (This)->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource)
1433#define ID3D11DeviceContext1_Unmap(This,pResource,Subresource) (This)->lpVtbl->Unmap(This,pResource,Subresource)
1434#define ID3D11DeviceContext1_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1435#define ID3D11DeviceContext1_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
1436#define ID3D11DeviceContext1_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
1437#define ID3D11DeviceContext1_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
1438#define ID3D11DeviceContext1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
1439#define ID3D11DeviceContext1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
1440#define ID3D11DeviceContext1_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1441#define ID3D11DeviceContext1_GSSetShader(This,pShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances)
1442#define ID3D11DeviceContext1_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
1443#define ID3D11DeviceContext1_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1444#define ID3D11DeviceContext1_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1445#define ID3D11DeviceContext1_Begin(This,pAsync) (This)->lpVtbl->Begin(This,pAsync)
1446#define ID3D11DeviceContext1_End(This,pAsync) (This)->lpVtbl->End(This,pAsync)
1447#define ID3D11DeviceContext1_GetData(This,pAsync,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags)
1448#define ID3D11DeviceContext1_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
1449#define ID3D11DeviceContext1_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1450#define ID3D11DeviceContext1_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1451#define ID3D11DeviceContext1_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
1452#define ID3D11DeviceContext1_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
1453#define ID3D11DeviceContext1_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
1454#define ID3D11DeviceContext1_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
1455#define ID3D11DeviceContext1_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
1456#define ID3D11DeviceContext1_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
1457#define ID3D11DeviceContext1_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
1458#define ID3D11DeviceContext1_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
1459#define ID3D11DeviceContext1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) (This)->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)
1460#define ID3D11DeviceContext1_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
1461#define ID3D11DeviceContext1_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
1462#define ID3D11DeviceContext1_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
1463#define ID3D11DeviceContext1_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
1464#define ID3D11DeviceContext1_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
1465#define ID3D11DeviceContext1_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
1466#define ID3D11DeviceContext1_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
1467#define ID3D11DeviceContext1_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) (This)->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView)
1468#define ID3D11DeviceContext1_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
1469#define ID3D11DeviceContext1_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values)
1470#define ID3D11DeviceContext1_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values)
1471#define ID3D11DeviceContext1_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
1472#define ID3D11DeviceContext1_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
1473#define ID3D11DeviceContext1_SetResourceMinLOD(This,pResource,MinLOD) (This)->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD)
1474#define ID3D11DeviceContext1_GetResourceMinLOD(This,pResource) (This)->lpVtbl->GetResourceMinLOD(This,pResource)
1475#define ID3D11DeviceContext1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
1476#define ID3D11DeviceContext1_ExecuteCommandList(This,pCommandList,RestoreContextState) (This)->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState)
1477#define ID3D11DeviceContext1_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1478#define ID3D11DeviceContext1_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances)
1479#define ID3D11DeviceContext1_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1480#define ID3D11DeviceContext1_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1481#define ID3D11DeviceContext1_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1482#define ID3D11DeviceContext1_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances)
1483#define ID3D11DeviceContext1_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1484#define ID3D11DeviceContext1_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1485#define ID3D11DeviceContext1_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1486#define ID3D11DeviceContext1_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
1487#define ID3D11DeviceContext1_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances)
1488#define ID3D11DeviceContext1_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1489#define ID3D11DeviceContext1_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1490#define ID3D11DeviceContext1_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1491#define ID3D11DeviceContext1_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1492#define ID3D11DeviceContext1_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances)
1493#define ID3D11DeviceContext1_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1494#define ID3D11DeviceContext1_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances)
1495#define ID3D11DeviceContext1_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1496#define ID3D11DeviceContext1_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
1497#define ID3D11DeviceContext1_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
1498#define ID3D11DeviceContext1_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
1499#define ID3D11DeviceContext1_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1500#define ID3D11DeviceContext1_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances)
1501#define ID3D11DeviceContext1_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
1502#define ID3D11DeviceContext1_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1503#define ID3D11DeviceContext1_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1504#define ID3D11DeviceContext1_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
1505#define ID3D11DeviceContext1_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1506#define ID3D11DeviceContext1_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1507#define ID3D11DeviceContext1_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
1508#define ID3D11DeviceContext1_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews)
1509#define ID3D11DeviceContext1_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
1510#define ID3D11DeviceContext1_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
1511#define ID3D11DeviceContext1_SOGetTargets(This,NumBuffers,ppSOTargets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets)
1512#define ID3D11DeviceContext1_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
1513#define ID3D11DeviceContext1_RSGetViewports(This,pNumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,pNumViewports,pViewports)
1514#define ID3D11DeviceContext1_RSGetScissorRects(This,pNumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,pNumRects,pRects)
1515#define ID3D11DeviceContext1_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1516#define ID3D11DeviceContext1_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances)
1517#define ID3D11DeviceContext1_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1518#define ID3D11DeviceContext1_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1519#define ID3D11DeviceContext1_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1520#define ID3D11DeviceContext1_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances)
1521#define ID3D11DeviceContext1_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1522#define ID3D11DeviceContext1_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1523#define ID3D11DeviceContext1_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
1524#define ID3D11DeviceContext1_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews)
1525#define ID3D11DeviceContext1_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances)
1526#define ID3D11DeviceContext1_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
1527#define ID3D11DeviceContext1_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
1528#define ID3D11DeviceContext1_ClearState(This) (This)->lpVtbl->ClearState(This)
1529#define ID3D11DeviceContext1_Flush(This) (This)->lpVtbl->Flush(This)
1530#define ID3D11DeviceContext1_GetType(This) (This)->lpVtbl->GetType(This)
1531#define ID3D11DeviceContext1_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
1532#define ID3D11DeviceContext1_FinishCommandList(This,RestoreDeferredContextState,ppCommandList) (This)->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList)
1533/*** ID3D11DeviceContext1 methods ***/
1534#define ID3D11DeviceContext1_CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags) (This)->lpVtbl->CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags)
1535#define ID3D11DeviceContext1_UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags) (This)->lpVtbl->UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags)
1536#define ID3D11DeviceContext1_DiscardResource(This,pResource) (This)->lpVtbl->DiscardResource(This,pResource)
1537#define ID3D11DeviceContext1_DiscardView(This,pResourceView) (This)->lpVtbl->DiscardView(This,pResourceView)
1538#define ID3D11DeviceContext1_VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1539#define ID3D11DeviceContext1_HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1540#define ID3D11DeviceContext1_DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1541#define ID3D11DeviceContext1_GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1542#define ID3D11DeviceContext1_PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1543#define ID3D11DeviceContext1_CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1544#define ID3D11DeviceContext1_VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1545#define ID3D11DeviceContext1_HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1546#define ID3D11DeviceContext1_DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1547#define ID3D11DeviceContext1_GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1548#define ID3D11DeviceContext1_PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1549#define ID3D11DeviceContext1_CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
1550#define ID3D11DeviceContext1_SwapDeviceContextState(This,pState,ppPreviousState) (This)->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState)
1551#define ID3D11DeviceContext1_ClearView(This,pView,Color,pRect,NumRects) (This)->lpVtbl->ClearView(This,pView,Color,pRect,NumRects)
1552#define ID3D11DeviceContext1_DiscardView1(This,pResourceView,pRects,NumRects) (This)->lpVtbl->DiscardView1(This,pResourceView,pRects,NumRects)
1553#else
1554/*** IUnknown methods ***/
1555static inline HRESULT ID3D11DeviceContext1_QueryInterface(ID3D11DeviceContext1* This,REFIID riid,void **ppvObject) {
1556    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1557}
1558static inline ULONG ID3D11DeviceContext1_AddRef(ID3D11DeviceContext1* This) {
1559    return This->lpVtbl->AddRef(This);
1560}
1561static inline ULONG ID3D11DeviceContext1_Release(ID3D11DeviceContext1* This) {
1562    return This->lpVtbl->Release(This);
1563}
1564/*** ID3D11DeviceChild methods ***/
1565static inline void ID3D11DeviceContext1_GetDevice(ID3D11DeviceContext1* This,ID3D11Device **ppDevice) {
1566    This->lpVtbl->GetDevice(This,ppDevice);
1567}
1568static inline HRESULT ID3D11DeviceContext1_GetPrivateData(ID3D11DeviceContext1* This,REFGUID guid,UINT *pDataSize,void *pData) {
1569    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
1570}
1571static inline HRESULT ID3D11DeviceContext1_SetPrivateData(ID3D11DeviceContext1* This,REFGUID guid,UINT DataSize,const void *pData) {
1572    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
1573}
1574static inline HRESULT ID3D11DeviceContext1_SetPrivateDataInterface(ID3D11DeviceContext1* This,REFGUID guid,const IUnknown *pData) {
1575    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
1576}
1577/*** ID3D11DeviceContext methods ***/
1578static inline void ID3D11DeviceContext1_VSSetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1579    This->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1580}
1581static inline void ID3D11DeviceContext1_PSSetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1582    This->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1583}
1584static inline void ID3D11DeviceContext1_PSSetShader(ID3D11DeviceContext1* This,ID3D11PixelShader *pPixelShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1585    This->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances);
1586}
1587static inline void ID3D11DeviceContext1_PSSetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1588    This->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1589}
1590static inline void ID3D11DeviceContext1_VSSetShader(ID3D11DeviceContext1* This,ID3D11VertexShader *pVertexShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1591    This->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances);
1592}
1593static inline void ID3D11DeviceContext1_DrawIndexed(ID3D11DeviceContext1* This,UINT IndexCount,UINT StartIndexLocation,INT BaseVertexLocation) {
1594    This->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation);
1595}
1596static inline void ID3D11DeviceContext1_Draw(ID3D11DeviceContext1* This,UINT VertexCount,UINT StartVertexLocation) {
1597    This->lpVtbl->Draw(This,VertexCount,StartVertexLocation);
1598}
1599static inline HRESULT ID3D11DeviceContext1_Map(ID3D11DeviceContext1* This,ID3D11Resource *pResource,UINT Subresource,D3D11_MAP MapType,UINT MapFlags,D3D11_MAPPED_SUBRESOURCE *pMappedResource) {
1600    return This->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource);
1601}
1602static inline void ID3D11DeviceContext1_Unmap(ID3D11DeviceContext1* This,ID3D11Resource *pResource,UINT Subresource) {
1603    This->lpVtbl->Unmap(This,pResource,Subresource);
1604}
1605static inline void ID3D11DeviceContext1_PSSetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1606    This->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1607}
1608static inline void ID3D11DeviceContext1_IASetInputLayout(ID3D11DeviceContext1* This,ID3D11InputLayout *pInputLayout) {
1609    This->lpVtbl->IASetInputLayout(This,pInputLayout);
1610}
1611static inline void ID3D11DeviceContext1_IASetVertexBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppVertexBuffers,const UINT *pStrides,const UINT *pOffsets) {
1612    This->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
1613}
1614static inline void ID3D11DeviceContext1_IASetIndexBuffer(ID3D11DeviceContext1* This,ID3D11Buffer *pIndexBuffer,DXGI_FORMAT Format,UINT Offset) {
1615    This->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset);
1616}
1617static inline void ID3D11DeviceContext1_DrawIndexedInstanced(ID3D11DeviceContext1* This,UINT IndexCountPerInstance,UINT InstanceCount,UINT StartIndexLocation,INT BaseVertexLocation,UINT StartInstanceLocation) {
1618    This->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation);
1619}
1620static inline void ID3D11DeviceContext1_DrawInstanced(ID3D11DeviceContext1* This,UINT VertexCountPerInstance,UINT InstanceCount,UINT StartVertexLocation,UINT StartInstanceLocation) {
1621    This->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation);
1622}
1623static inline void ID3D11DeviceContext1_GSSetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1624    This->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1625}
1626static inline void ID3D11DeviceContext1_GSSetShader(ID3D11DeviceContext1* This,ID3D11GeometryShader *pShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1627    This->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances);
1628}
1629static inline void ID3D11DeviceContext1_IASetPrimitiveTopology(ID3D11DeviceContext1* This,D3D11_PRIMITIVE_TOPOLOGY Topology) {
1630    This->lpVtbl->IASetPrimitiveTopology(This,Topology);
1631}
1632static inline void ID3D11DeviceContext1_VSSetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1633    This->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1634}
1635static inline void ID3D11DeviceContext1_VSSetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1636    This->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1637}
1638static inline void ID3D11DeviceContext1_Begin(ID3D11DeviceContext1* This,ID3D11Asynchronous *pAsync) {
1639    This->lpVtbl->Begin(This,pAsync);
1640}
1641static inline void ID3D11DeviceContext1_End(ID3D11DeviceContext1* This,ID3D11Asynchronous *pAsync) {
1642    This->lpVtbl->End(This,pAsync);
1643}
1644static inline HRESULT ID3D11DeviceContext1_GetData(ID3D11DeviceContext1* This,ID3D11Asynchronous *pAsync,void *pData,UINT DataSize,UINT GetDataFlags) {
1645    return This->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags);
1646}
1647static inline void ID3D11DeviceContext1_SetPredication(ID3D11DeviceContext1* This,ID3D11Predicate *pPredicate,WINBOOL PredicateValue) {
1648    This->lpVtbl->SetPredication(This,pPredicate,PredicateValue);
1649}
1650static inline void ID3D11DeviceContext1_GSSetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1651    This->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1652}
1653static inline void ID3D11DeviceContext1_GSSetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1654    This->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1655}
1656static inline void ID3D11DeviceContext1_OMSetRenderTargets(ID3D11DeviceContext1* This,UINT NumViews,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView) {
1657    This->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView);
1658}
1659static inline void ID3D11DeviceContext1_OMSetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext1* This,UINT NumRTVs,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
1660    This->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
1661}
1662static inline void ID3D11DeviceContext1_OMSetBlendState(ID3D11DeviceContext1* This,ID3D11BlendState *pBlendState,const FLOAT BlendFactor[4],UINT SampleMask) {
1663    This->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask);
1664}
1665static inline void ID3D11DeviceContext1_OMSetDepthStencilState(ID3D11DeviceContext1* This,ID3D11DepthStencilState *pDepthStencilState,UINT StencilRef) {
1666    This->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef);
1667}
1668static inline void ID3D11DeviceContext1_SOSetTargets(ID3D11DeviceContext1* This,UINT NumBuffers,ID3D11Buffer *const *ppSOTargets,const UINT *pOffsets) {
1669    This->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets);
1670}
1671static inline void ID3D11DeviceContext1_DrawAuto(ID3D11DeviceContext1* This) {
1672    This->lpVtbl->DrawAuto(This);
1673}
1674static inline void ID3D11DeviceContext1_DrawIndexedInstancedIndirect(ID3D11DeviceContext1* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
1675    This->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
1676}
1677static inline void ID3D11DeviceContext1_DrawInstancedIndirect(ID3D11DeviceContext1* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
1678    This->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
1679}
1680static inline void ID3D11DeviceContext1_Dispatch(ID3D11DeviceContext1* This,UINT ThreadGroupCountX,UINT ThreadGroupCountY,UINT ThreadGroupCountZ) {
1681    This->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ);
1682}
1683static inline void ID3D11DeviceContext1_DispatchIndirect(ID3D11DeviceContext1* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
1684    This->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
1685}
1686static inline void ID3D11DeviceContext1_RSSetState(ID3D11DeviceContext1* This,ID3D11RasterizerState *pRasterizerState) {
1687    This->lpVtbl->RSSetState(This,pRasterizerState);
1688}
1689static inline void ID3D11DeviceContext1_RSSetViewports(ID3D11DeviceContext1* This,UINT NumViewports,const D3D11_VIEWPORT *pViewports) {
1690    This->lpVtbl->RSSetViewports(This,NumViewports,pViewports);
1691}
1692static inline void ID3D11DeviceContext1_RSSetScissorRects(ID3D11DeviceContext1* This,UINT NumRects,const D3D11_RECT *pRects) {
1693    This->lpVtbl->RSSetScissorRects(This,NumRects,pRects);
1694}
1695static inline void ID3D11DeviceContext1_CopySubresourceRegion(ID3D11DeviceContext1* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox) {
1696    This->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox);
1697}
1698static inline void ID3D11DeviceContext1_CopyResource(ID3D11DeviceContext1* This,ID3D11Resource *pDstResource,ID3D11Resource *pSrcResource) {
1699    This->lpVtbl->CopyResource(This,pDstResource,pSrcResource);
1700}
1701static inline void ID3D11DeviceContext1_UpdateSubresource(ID3D11DeviceContext1* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch) {
1702    This->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch);
1703}
1704static inline void ID3D11DeviceContext1_CopyStructureCount(ID3D11DeviceContext1* This,ID3D11Buffer *pDstBuffer,UINT DstAlignedByteOffset,ID3D11UnorderedAccessView *pSrcView) {
1705    This->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView);
1706}
1707static inline void ID3D11DeviceContext1_ClearRenderTargetView(ID3D11DeviceContext1* This,ID3D11RenderTargetView *pRenderTargetView,const FLOAT ColorRGBA[4]) {
1708    This->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA);
1709}
1710static inline void ID3D11DeviceContext1_ClearUnorderedAccessViewUint(ID3D11DeviceContext1* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const UINT Values[4]) {
1711    This->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values);
1712}
1713static inline void ID3D11DeviceContext1_ClearUnorderedAccessViewFloat(ID3D11DeviceContext1* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const FLOAT Values[4]) {
1714    This->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values);
1715}
1716static inline void ID3D11DeviceContext1_ClearDepthStencilView(ID3D11DeviceContext1* This,ID3D11DepthStencilView *pDepthStencilView,UINT ClearFlags,FLOAT Depth,UINT8 Stencil) {
1717    This->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil);
1718}
1719static inline void ID3D11DeviceContext1_GenerateMips(ID3D11DeviceContext1* This,ID3D11ShaderResourceView *pShaderResourceView) {
1720    This->lpVtbl->GenerateMips(This,pShaderResourceView);
1721}
1722static inline void ID3D11DeviceContext1_SetResourceMinLOD(ID3D11DeviceContext1* This,ID3D11Resource *pResource,FLOAT MinLOD) {
1723    This->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD);
1724}
1725static inline FLOAT ID3D11DeviceContext1_GetResourceMinLOD(ID3D11DeviceContext1* This,ID3D11Resource *pResource) {
1726    return This->lpVtbl->GetResourceMinLOD(This,pResource);
1727}
1728static inline void ID3D11DeviceContext1_ResolveSubresource(ID3D11DeviceContext1* This,ID3D11Resource *pDstResource,UINT DstSubresource,ID3D11Resource *pSrcResource,UINT SrcSubresource,DXGI_FORMAT Format) {
1729    This->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format);
1730}
1731static inline void ID3D11DeviceContext1_ExecuteCommandList(ID3D11DeviceContext1* This,ID3D11CommandList *pCommandList,WINBOOL RestoreContextState) {
1732    This->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState);
1733}
1734static inline void ID3D11DeviceContext1_HSSetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1735    This->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1736}
1737static inline void ID3D11DeviceContext1_HSSetShader(ID3D11DeviceContext1* This,ID3D11HullShader *pHullShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1738    This->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances);
1739}
1740static inline void ID3D11DeviceContext1_HSSetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1741    This->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1742}
1743static inline void ID3D11DeviceContext1_HSSetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1744    This->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1745}
1746static inline void ID3D11DeviceContext1_DSSetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1747    This->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1748}
1749static inline void ID3D11DeviceContext1_DSSetShader(ID3D11DeviceContext1* This,ID3D11DomainShader *pDomainShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1750    This->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances);
1751}
1752static inline void ID3D11DeviceContext1_DSSetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1753    This->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1754}
1755static inline void ID3D11DeviceContext1_DSSetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1756    This->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1757}
1758static inline void ID3D11DeviceContext1_CSSetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1759    This->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1760}
1761static inline void ID3D11DeviceContext1_CSSetUnorderedAccessViews(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
1762    This->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
1763}
1764static inline void ID3D11DeviceContext1_CSSetShader(ID3D11DeviceContext1* This,ID3D11ComputeShader *pComputeShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1765    This->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances);
1766}
1767static inline void ID3D11DeviceContext1_CSSetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1768    This->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1769}
1770static inline void ID3D11DeviceContext1_CSSetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1771    This->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1772}
1773static inline void ID3D11DeviceContext1_VSGetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1774    This->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1775}
1776static inline void ID3D11DeviceContext1_PSGetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1777    This->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1778}
1779static inline void ID3D11DeviceContext1_PSGetShader(ID3D11DeviceContext1* This,ID3D11PixelShader **ppPixelShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1780    This->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances);
1781}
1782static inline void ID3D11DeviceContext1_PSGetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1783    This->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1784}
1785static inline void ID3D11DeviceContext1_VSGetShader(ID3D11DeviceContext1* This,ID3D11VertexShader **ppVertexShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1786    This->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances);
1787}
1788static inline void ID3D11DeviceContext1_PSGetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1789    This->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1790}
1791static inline void ID3D11DeviceContext1_IAGetInputLayout(ID3D11DeviceContext1* This,ID3D11InputLayout **ppInputLayout) {
1792    This->lpVtbl->IAGetInputLayout(This,ppInputLayout);
1793}
1794static inline void ID3D11DeviceContext1_IAGetVertexBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppVertexBuffers,UINT *pStrides,UINT *pOffsets) {
1795    This->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
1796}
1797static inline void ID3D11DeviceContext1_IAGetIndexBuffer(ID3D11DeviceContext1* This,ID3D11Buffer **pIndexBuffer,DXGI_FORMAT *Format,UINT *Offset) {
1798    This->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset);
1799}
1800static inline void ID3D11DeviceContext1_GSGetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1801    This->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1802}
1803static inline void ID3D11DeviceContext1_GSGetShader(ID3D11DeviceContext1* This,ID3D11GeometryShader **ppGeometryShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1804    This->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances);
1805}
1806static inline void ID3D11DeviceContext1_IAGetPrimitiveTopology(ID3D11DeviceContext1* This,D3D11_PRIMITIVE_TOPOLOGY *pTopology) {
1807    This->lpVtbl->IAGetPrimitiveTopology(This,pTopology);
1808}
1809static inline void ID3D11DeviceContext1_VSGetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1810    This->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1811}
1812static inline void ID3D11DeviceContext1_VSGetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1813    This->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1814}
1815static inline void ID3D11DeviceContext1_GetPredication(ID3D11DeviceContext1* This,ID3D11Predicate **ppPredicate,WINBOOL *pPredicateValue) {
1816    This->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue);
1817}
1818static inline void ID3D11DeviceContext1_GSGetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1819    This->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1820}
1821static inline void ID3D11DeviceContext1_GSGetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1822    This->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1823}
1824static inline void ID3D11DeviceContext1_OMGetRenderTargets(ID3D11DeviceContext1* This,UINT NumViews,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView) {
1825    This->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView);
1826}
1827static inline void ID3D11DeviceContext1_OMGetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext1* This,UINT NumRTVs,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
1828    This->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews);
1829}
1830static inline void ID3D11DeviceContext1_OMGetBlendState(ID3D11DeviceContext1* This,ID3D11BlendState **ppBlendState,FLOAT BlendFactor[4],UINT *pSampleMask) {
1831    This->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask);
1832}
1833static inline void ID3D11DeviceContext1_OMGetDepthStencilState(ID3D11DeviceContext1* This,ID3D11DepthStencilState **ppDepthStencilState,UINT *pStencilRef) {
1834    This->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef);
1835}
1836static inline void ID3D11DeviceContext1_SOGetTargets(ID3D11DeviceContext1* This,UINT NumBuffers,ID3D11Buffer **ppSOTargets) {
1837    This->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets);
1838}
1839static inline void ID3D11DeviceContext1_RSGetState(ID3D11DeviceContext1* This,ID3D11RasterizerState **ppRasterizerState) {
1840    This->lpVtbl->RSGetState(This,ppRasterizerState);
1841}
1842static inline void ID3D11DeviceContext1_RSGetViewports(ID3D11DeviceContext1* This,UINT *pNumViewports,D3D11_VIEWPORT *pViewports) {
1843    This->lpVtbl->RSGetViewports(This,pNumViewports,pViewports);
1844}
1845static inline void ID3D11DeviceContext1_RSGetScissorRects(ID3D11DeviceContext1* This,UINT *pNumRects,D3D11_RECT *pRects) {
1846    This->lpVtbl->RSGetScissorRects(This,pNumRects,pRects);
1847}
1848static inline void ID3D11DeviceContext1_HSGetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1849    This->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1850}
1851static inline void ID3D11DeviceContext1_HSGetShader(ID3D11DeviceContext1* This,ID3D11HullShader **ppHullShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1852    This->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances);
1853}
1854static inline void ID3D11DeviceContext1_HSGetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1855    This->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1856}
1857static inline void ID3D11DeviceContext1_HSGetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1858    This->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1859}
1860static inline void ID3D11DeviceContext1_DSGetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1861    This->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1862}
1863static inline void ID3D11DeviceContext1_DSGetShader(ID3D11DeviceContext1* This,ID3D11DomainShader **ppDomainShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1864    This->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances);
1865}
1866static inline void ID3D11DeviceContext1_DSGetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1867    This->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1868}
1869static inline void ID3D11DeviceContext1_DSGetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1870    This->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1871}
1872static inline void ID3D11DeviceContext1_CSGetShaderResources(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1873    This->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1874}
1875static inline void ID3D11DeviceContext1_CSGetUnorderedAccessViews(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
1876    This->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews);
1877}
1878static inline void ID3D11DeviceContext1_CSGetShader(ID3D11DeviceContext1* This,ID3D11ComputeShader **ppComputeShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1879    This->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances);
1880}
1881static inline void ID3D11DeviceContext1_CSGetSamplers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1882    This->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1883}
1884static inline void ID3D11DeviceContext1_CSGetConstantBuffers(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1885    This->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1886}
1887static inline void ID3D11DeviceContext1_ClearState(ID3D11DeviceContext1* This) {
1888    This->lpVtbl->ClearState(This);
1889}
1890static inline void ID3D11DeviceContext1_Flush(ID3D11DeviceContext1* This) {
1891    This->lpVtbl->Flush(This);
1892}
1893static inline D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext1_GetType(ID3D11DeviceContext1* This) {
1894    return This->lpVtbl->GetType(This);
1895}
1896static inline UINT ID3D11DeviceContext1_GetContextFlags(ID3D11DeviceContext1* This) {
1897    return This->lpVtbl->GetContextFlags(This);
1898}
1899static inline HRESULT ID3D11DeviceContext1_FinishCommandList(ID3D11DeviceContext1* This,WINBOOL RestoreDeferredContextState,ID3D11CommandList **ppCommandList) {
1900    return This->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList);
1901}
1902/*** ID3D11DeviceContext1 methods ***/
1903static inline void ID3D11DeviceContext1_CopySubresourceRegion1(ID3D11DeviceContext1* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox,UINT CopyFlags) {
1904    This->lpVtbl->CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags);
1905}
1906static inline void ID3D11DeviceContext1_UpdateSubresource1(ID3D11DeviceContext1* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch,UINT CopyFlags) {
1907    This->lpVtbl->UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags);
1908}
1909static inline void ID3D11DeviceContext1_DiscardResource(ID3D11DeviceContext1* This,ID3D11Resource *pResource) {
1910    This->lpVtbl->DiscardResource(This,pResource);
1911}
1912static inline void ID3D11DeviceContext1_DiscardView(ID3D11DeviceContext1* This,ID3D11View *pResourceView) {
1913    This->lpVtbl->DiscardView(This,pResourceView);
1914}
1915static inline void ID3D11DeviceContext1_VSSetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
1916    This->lpVtbl->VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1917}
1918static inline void ID3D11DeviceContext1_HSSetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
1919    This->lpVtbl->HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1920}
1921static inline void ID3D11DeviceContext1_DSSetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
1922    This->lpVtbl->DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1923}
1924static inline void ID3D11DeviceContext1_GSSetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
1925    This->lpVtbl->GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1926}
1927static inline void ID3D11DeviceContext1_PSSetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
1928    This->lpVtbl->PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1929}
1930static inline void ID3D11DeviceContext1_CSSetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
1931    This->lpVtbl->CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1932}
1933static inline void ID3D11DeviceContext1_VSGetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
1934    This->lpVtbl->VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1935}
1936static inline void ID3D11DeviceContext1_HSGetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
1937    This->lpVtbl->HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1938}
1939static inline void ID3D11DeviceContext1_DSGetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
1940    This->lpVtbl->DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1941}
1942static inline void ID3D11DeviceContext1_GSGetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
1943    This->lpVtbl->GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1944}
1945static inline void ID3D11DeviceContext1_PSGetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
1946    This->lpVtbl->PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1947}
1948static inline void ID3D11DeviceContext1_CSGetConstantBuffers1(ID3D11DeviceContext1* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
1949    This->lpVtbl->CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
1950}
1951static inline void ID3D11DeviceContext1_SwapDeviceContextState(ID3D11DeviceContext1* This,ID3DDeviceContextState *pState,ID3DDeviceContextState **ppPreviousState) {
1952    This->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState);
1953}
1954static inline void ID3D11DeviceContext1_ClearView(ID3D11DeviceContext1* This,ID3D11View *pView,const FLOAT Color[4],const D3D11_RECT *pRect,UINT NumRects) {
1955    This->lpVtbl->ClearView(This,pView,Color,pRect,NumRects);
1956}
1957static inline void ID3D11DeviceContext1_DiscardView1(ID3D11DeviceContext1* This,ID3D11View *pResourceView,const D3D11_RECT *pRects,UINT NumRects) {
1958    This->lpVtbl->DiscardView1(This,pResourceView,pRects,NumRects);
1959}
1960#endif
1961#endif
1962
1963#endif
1964
1965
1966#endif  /* __ID3D11DeviceContext1_INTERFACE_DEFINED__ */
1967
1968/*****************************************************************************
1969 * ID3D11VideoContext1 interface
1970 */
1971#ifndef __ID3D11VideoContext1_INTERFACE_DEFINED__
1972#define __ID3D11VideoContext1_INTERFACE_DEFINED__
1973
1974DEFINE_GUID(IID_ID3D11VideoContext1, 0xa7f026da, 0xa5f8, 0x4487, 0xa5,0x64, 0x15,0xe3,0x43,0x57,0x65,0x1e);
1975#if defined(__cplusplus) && !defined(CINTERFACE)
1976MIDL_INTERFACE("a7f026da-a5f8-4487-a564-15e34357651e")
1977ID3D11VideoContext1 : public ID3D11VideoContext
1978{
1979    virtual HRESULT STDMETHODCALLTYPE SubmitDecoderBuffers1(
1980        ID3D11VideoDecoder *decoder,
1981        UINT buffer_count,
1982        const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc) = 0;
1983
1984    virtual HRESULT STDMETHODCALLTYPE GetDataForNewHardwareKey(
1985        ID3D11CryptoSession *session,
1986        UINT input_size,
1987        const void *input_data,
1988        UINT64 *output_data) = 0;
1989
1990    virtual HRESULT STDMETHODCALLTYPE CheckCryptoSessionStatus(
1991        ID3D11CryptoSession *session,
1992        D3D11_CRYPTO_SESSION_STATUS *status) = 0;
1993
1994    virtual HRESULT STDMETHODCALLTYPE DecoderEnableDownsampling(
1995        ID3D11VideoDecoder *decoder,
1996        DXGI_COLOR_SPACE_TYPE colour_space,
1997        const D3D11_VIDEO_SAMPLE_DESC *output_desc,
1998        UINT reference_frame_count) = 0;
1999
2000    virtual HRESULT STDMETHODCALLTYPE DecoderUpdateDownsampling(
2001        ID3D11VideoDecoder *decoder,
2002        const D3D11_VIDEO_SAMPLE_DESC *output_desc) = 0;
2003
2004    virtual void STDMETHODCALLTYPE VideoProcessorSetOutputColorSpace1(
2005        ID3D11VideoProcessor *processor,
2006        DXGI_COLOR_SPACE_TYPE colour_space) = 0;
2007
2008    virtual void STDMETHODCALLTYPE VideoProcessorSetOutputShaderUsage(
2009        ID3D11VideoProcessor *processor,
2010        WINBOOL shader_usage) = 0;
2011
2012    virtual void STDMETHODCALLTYPE VideoProcessorGetOutputColorSpace1(
2013        ID3D11VideoProcessor *processor,
2014        DXGI_COLOR_SPACE_TYPE *colour_space) = 0;
2015
2016    virtual void STDMETHODCALLTYPE VideoProcessorGetOutputShaderUsage(
2017        ID3D11VideoProcessor *processor,
2018        WINBOOL *shader_usage) = 0;
2019
2020    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamColorSpace1(
2021        ID3D11VideoProcessor *processor,
2022        UINT stream_index,
2023        DXGI_COLOR_SPACE_TYPE colour_space) = 0;
2024
2025    virtual void STDMETHODCALLTYPE VideoProcessorSetStreamMirror(
2026        ID3D11VideoProcessor *processor,
2027        UINT stream_index,
2028        WINBOOL enable,
2029        WINBOOL flip_horizontal,
2030        WINBOOL flip_vertical) = 0;
2031
2032    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamColorSpace1(
2033        ID3D11VideoProcessor *processor,
2034        UINT stream_index,
2035        DXGI_COLOR_SPACE_TYPE *colour_space) = 0;
2036
2037    virtual void STDMETHODCALLTYPE VideoProcessorGetStreamMirror(
2038        ID3D11VideoProcessor *processor,
2039        UINT stream_index,
2040        WINBOOL *enable,
2041        WINBOOL *flip_horizontal,
2042        WINBOOL *flip_vertical) = 0;
2043
2044    virtual HRESULT STDMETHODCALLTYPE VideoProcessorGetBehaviorHints(
2045        ID3D11VideoProcessor *processor,
2046        UINT output_width,
2047        UINT output_height,
2048        DXGI_FORMAT output_format,
2049        UINT stream_count,
2050        const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT *streams,
2051        UINT *behaviour_hints) = 0;
2052
2053};
2054#ifdef __CRT_UUID_DECL
2055__CRT_UUID_DECL(ID3D11VideoContext1, 0xa7f026da, 0xa5f8, 0x4487, 0xa5,0x64, 0x15,0xe3,0x43,0x57,0x65,0x1e)
2056#endif
2057#else
2058typedef struct ID3D11VideoContext1Vtbl {
2059    BEGIN_INTERFACE
2060
2061    /*** IUnknown methods ***/
2062    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2063        ID3D11VideoContext1 *This,
2064        REFIID riid,
2065        void **ppvObject);
2066
2067    ULONG (STDMETHODCALLTYPE *AddRef)(
2068        ID3D11VideoContext1 *This);
2069
2070    ULONG (STDMETHODCALLTYPE *Release)(
2071        ID3D11VideoContext1 *This);
2072
2073    /*** ID3D11DeviceChild methods ***/
2074    void (STDMETHODCALLTYPE *GetDevice)(
2075        ID3D11VideoContext1 *This,
2076        ID3D11Device **ppDevice);
2077
2078    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
2079        ID3D11VideoContext1 *This,
2080        REFGUID guid,
2081        UINT *pDataSize,
2082        void *pData);
2083
2084    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
2085        ID3D11VideoContext1 *This,
2086        REFGUID guid,
2087        UINT DataSize,
2088        const void *pData);
2089
2090    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
2091        ID3D11VideoContext1 *This,
2092        REFGUID guid,
2093        const IUnknown *pData);
2094
2095    /*** ID3D11VideoContext methods ***/
2096    HRESULT (STDMETHODCALLTYPE *GetDecoderBuffer)(
2097        ID3D11VideoContext1 *This,
2098        ID3D11VideoDecoder *decoder,
2099        D3D11_VIDEO_DECODER_BUFFER_TYPE type,
2100        UINT *buffer_size,
2101        void **buffer);
2102
2103    HRESULT (STDMETHODCALLTYPE *ReleaseDecoderBuffer)(
2104        ID3D11VideoContext1 *This,
2105        ID3D11VideoDecoder *decoder,
2106        D3D11_VIDEO_DECODER_BUFFER_TYPE type);
2107
2108    HRESULT (STDMETHODCALLTYPE *DecoderBeginFrame)(
2109        ID3D11VideoContext1 *This,
2110        ID3D11VideoDecoder *decoder,
2111        ID3D11VideoDecoderOutputView *view,
2112        UINT key_size,
2113        const void *key);
2114
2115    HRESULT (STDMETHODCALLTYPE *DecoderEndFrame)(
2116        ID3D11VideoContext1 *This,
2117        ID3D11VideoDecoder *decoder);
2118
2119    HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers)(
2120        ID3D11VideoContext1 *This,
2121        ID3D11VideoDecoder *decoder,
2122        UINT buffers_count,
2123        const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc);
2124
2125    HRESULT (STDMETHODCALLTYPE *DecoderExtension)(
2126        ID3D11VideoContext1 *This,
2127        ID3D11VideoDecoder *decoder,
2128        const D3D11_VIDEO_DECODER_EXTENSION *extension);
2129
2130    void (STDMETHODCALLTYPE *VideoProcessorSetOutputTargetRect)(
2131        ID3D11VideoContext1 *This,
2132        ID3D11VideoProcessor *processor,
2133        WINBOOL enable,
2134        const RECT *rect);
2135
2136    void (STDMETHODCALLTYPE *VideoProcessorSetOutputBackgroundColor)(
2137        ID3D11VideoContext1 *This,
2138        ID3D11VideoProcessor *processor,
2139        WINBOOL y_cb_cr,
2140        const D3D11_VIDEO_COLOR *color);
2141
2142    void (STDMETHODCALLTYPE *VideoProcessorSetOutputColorSpace)(
2143        ID3D11VideoContext1 *This,
2144        ID3D11VideoProcessor *processor,
2145        const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
2146
2147    void (STDMETHODCALLTYPE *VideoProcessorSetOutputAlphaFillMode)(
2148        ID3D11VideoContext1 *This,
2149        ID3D11VideoProcessor *processor,
2150        D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
2151        UINT stream_idx);
2152
2153    void (STDMETHODCALLTYPE *VideoProcessorSetOutputConstriction)(
2154        ID3D11VideoContext1 *This,
2155        ID3D11VideoProcessor *processor,
2156        WINBOOL enable,
2157        SIZE size);
2158
2159    void (STDMETHODCALLTYPE *VideoProcessorSetOutputStereoMode)(
2160        ID3D11VideoContext1 *This,
2161        ID3D11VideoProcessor *processor,
2162        WINBOOL enable);
2163
2164    HRESULT (STDMETHODCALLTYPE *VideoProcessorSetOutputExtension)(
2165        ID3D11VideoContext1 *This,
2166        ID3D11VideoProcessor *processor,
2167        const GUID *guid,
2168        UINT data_size,
2169        void *data);
2170
2171    void (STDMETHODCALLTYPE *VideoProcessorGetOutputTargetRect)(
2172        ID3D11VideoContext1 *This,
2173        ID3D11VideoProcessor *processor,
2174        WINBOOL *enabled,
2175        RECT *rect);
2176
2177    void (STDMETHODCALLTYPE *VideoProcessorGetOutputBackgroundColor)(
2178        ID3D11VideoContext1 *This,
2179        ID3D11VideoProcessor *processor,
2180        WINBOOL *y_cb_cr,
2181        D3D11_VIDEO_COLOR *color);
2182
2183    void (STDMETHODCALLTYPE *VideoProcessorGetOutputColorSpace)(
2184        ID3D11VideoContext1 *This,
2185        ID3D11VideoProcessor *processor,
2186        D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
2187
2188    void (STDMETHODCALLTYPE *VideoProcessorGetOutputAlphaFillMode)(
2189        ID3D11VideoContext1 *This,
2190        ID3D11VideoProcessor *processor,
2191        D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
2192        UINT *stream_idx);
2193
2194    void (STDMETHODCALLTYPE *VideoProcessorGetOutputConstriction)(
2195        ID3D11VideoContext1 *This,
2196        ID3D11VideoProcessor *processor,
2197        WINBOOL *enabled,
2198        SIZE *size);
2199
2200    void (STDMETHODCALLTYPE *VideoProcessorGetOutputStereoMode)(
2201        ID3D11VideoContext1 *This,
2202        ID3D11VideoProcessor *processor,
2203        WINBOOL *enabled);
2204
2205    HRESULT (STDMETHODCALLTYPE *VideoProcessorGetOutputExtension)(
2206        ID3D11VideoContext1 *This,
2207        ID3D11VideoProcessor *processor,
2208        const GUID *guid,
2209        UINT data_size,
2210        void *data);
2211
2212    void (STDMETHODCALLTYPE *VideoProcessorSetStreamFrameFormat)(
2213        ID3D11VideoContext1 *This,
2214        ID3D11VideoProcessor *processor,
2215        UINT stream_idx,
2216        D3D11_VIDEO_FRAME_FORMAT format);
2217
2218    void (STDMETHODCALLTYPE *VideoProcessorSetStreamColorSpace)(
2219        ID3D11VideoContext1 *This,
2220        ID3D11VideoProcessor *processor,
2221        UINT stream_idx,
2222        const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
2223
2224    void (STDMETHODCALLTYPE *VideoProcessorSetStreamOutputRate)(
2225        ID3D11VideoContext1 *This,
2226        ID3D11VideoProcessor *processor,
2227        UINT stream_idx,
2228        D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
2229        WINBOOL repeat,
2230        const DXGI_RATIONAL *custom_rate);
2231
2232    void (STDMETHODCALLTYPE *VideoProcessorSetStreamSourceRect)(
2233        ID3D11VideoContext1 *This,
2234        ID3D11VideoProcessor *processor,
2235        UINT stream_idx,
2236        WINBOOL enable,
2237        const RECT *rect);
2238
2239    void (STDMETHODCALLTYPE *VideoProcessorSetStreamDestRect)(
2240        ID3D11VideoContext1 *This,
2241        ID3D11VideoProcessor *processor,
2242        UINT stream_idx,
2243        WINBOOL enable,
2244        const RECT *rect);
2245
2246    void (STDMETHODCALLTYPE *VideoProcessorSetStreamAlpha)(
2247        ID3D11VideoContext1 *This,
2248        ID3D11VideoProcessor *processor,
2249        UINT stream_idx,
2250        WINBOOL enable,
2251        float alpha);
2252
2253    void (STDMETHODCALLTYPE *VideoProcessorSetStreamPalette)(
2254        ID3D11VideoContext1 *This,
2255        ID3D11VideoProcessor *processor,
2256        UINT stream_idx,
2257        UINT entry_count,
2258        const UINT *entries);
2259
2260    void (STDMETHODCALLTYPE *VideoProcessorSetStreamPixelAspectRatio)(
2261        ID3D11VideoContext1 *This,
2262        ID3D11VideoProcessor *processor,
2263        UINT stream_idx,
2264        WINBOOL enable,
2265        const DXGI_RATIONAL *src_aspect_ratio,
2266        const DXGI_RATIONAL *dst_aspect_ratio);
2267
2268    void (STDMETHODCALLTYPE *VideoProcessorSetStreamLumaKey)(
2269        ID3D11VideoContext1 *This,
2270        ID3D11VideoProcessor *processor,
2271        UINT stream_idx,
2272        WINBOOL enable,
2273        float lower,
2274        float upper);
2275
2276    void (STDMETHODCALLTYPE *VideoProcessorSetStreamStereoFormat)(
2277        ID3D11VideoContext1 *This,
2278        ID3D11VideoProcessor *processor,
2279        UINT stream_idx,
2280        WINBOOL enable,
2281        D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
2282        WINBOOL left_view_frame0,
2283        WINBOOL base_view_frame0,
2284        D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
2285        int mono_offset);
2286
2287    void (STDMETHODCALLTYPE *VideoProcessorSetStreamAutoProcessingMode)(
2288        ID3D11VideoContext1 *This,
2289        ID3D11VideoProcessor *processor,
2290        UINT stream_idx,
2291        WINBOOL enable);
2292
2293    void (STDMETHODCALLTYPE *VideoProcessorSetStreamFilter)(
2294        ID3D11VideoContext1 *This,
2295        ID3D11VideoProcessor *processor,
2296        UINT stream_idx,
2297        D3D11_VIDEO_PROCESSOR_FILTER filter,
2298        WINBOOL enable,
2299        int level);
2300
2301    HRESULT (STDMETHODCALLTYPE *VideoProcessorSetStreamExtension)(
2302        ID3D11VideoContext1 *This,
2303        ID3D11VideoProcessor *processor,
2304        UINT stream_idx,
2305        const GUID *guid,
2306        UINT data_size,
2307        void *data);
2308
2309    void (STDMETHODCALLTYPE *VideoProcessorGetStreamFrameFormat)(
2310        ID3D11VideoContext1 *This,
2311        ID3D11VideoProcessor *processor,
2312        UINT stream_idx,
2313        D3D11_VIDEO_FRAME_FORMAT *format);
2314
2315    void (STDMETHODCALLTYPE *VideoProcessorGetStreamColorSpace)(
2316        ID3D11VideoContext1 *This,
2317        ID3D11VideoProcessor *processor,
2318        UINT stream_idx,
2319        D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
2320
2321    void (STDMETHODCALLTYPE *VideoProcessorGetStreamOutputRate)(
2322        ID3D11VideoContext1 *This,
2323        ID3D11VideoProcessor *processor,
2324        UINT stream_idx,
2325        D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
2326        WINBOOL *repeat,
2327        DXGI_RATIONAL *custom_rate);
2328
2329    void (STDMETHODCALLTYPE *VideoProcessorGetStreamSourceRect)(
2330        ID3D11VideoContext1 *This,
2331        ID3D11VideoProcessor *processor,
2332        UINT stream_idx,
2333        WINBOOL *enabled,
2334        RECT *rect);
2335
2336    void (STDMETHODCALLTYPE *VideoProcessorGetStreamDestRect)(
2337        ID3D11VideoContext1 *This,
2338        ID3D11VideoProcessor *processor,
2339        UINT stream_idx,
2340        WINBOOL *enabled,
2341        RECT *rect);
2342
2343    void (STDMETHODCALLTYPE *VideoProcessorGetStreamAlpha)(
2344        ID3D11VideoContext1 *This,
2345        ID3D11VideoProcessor *processor,
2346        UINT stream_idx,
2347        WINBOOL *enabled,
2348        float *alpha);
2349
2350    void (STDMETHODCALLTYPE *VideoProcessorGetStreamPalette)(
2351        ID3D11VideoContext1 *This,
2352        ID3D11VideoProcessor *processor,
2353        UINT stream_idx,
2354        UINT entry_count,
2355        UINT *entries);
2356
2357    void (STDMETHODCALLTYPE *VideoProcessorGetStreamPixelAspectRatio)(
2358        ID3D11VideoContext1 *This,
2359        ID3D11VideoProcessor *processor,
2360        UINT stream_idx,
2361        WINBOOL *enabled,
2362        DXGI_RATIONAL *src_aspect_ratio,
2363        DXGI_RATIONAL *dst_aspect_ratio);
2364
2365    void (STDMETHODCALLTYPE *VideoProcessorGetStreamLumaKey)(
2366        ID3D11VideoContext1 *This,
2367        ID3D11VideoProcessor *processor,
2368        UINT stream_idx,
2369        WINBOOL *enabled,
2370        float *lower,
2371        float *upper);
2372
2373    void (STDMETHODCALLTYPE *VideoProcessorGetStreamStereoFormat)(
2374        ID3D11VideoContext1 *This,
2375        ID3D11VideoProcessor *processor,
2376        UINT stream_idx,
2377        WINBOOL *enabled,
2378        D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
2379        WINBOOL *left_view_frame0,
2380        WINBOOL *base_view_frame0,
2381        D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
2382        int *mono_offset);
2383
2384    void (STDMETHODCALLTYPE *VideoProcessorGetStreamAutoProcessingMode)(
2385        ID3D11VideoContext1 *This,
2386        ID3D11VideoProcessor *processor,
2387        UINT stream_idx,
2388        WINBOOL *enabled);
2389
2390    void (STDMETHODCALLTYPE *VideoProcessorGetStreamFilter)(
2391        ID3D11VideoContext1 *This,
2392        ID3D11VideoProcessor *processor,
2393        UINT stream_idx,
2394        D3D11_VIDEO_PROCESSOR_FILTER filter,
2395        WINBOOL *enabled,
2396        int *level);
2397
2398    HRESULT (STDMETHODCALLTYPE *VideoProcessorGetStreamExtension)(
2399        ID3D11VideoContext1 *This,
2400        ID3D11VideoProcessor *processor,
2401        UINT stream_idx,
2402        const GUID *guid,
2403        UINT data_size,
2404        void *data);
2405
2406    HRESULT (STDMETHODCALLTYPE *VideoProcessorBlt)(
2407        ID3D11VideoContext1 *This,
2408        ID3D11VideoProcessor *processor,
2409        ID3D11VideoProcessorOutputView *view,
2410        UINT frame_idx,
2411        UINT stream_count,
2412        const D3D11_VIDEO_PROCESSOR_STREAM *streams);
2413
2414    HRESULT (STDMETHODCALLTYPE *NegotiateCryptoSessionKeyExchange)(
2415        ID3D11VideoContext1 *This,
2416        ID3D11CryptoSession *session,
2417        UINT data_size,
2418        void *data);
2419
2420    void (STDMETHODCALLTYPE *EncryptionBlt)(
2421        ID3D11VideoContext1 *This,
2422        ID3D11CryptoSession *session,
2423        ID3D11Texture2D *src_surface,
2424        ID3D11Texture2D *dst_surface,
2425        UINT iv_size,
2426        void *iv);
2427
2428    void (STDMETHODCALLTYPE *DecryptionBlt)(
2429        ID3D11VideoContext1 *This,
2430        ID3D11CryptoSession *session,
2431        ID3D11Texture2D *src_surface,
2432        ID3D11Texture2D *dst_surface,
2433        D3D11_ENCRYPTED_BLOCK_INFO *block_info,
2434        UINT key_size,
2435        const void *key,
2436        UINT iv_size,
2437        void *iv);
2438
2439    void (STDMETHODCALLTYPE *StartSessionKeyRefresh)(
2440        ID3D11VideoContext1 *This,
2441        ID3D11CryptoSession *session,
2442        UINT random_number_size,
2443        void *random_number);
2444
2445    void (STDMETHODCALLTYPE *FinishSessionKeyRefresh)(
2446        ID3D11VideoContext1 *This,
2447        ID3D11CryptoSession *session);
2448
2449    HRESULT (STDMETHODCALLTYPE *GetEncryptionBltKey)(
2450        ID3D11VideoContext1 *This,
2451        ID3D11CryptoSession *session,
2452        UINT key_size,
2453        void *key);
2454
2455    HRESULT (STDMETHODCALLTYPE *NegotiateAuthenticatedChannelKeyExchange)(
2456        ID3D11VideoContext1 *This,
2457        ID3D11AuthenticatedChannel *channel,
2458        UINT data_size,
2459        void *data);
2460
2461    HRESULT (STDMETHODCALLTYPE *QueryAuthenticatedChannel)(
2462        ID3D11VideoContext1 *This,
2463        ID3D11AuthenticatedChannel *channel,
2464        UINT input_size,
2465        const void *input,
2466        UINT output_size,
2467        void *output);
2468
2469    HRESULT (STDMETHODCALLTYPE *ConfigureAuthenticatedChannel)(
2470        ID3D11VideoContext1 *This,
2471        ID3D11AuthenticatedChannel *channel,
2472        UINT input_size,
2473        const void *input,
2474        D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output);
2475
2476    void (STDMETHODCALLTYPE *VideoProcessorSetStreamRotation)(
2477        ID3D11VideoContext1 *This,
2478        ID3D11VideoProcessor *processor,
2479        UINT stream_idx,
2480        WINBOOL enable,
2481        D3D11_VIDEO_PROCESSOR_ROTATION rotation);
2482
2483    void (STDMETHODCALLTYPE *VideoProcessorGetStreamRotation)(
2484        ID3D11VideoContext1 *This,
2485        ID3D11VideoProcessor *processor,
2486        UINT stream_idx,
2487        WINBOOL *enable,
2488        D3D11_VIDEO_PROCESSOR_ROTATION *rotation);
2489
2490    /*** ID3D11VideoContext1 methods ***/
2491    HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers1)(
2492        ID3D11VideoContext1 *This,
2493        ID3D11VideoDecoder *decoder,
2494        UINT buffer_count,
2495        const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc);
2496
2497    HRESULT (STDMETHODCALLTYPE *GetDataForNewHardwareKey)(
2498        ID3D11VideoContext1 *This,
2499        ID3D11CryptoSession *session,
2500        UINT input_size,
2501        const void *input_data,
2502        UINT64 *output_data);
2503
2504    HRESULT (STDMETHODCALLTYPE *CheckCryptoSessionStatus)(
2505        ID3D11VideoContext1 *This,
2506        ID3D11CryptoSession *session,
2507        D3D11_CRYPTO_SESSION_STATUS *status);
2508
2509    HRESULT (STDMETHODCALLTYPE *DecoderEnableDownsampling)(
2510        ID3D11VideoContext1 *This,
2511        ID3D11VideoDecoder *decoder,
2512        DXGI_COLOR_SPACE_TYPE colour_space,
2513        const D3D11_VIDEO_SAMPLE_DESC *output_desc,
2514        UINT reference_frame_count);
2515
2516    HRESULT (STDMETHODCALLTYPE *DecoderUpdateDownsampling)(
2517        ID3D11VideoContext1 *This,
2518        ID3D11VideoDecoder *decoder,
2519        const D3D11_VIDEO_SAMPLE_DESC *output_desc);
2520
2521    void (STDMETHODCALLTYPE *VideoProcessorSetOutputColorSpace1)(
2522        ID3D11VideoContext1 *This,
2523        ID3D11VideoProcessor *processor,
2524        DXGI_COLOR_SPACE_TYPE colour_space);
2525
2526    void (STDMETHODCALLTYPE *VideoProcessorSetOutputShaderUsage)(
2527        ID3D11VideoContext1 *This,
2528        ID3D11VideoProcessor *processor,
2529        WINBOOL shader_usage);
2530
2531    void (STDMETHODCALLTYPE *VideoProcessorGetOutputColorSpace1)(
2532        ID3D11VideoContext1 *This,
2533        ID3D11VideoProcessor *processor,
2534        DXGI_COLOR_SPACE_TYPE *colour_space);
2535
2536    void (STDMETHODCALLTYPE *VideoProcessorGetOutputShaderUsage)(
2537        ID3D11VideoContext1 *This,
2538        ID3D11VideoProcessor *processor,
2539        WINBOOL *shader_usage);
2540
2541    void (STDMETHODCALLTYPE *VideoProcessorSetStreamColorSpace1)(
2542        ID3D11VideoContext1 *This,
2543        ID3D11VideoProcessor *processor,
2544        UINT stream_index,
2545        DXGI_COLOR_SPACE_TYPE colour_space);
2546
2547    void (STDMETHODCALLTYPE *VideoProcessorSetStreamMirror)(
2548        ID3D11VideoContext1 *This,
2549        ID3D11VideoProcessor *processor,
2550        UINT stream_index,
2551        WINBOOL enable,
2552        WINBOOL flip_horizontal,
2553        WINBOOL flip_vertical);
2554
2555    void (STDMETHODCALLTYPE *VideoProcessorGetStreamColorSpace1)(
2556        ID3D11VideoContext1 *This,
2557        ID3D11VideoProcessor *processor,
2558        UINT stream_index,
2559        DXGI_COLOR_SPACE_TYPE *colour_space);
2560
2561    void (STDMETHODCALLTYPE *VideoProcessorGetStreamMirror)(
2562        ID3D11VideoContext1 *This,
2563        ID3D11VideoProcessor *processor,
2564        UINT stream_index,
2565        WINBOOL *enable,
2566        WINBOOL *flip_horizontal,
2567        WINBOOL *flip_vertical);
2568
2569    HRESULT (STDMETHODCALLTYPE *VideoProcessorGetBehaviorHints)(
2570        ID3D11VideoContext1 *This,
2571        ID3D11VideoProcessor *processor,
2572        UINT output_width,
2573        UINT output_height,
2574        DXGI_FORMAT output_format,
2575        UINT stream_count,
2576        const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT *streams,
2577        UINT *behaviour_hints);
2578
2579    END_INTERFACE
2580} ID3D11VideoContext1Vtbl;
2581
2582interface ID3D11VideoContext1 {
2583    CONST_VTBL ID3D11VideoContext1Vtbl* lpVtbl;
2584};
2585
2586#ifdef COBJMACROS
2587#ifndef WIDL_C_INLINE_WRAPPERS
2588/*** IUnknown methods ***/
2589#define ID3D11VideoContext1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2590#define ID3D11VideoContext1_AddRef(This) (This)->lpVtbl->AddRef(This)
2591#define ID3D11VideoContext1_Release(This) (This)->lpVtbl->Release(This)
2592/*** ID3D11DeviceChild methods ***/
2593#define ID3D11VideoContext1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
2594#define ID3D11VideoContext1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
2595#define ID3D11VideoContext1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
2596#define ID3D11VideoContext1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
2597/*** ID3D11VideoContext methods ***/
2598#define ID3D11VideoContext1_GetDecoderBuffer(This,decoder,type,buffer_size,buffer) (This)->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer)
2599#define ID3D11VideoContext1_ReleaseDecoderBuffer(This,decoder,type) (This)->lpVtbl->ReleaseDecoderBuffer(This,decoder,type)
2600#define ID3D11VideoContext1_DecoderBeginFrame(This,decoder,view,key_size,key) (This)->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key)
2601#define ID3D11VideoContext1_DecoderEndFrame(This,decoder) (This)->lpVtbl->DecoderEndFrame(This,decoder)
2602#define ID3D11VideoContext1_SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc) (This)->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc)
2603#define ID3D11VideoContext1_DecoderExtension(This,decoder,extension) (This)->lpVtbl->DecoderExtension(This,decoder,extension)
2604#define ID3D11VideoContext1_VideoProcessorSetOutputTargetRect(This,processor,enable,rect) (This)->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect)
2605#define ID3D11VideoContext1_VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color)
2606#define ID3D11VideoContext1_VideoProcessorSetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space)
2607#define ID3D11VideoContext1_VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx)
2608#define ID3D11VideoContext1_VideoProcessorSetOutputConstriction(This,processor,enable,size) (This)->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size)
2609#define ID3D11VideoContext1_VideoProcessorSetOutputStereoMode(This,processor,enable) (This)->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable)
2610#define ID3D11VideoContext1_VideoProcessorSetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data)
2611#define ID3D11VideoContext1_VideoProcessorGetOutputTargetRect(This,processor,enabled,rect) (This)->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect)
2612#define ID3D11VideoContext1_VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color)
2613#define ID3D11VideoContext1_VideoProcessorGetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space)
2614#define ID3D11VideoContext1_VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx)
2615#define ID3D11VideoContext1_VideoProcessorGetOutputConstriction(This,processor,enabled,size) (This)->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size)
2616#define ID3D11VideoContext1_VideoProcessorGetOutputStereoMode(This,processor,enabled) (This)->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled)
2617#define ID3D11VideoContext1_VideoProcessorGetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data)
2618#define ID3D11VideoContext1_VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format)
2619#define ID3D11VideoContext1_VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space)
2620#define ID3D11VideoContext1_VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate)
2621#define ID3D11VideoContext1_VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect)
2622#define ID3D11VideoContext1_VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect)
2623#define ID3D11VideoContext1_VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha) (This)->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha)
2624#define ID3D11VideoContext1_VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries)
2625#define ID3D11VideoContext1_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)
2626#define ID3D11VideoContext1_VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper) (This)->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper)
2627#define ID3D11VideoContext1_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)
2628#define ID3D11VideoContext1_VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable) (This)->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable)
2629#define ID3D11VideoContext1_VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level) (This)->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level)
2630#define ID3D11VideoContext1_VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data)
2631#define ID3D11VideoContext1_VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format)
2632#define ID3D11VideoContext1_VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space)
2633#define ID3D11VideoContext1_VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate)
2634#define ID3D11VideoContext1_VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect)
2635#define ID3D11VideoContext1_VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect)
2636#define ID3D11VideoContext1_VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha) (This)->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha)
2637#define ID3D11VideoContext1_VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries)
2638#define ID3D11VideoContext1_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)
2639#define ID3D11VideoContext1_VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper) (This)->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper)
2640#define ID3D11VideoContext1_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)
2641#define ID3D11VideoContext1_VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled) (This)->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled)
2642#define ID3D11VideoContext1_VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level) (This)->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level)
2643#define ID3D11VideoContext1_VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data)
2644#define ID3D11VideoContext1_VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams) (This)->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams)
2645#define ID3D11VideoContext1_NegotiateCryptoSessionKeyExchange(This,session,data_size,data) (This)->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data)
2646#define ID3D11VideoContext1_EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv) (This)->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv)
2647#define ID3D11VideoContext1_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)
2648#define ID3D11VideoContext1_StartSessionKeyRefresh(This,session,random_number_size,random_number) (This)->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number)
2649#define ID3D11VideoContext1_FinishSessionKeyRefresh(This,session) (This)->lpVtbl->FinishSessionKeyRefresh(This,session)
2650#define ID3D11VideoContext1_GetEncryptionBltKey(This,session,key_size,key) (This)->lpVtbl->GetEncryptionBltKey(This,session,key_size,key)
2651#define ID3D11VideoContext1_NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data) (This)->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data)
2652#define ID3D11VideoContext1_QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output) (This)->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output)
2653#define ID3D11VideoContext1_ConfigureAuthenticatedChannel(This,channel,input_size,input,output) (This)->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output)
2654#define ID3D11VideoContext1_VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation)
2655#define ID3D11VideoContext1_VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation)
2656/*** ID3D11VideoContext1 methods ***/
2657#define ID3D11VideoContext1_SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc) (This)->lpVtbl->SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc)
2658#define ID3D11VideoContext1_GetDataForNewHardwareKey(This,session,input_size,input_data,output_data) (This)->lpVtbl->GetDataForNewHardwareKey(This,session,input_size,input_data,output_data)
2659#define ID3D11VideoContext1_CheckCryptoSessionStatus(This,session,status) (This)->lpVtbl->CheckCryptoSessionStatus(This,session,status)
2660#define ID3D11VideoContext1_DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count) (This)->lpVtbl->DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count)
2661#define ID3D11VideoContext1_DecoderUpdateDownsampling(This,decoder,output_desc) (This)->lpVtbl->DecoderUpdateDownsampling(This,decoder,output_desc)
2662#define ID3D11VideoContext1_VideoProcessorSetOutputColorSpace1(This,processor,colour_space) (This)->lpVtbl->VideoProcessorSetOutputColorSpace1(This,processor,colour_space)
2663#define ID3D11VideoContext1_VideoProcessorSetOutputShaderUsage(This,processor,shader_usage) (This)->lpVtbl->VideoProcessorSetOutputShaderUsage(This,processor,shader_usage)
2664#define ID3D11VideoContext1_VideoProcessorGetOutputColorSpace1(This,processor,colour_space) (This)->lpVtbl->VideoProcessorGetOutputColorSpace1(This,processor,colour_space)
2665#define ID3D11VideoContext1_VideoProcessorGetOutputShaderUsage(This,processor,shader_usage) (This)->lpVtbl->VideoProcessorGetOutputShaderUsage(This,processor,shader_usage)
2666#define ID3D11VideoContext1_VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space) (This)->lpVtbl->VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space)
2667#define ID3D11VideoContext1_VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical) (This)->lpVtbl->VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical)
2668#define ID3D11VideoContext1_VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space) (This)->lpVtbl->VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space)
2669#define ID3D11VideoContext1_VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical) (This)->lpVtbl->VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical)
2670#define ID3D11VideoContext1_VideoProcessorGetBehaviorHints(This,processor,output_width,output_height,output_format,stream_count,streams,behaviour_hints) (This)->lpVtbl->VideoProcessorGetBehaviorHints(This,processor,output_width,output_height,output_format,stream_count,streams,behaviour_hints)
2671#else
2672/*** IUnknown methods ***/
2673static inline HRESULT ID3D11VideoContext1_QueryInterface(ID3D11VideoContext1* This,REFIID riid,void **ppvObject) {
2674    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2675}
2676static inline ULONG ID3D11VideoContext1_AddRef(ID3D11VideoContext1* This) {
2677    return This->lpVtbl->AddRef(This);
2678}
2679static inline ULONG ID3D11VideoContext1_Release(ID3D11VideoContext1* This) {
2680    return This->lpVtbl->Release(This);
2681}
2682/*** ID3D11DeviceChild methods ***/
2683static inline void ID3D11VideoContext1_GetDevice(ID3D11VideoContext1* This,ID3D11Device **ppDevice) {
2684    This->lpVtbl->GetDevice(This,ppDevice);
2685}
2686static inline HRESULT ID3D11VideoContext1_GetPrivateData(ID3D11VideoContext1* This,REFGUID guid,UINT *pDataSize,void *pData) {
2687    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
2688}
2689static inline HRESULT ID3D11VideoContext1_SetPrivateData(ID3D11VideoContext1* This,REFGUID guid,UINT DataSize,const void *pData) {
2690    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
2691}
2692static inline HRESULT ID3D11VideoContext1_SetPrivateDataInterface(ID3D11VideoContext1* This,REFGUID guid,const IUnknown *pData) {
2693    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
2694}
2695/*** ID3D11VideoContext methods ***/
2696static inline HRESULT ID3D11VideoContext1_GetDecoderBuffer(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type,UINT *buffer_size,void **buffer) {
2697    return This->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer);
2698}
2699static inline HRESULT ID3D11VideoContext1_ReleaseDecoderBuffer(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type) {
2700    return This->lpVtbl->ReleaseDecoderBuffer(This,decoder,type);
2701}
2702static inline HRESULT ID3D11VideoContext1_DecoderBeginFrame(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder,ID3D11VideoDecoderOutputView *view,UINT key_size,const void *key) {
2703    return This->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key);
2704}
2705static inline HRESULT ID3D11VideoContext1_DecoderEndFrame(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder) {
2706    return This->lpVtbl->DecoderEndFrame(This,decoder);
2707}
2708static inline HRESULT ID3D11VideoContext1_SubmitDecoderBuffers(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder,UINT buffers_count,const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc) {
2709    return This->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc);
2710}
2711static inline HRESULT ID3D11VideoContext1_DecoderExtension(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder,const D3D11_VIDEO_DECODER_EXTENSION *extension) {
2712    return This->lpVtbl->DecoderExtension(This,decoder,extension);
2713}
2714static inline void ID3D11VideoContext1_VideoProcessorSetOutputTargetRect(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL enable,const RECT *rect) {
2715    This->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect);
2716}
2717static inline void ID3D11VideoContext1_VideoProcessorSetOutputBackgroundColor(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL y_cb_cr,const D3D11_VIDEO_COLOR *color) {
2718    This->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color);
2719}
2720static inline void ID3D11VideoContext1_VideoProcessorSetOutputColorSpace(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
2721    This->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space);
2722}
2723static inline void ID3D11VideoContext1_VideoProcessorSetOutputAlphaFillMode(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,UINT stream_idx) {
2724    This->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx);
2725}
2726static inline void ID3D11VideoContext1_VideoProcessorSetOutputConstriction(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL enable,SIZE size) {
2727    This->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size);
2728}
2729static inline void ID3D11VideoContext1_VideoProcessorSetOutputStereoMode(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL enable) {
2730    This->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable);
2731}
2732static inline HRESULT ID3D11VideoContext1_VideoProcessorSetOutputExtension(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) {
2733    return This->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data);
2734}
2735static inline void ID3D11VideoContext1_VideoProcessorGetOutputTargetRect(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,RECT *rect) {
2736    This->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect);
2737}
2738static inline void ID3D11VideoContext1_VideoProcessorGetOutputBackgroundColor(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL *y_cb_cr,D3D11_VIDEO_COLOR *color) {
2739    This->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color);
2740}
2741static inline void ID3D11VideoContext1_VideoProcessorGetOutputColorSpace(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
2742    This->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space);
2743}
2744static inline void ID3D11VideoContext1_VideoProcessorGetOutputAlphaFillMode(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,UINT *stream_idx) {
2745    This->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx);
2746}
2747static inline void ID3D11VideoContext1_VideoProcessorGetOutputConstriction(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,SIZE *size) {
2748    This->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size);
2749}
2750static inline void ID3D11VideoContext1_VideoProcessorGetOutputStereoMode(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL *enabled) {
2751    This->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled);
2752}
2753static inline HRESULT ID3D11VideoContext1_VideoProcessorGetOutputExtension(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) {
2754    return This->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data);
2755}
2756static inline void ID3D11VideoContext1_VideoProcessorSetStreamFrameFormat(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT format) {
2757    This->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format);
2758}
2759static inline void ID3D11VideoContext1_VideoProcessorSetStreamColorSpace(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
2760    This->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space);
2761}
2762static inline void ID3D11VideoContext1_VideoProcessorSetStreamOutputRate(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,WINBOOL repeat,const DXGI_RATIONAL *custom_rate) {
2763    This->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate);
2764}
2765static inline void ID3D11VideoContext1_VideoProcessorSetStreamSourceRect(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) {
2766    This->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect);
2767}
2768static inline void ID3D11VideoContext1_VideoProcessorSetStreamDestRect(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) {
2769    This->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect);
2770}
2771static inline void ID3D11VideoContext1_VideoProcessorSetStreamAlpha(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float alpha) {
2772    This->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha);
2773}
2774static inline void ID3D11VideoContext1_VideoProcessorSetStreamPalette(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,const UINT *entries) {
2775    This->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries);
2776}
2777static inline void ID3D11VideoContext1_VideoProcessorSetStreamPixelAspectRatio(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const DXGI_RATIONAL *src_aspect_ratio,const DXGI_RATIONAL *dst_aspect_ratio) {
2778    This->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio);
2779}
2780static inline void ID3D11VideoContext1_VideoProcessorSetStreamLumaKey(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float lower,float upper) {
2781    This->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper);
2782}
2783static inline void ID3D11VideoContext1_VideoProcessorSetStreamStereoFormat(ID3D11VideoContext1* 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) {
2784    This->lpVtbl->VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset);
2785}
2786static inline void ID3D11VideoContext1_VideoProcessorSetStreamAutoProcessingMode(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable) {
2787    This->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable);
2788}
2789static inline void ID3D11VideoContext1_VideoProcessorSetStreamFilter(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL enable,int level) {
2790    This->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level);
2791}
2792static inline HRESULT ID3D11VideoContext1_VideoProcessorSetStreamExtension(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) {
2793    return This->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data);
2794}
2795static inline void ID3D11VideoContext1_VideoProcessorGetStreamFrameFormat(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT *format) {
2796    This->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format);
2797}
2798static inline void ID3D11VideoContext1_VideoProcessorGetStreamColorSpace(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
2799    This->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space);
2800}
2801static inline void ID3D11VideoContext1_VideoProcessorGetStreamOutputRate(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,WINBOOL *repeat,DXGI_RATIONAL *custom_rate) {
2802    This->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate);
2803}
2804static inline void ID3D11VideoContext1_VideoProcessorGetStreamSourceRect(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) {
2805    This->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect);
2806}
2807static inline void ID3D11VideoContext1_VideoProcessorGetStreamDestRect(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) {
2808    This->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect);
2809}
2810static inline void ID3D11VideoContext1_VideoProcessorGetStreamAlpha(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *alpha) {
2811    This->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha);
2812}
2813static inline void ID3D11VideoContext1_VideoProcessorGetStreamPalette(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,UINT *entries) {
2814    This->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries);
2815}
2816static inline void ID3D11VideoContext1_VideoProcessorGetStreamPixelAspectRatio(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,DXGI_RATIONAL *src_aspect_ratio,DXGI_RATIONAL *dst_aspect_ratio) {
2817    This->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio);
2818}
2819static inline void ID3D11VideoContext1_VideoProcessorGetStreamLumaKey(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *lower,float *upper) {
2820    This->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper);
2821}
2822static inline void ID3D11VideoContext1_VideoProcessorGetStreamStereoFormat(ID3D11VideoContext1* 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) {
2823    This->lpVtbl->VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset);
2824}
2825static inline void ID3D11VideoContext1_VideoProcessorGetStreamAutoProcessingMode(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled) {
2826    This->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled);
2827}
2828static inline void ID3D11VideoContext1_VideoProcessorGetStreamFilter(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL *enabled,int *level) {
2829    This->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level);
2830}
2831static inline HRESULT ID3D11VideoContext1_VideoProcessorGetStreamExtension(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) {
2832    return This->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data);
2833}
2834static inline HRESULT ID3D11VideoContext1_VideoProcessorBlt(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,ID3D11VideoProcessorOutputView *view,UINT frame_idx,UINT stream_count,const D3D11_VIDEO_PROCESSOR_STREAM *streams) {
2835    return This->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams);
2836}
2837static inline HRESULT ID3D11VideoContext1_NegotiateCryptoSessionKeyExchange(ID3D11VideoContext1* This,ID3D11CryptoSession *session,UINT data_size,void *data) {
2838    return This->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data);
2839}
2840static inline void ID3D11VideoContext1_EncryptionBlt(ID3D11VideoContext1* This,ID3D11CryptoSession *session,ID3D11Texture2D *src_surface,ID3D11Texture2D *dst_surface,UINT iv_size,void *iv) {
2841    This->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv);
2842}
2843static inline void ID3D11VideoContext1_DecryptionBlt(ID3D11VideoContext1* 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) {
2844    This->lpVtbl->DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv);
2845}
2846static inline void ID3D11VideoContext1_StartSessionKeyRefresh(ID3D11VideoContext1* This,ID3D11CryptoSession *session,UINT random_number_size,void *random_number) {
2847    This->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number);
2848}
2849static inline void ID3D11VideoContext1_FinishSessionKeyRefresh(ID3D11VideoContext1* This,ID3D11CryptoSession *session) {
2850    This->lpVtbl->FinishSessionKeyRefresh(This,session);
2851}
2852static inline HRESULT ID3D11VideoContext1_GetEncryptionBltKey(ID3D11VideoContext1* This,ID3D11CryptoSession *session,UINT key_size,void *key) {
2853    return This->lpVtbl->GetEncryptionBltKey(This,session,key_size,key);
2854}
2855static inline HRESULT ID3D11VideoContext1_NegotiateAuthenticatedChannelKeyExchange(ID3D11VideoContext1* This,ID3D11AuthenticatedChannel *channel,UINT data_size,void *data) {
2856    return This->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data);
2857}
2858static inline HRESULT ID3D11VideoContext1_QueryAuthenticatedChannel(ID3D11VideoContext1* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,UINT output_size,void *output) {
2859    return This->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output);
2860}
2861static inline HRESULT ID3D11VideoContext1_ConfigureAuthenticatedChannel(ID3D11VideoContext1* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output) {
2862    return This->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output);
2863}
2864static inline void ID3D11VideoContext1_VideoProcessorSetStreamRotation(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,D3D11_VIDEO_PROCESSOR_ROTATION rotation) {
2865    This->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation);
2866}
2867static inline void ID3D11VideoContext1_VideoProcessorGetStreamRotation(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enable,D3D11_VIDEO_PROCESSOR_ROTATION *rotation) {
2868    This->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation);
2869}
2870/*** ID3D11VideoContext1 methods ***/
2871static inline HRESULT ID3D11VideoContext1_SubmitDecoderBuffers1(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder,UINT buffer_count,const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc) {
2872    return This->lpVtbl->SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc);
2873}
2874static inline HRESULT ID3D11VideoContext1_GetDataForNewHardwareKey(ID3D11VideoContext1* This,ID3D11CryptoSession *session,UINT input_size,const void *input_data,UINT64 *output_data) {
2875    return This->lpVtbl->GetDataForNewHardwareKey(This,session,input_size,input_data,output_data);
2876}
2877static inline HRESULT ID3D11VideoContext1_CheckCryptoSessionStatus(ID3D11VideoContext1* This,ID3D11CryptoSession *session,D3D11_CRYPTO_SESSION_STATUS *status) {
2878    return This->lpVtbl->CheckCryptoSessionStatus(This,session,status);
2879}
2880static inline HRESULT ID3D11VideoContext1_DecoderEnableDownsampling(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder,DXGI_COLOR_SPACE_TYPE colour_space,const D3D11_VIDEO_SAMPLE_DESC *output_desc,UINT reference_frame_count) {
2881    return This->lpVtbl->DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count);
2882}
2883static inline HRESULT ID3D11VideoContext1_DecoderUpdateDownsampling(ID3D11VideoContext1* This,ID3D11VideoDecoder *decoder,const D3D11_VIDEO_SAMPLE_DESC *output_desc) {
2884    return This->lpVtbl->DecoderUpdateDownsampling(This,decoder,output_desc);
2885}
2886static inline void ID3D11VideoContext1_VideoProcessorSetOutputColorSpace1(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,DXGI_COLOR_SPACE_TYPE colour_space) {
2887    This->lpVtbl->VideoProcessorSetOutputColorSpace1(This,processor,colour_space);
2888}
2889static inline void ID3D11VideoContext1_VideoProcessorSetOutputShaderUsage(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL shader_usage) {
2890    This->lpVtbl->VideoProcessorSetOutputShaderUsage(This,processor,shader_usage);
2891}
2892static inline void ID3D11VideoContext1_VideoProcessorGetOutputColorSpace1(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,DXGI_COLOR_SPACE_TYPE *colour_space) {
2893    This->lpVtbl->VideoProcessorGetOutputColorSpace1(This,processor,colour_space);
2894}
2895static inline void ID3D11VideoContext1_VideoProcessorGetOutputShaderUsage(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,WINBOOL *shader_usage) {
2896    This->lpVtbl->VideoProcessorGetOutputShaderUsage(This,processor,shader_usage);
2897}
2898static inline void ID3D11VideoContext1_VideoProcessorSetStreamColorSpace1(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_COLOR_SPACE_TYPE colour_space) {
2899    This->lpVtbl->VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space);
2900}
2901static inline void ID3D11VideoContext1_VideoProcessorSetStreamMirror(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_index,WINBOOL enable,WINBOOL flip_horizontal,WINBOOL flip_vertical) {
2902    This->lpVtbl->VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical);
2903}
2904static inline void ID3D11VideoContext1_VideoProcessorGetStreamColorSpace1(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_COLOR_SPACE_TYPE *colour_space) {
2905    This->lpVtbl->VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space);
2906}
2907static inline void ID3D11VideoContext1_VideoProcessorGetStreamMirror(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT stream_index,WINBOOL *enable,WINBOOL *flip_horizontal,WINBOOL *flip_vertical) {
2908    This->lpVtbl->VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical);
2909}
2910static inline HRESULT ID3D11VideoContext1_VideoProcessorGetBehaviorHints(ID3D11VideoContext1* This,ID3D11VideoProcessor *processor,UINT output_width,UINT output_height,DXGI_FORMAT output_format,UINT stream_count,const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT *streams,UINT *behaviour_hints) {
2911    return This->lpVtbl->VideoProcessorGetBehaviorHints(This,processor,output_width,output_height,output_format,stream_count,streams,behaviour_hints);
2912}
2913#endif
2914#endif
2915
2916#endif
2917
2918
2919#endif  /* __ID3D11VideoContext1_INTERFACE_DEFINED__ */
2920
2921/*****************************************************************************
2922 * ID3D11VideoDevice1 interface
2923 */
2924#ifndef __ID3D11VideoDevice1_INTERFACE_DEFINED__
2925#define __ID3D11VideoDevice1_INTERFACE_DEFINED__
2926
2927DEFINE_GUID(IID_ID3D11VideoDevice1, 0x29da1d51, 0x1321, 0x4454, 0x80,0x4b, 0xf5,0xfc,0x9f,0x86,0x1f,0x0f);
2928#if defined(__cplusplus) && !defined(CINTERFACE)
2929MIDL_INTERFACE("29da1d51-1321-4454-804b-f5fc9f861f0f")
2930ID3D11VideoDevice1 : public ID3D11VideoDevice
2931{
2932    virtual HRESULT STDMETHODCALLTYPE GetCryptoSessionPrivateDataSize(
2933        const GUID *crypto_type,
2934        const GUID *decoder_profile,
2935        const GUID *key_exchange_type,
2936        UINT *input_size,
2937        UINT *output_size) = 0;
2938
2939    virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderCaps(
2940        const GUID *decoder_profile,
2941        UINT sample_width,
2942        UINT sample_height,
2943        const DXGI_RATIONAL *framerate,
2944        UINT bitrate,
2945        const GUID *crypto_type,
2946        UINT *decoder_caps) = 0;
2947
2948    virtual HRESULT STDMETHODCALLTYPE CheckVideoDecoderDownsampling(
2949        const D3D11_VIDEO_DECODER_DESC *input_desc,
2950        DXGI_COLOR_SPACE_TYPE input_colour_space,
2951        const D3D11_VIDEO_DECODER_CONFIG *input_config,
2952        const DXGI_RATIONAL *framerate,
2953        const D3D11_VIDEO_SAMPLE_DESC *output_desc,
2954        WINBOOL *supported,
2955        WINBOOL *real_time_hint) = 0;
2956
2957    virtual HRESULT STDMETHODCALLTYPE RecommendVideoDecoderDownsampleParameters(
2958        const D3D11_VIDEO_DECODER_DESC *input_desc,
2959        DXGI_COLOR_SPACE_TYPE input_colour_space,
2960        const D3D11_VIDEO_DECODER_CONFIG *input_config,
2961        const DXGI_RATIONAL *framerate,
2962        D3D11_VIDEO_SAMPLE_DESC *recommended_output_desc) = 0;
2963
2964};
2965#ifdef __CRT_UUID_DECL
2966__CRT_UUID_DECL(ID3D11VideoDevice1, 0x29da1d51, 0x1321, 0x4454, 0x80,0x4b, 0xf5,0xfc,0x9f,0x86,0x1f,0x0f)
2967#endif
2968#else
2969typedef struct ID3D11VideoDevice1Vtbl {
2970    BEGIN_INTERFACE
2971
2972    /*** IUnknown methods ***/
2973    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2974        ID3D11VideoDevice1 *This,
2975        REFIID riid,
2976        void **ppvObject);
2977
2978    ULONG (STDMETHODCALLTYPE *AddRef)(
2979        ID3D11VideoDevice1 *This);
2980
2981    ULONG (STDMETHODCALLTYPE *Release)(
2982        ID3D11VideoDevice1 *This);
2983
2984    /*** ID3D11VideoDevice methods ***/
2985    HRESULT (STDMETHODCALLTYPE *CreateVideoDecoder)(
2986        ID3D11VideoDevice1 *This,
2987        const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
2988        const D3D11_VIDEO_DECODER_CONFIG *pConfig,
2989        ID3D11VideoDecoder **ppDecoder);
2990
2991    HRESULT (STDMETHODCALLTYPE *CreateVideoProcessor)(
2992        ID3D11VideoDevice1 *This,
2993        ID3D11VideoProcessorEnumerator *pEnum,
2994        UINT RateConversionIndex,
2995        ID3D11VideoProcessor **ppVideoProcessor);
2996
2997    HRESULT (STDMETHODCALLTYPE *CreateAuthenticatedChannel)(
2998        ID3D11VideoDevice1 *This,
2999        D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
3000        ID3D11AuthenticatedChannel **ppAuthenticatedChannel);
3001
3002    HRESULT (STDMETHODCALLTYPE *CreateCryptoSession)(
3003        ID3D11VideoDevice1 *This,
3004        const GUID *pCryptoType,
3005        const GUID *pDecoderProfile,
3006        const GUID *pKeyExchangeType,
3007        ID3D11CryptoSession **ppCryptoSession);
3008
3009    HRESULT (STDMETHODCALLTYPE *CreateVideoDecoderOutputView)(
3010        ID3D11VideoDevice1 *This,
3011        ID3D11Resource *pResource,
3012        const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
3013        ID3D11VideoDecoderOutputView **ppVDOVView);
3014
3015    HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorInputView)(
3016        ID3D11VideoDevice1 *This,
3017        ID3D11Resource *pResource,
3018        ID3D11VideoProcessorEnumerator *pEnum,
3019        const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
3020        ID3D11VideoProcessorInputView **ppVPIView);
3021
3022    HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorOutputView)(
3023        ID3D11VideoDevice1 *This,
3024        ID3D11Resource *pResource,
3025        ID3D11VideoProcessorEnumerator *pEnum,
3026        const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
3027        ID3D11VideoProcessorOutputView **ppVPOView);
3028
3029    HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorEnumerator)(
3030        ID3D11VideoDevice1 *This,
3031        const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,
3032        ID3D11VideoProcessorEnumerator **ppEnum);
3033
3034    UINT (STDMETHODCALLTYPE *GetVideoDecoderProfileCount)(
3035        ID3D11VideoDevice1 *This);
3036
3037    HRESULT (STDMETHODCALLTYPE *GetVideoDecoderProfile)(
3038        ID3D11VideoDevice1 *This,
3039        UINT Index,
3040        GUID *pDecoderProfile);
3041
3042    HRESULT (STDMETHODCALLTYPE *CheckVideoDecoderFormat)(
3043        ID3D11VideoDevice1 *This,
3044        const GUID *pDecoderProfile,
3045        DXGI_FORMAT Format,
3046        WINBOOL *pSupported);
3047
3048    HRESULT (STDMETHODCALLTYPE *GetVideoDecoderConfigCount)(
3049        ID3D11VideoDevice1 *This,
3050        const D3D11_VIDEO_DECODER_DESC *pDesc,
3051        UINT *pCount);
3052
3053    HRESULT (STDMETHODCALLTYPE *GetVideoDecoderConfig)(
3054        ID3D11VideoDevice1 *This,
3055        const D3D11_VIDEO_DECODER_DESC *pDesc,
3056        UINT Index,
3057        D3D11_VIDEO_DECODER_CONFIG *pConfig);
3058
3059    HRESULT (STDMETHODCALLTYPE *GetContentProtectionCaps)(
3060        ID3D11VideoDevice1 *This,
3061        const GUID *pCryptoType,
3062        const GUID *pDecoderProfile,
3063        D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps);
3064
3065    HRESULT (STDMETHODCALLTYPE *CheckCryptoKeyExchange)(
3066        ID3D11VideoDevice1 *This,
3067        const GUID *pCryptoType,
3068        const GUID *pDecoderProfile,
3069        UINT Index,
3070        GUID *pKeyExchangeType);
3071
3072    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
3073        ID3D11VideoDevice1 *This,
3074        REFGUID guid,
3075        UINT DataSize,
3076        const void *pData);
3077
3078    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
3079        ID3D11VideoDevice1 *This,
3080        REFGUID guid,
3081        const IUnknown *pData);
3082
3083    /*** ID3D11VideoDevice1 methods ***/
3084    HRESULT (STDMETHODCALLTYPE *GetCryptoSessionPrivateDataSize)(
3085        ID3D11VideoDevice1 *This,
3086        const GUID *crypto_type,
3087        const GUID *decoder_profile,
3088        const GUID *key_exchange_type,
3089        UINT *input_size,
3090        UINT *output_size);
3091
3092    HRESULT (STDMETHODCALLTYPE *GetVideoDecoderCaps)(
3093        ID3D11VideoDevice1 *This,
3094        const GUID *decoder_profile,
3095        UINT sample_width,
3096        UINT sample_height,
3097        const DXGI_RATIONAL *framerate,
3098        UINT bitrate,
3099        const GUID *crypto_type,
3100        UINT *decoder_caps);
3101
3102    HRESULT (STDMETHODCALLTYPE *CheckVideoDecoderDownsampling)(
3103        ID3D11VideoDevice1 *This,
3104        const D3D11_VIDEO_DECODER_DESC *input_desc,
3105        DXGI_COLOR_SPACE_TYPE input_colour_space,
3106        const D3D11_VIDEO_DECODER_CONFIG *input_config,
3107        const DXGI_RATIONAL *framerate,
3108        const D3D11_VIDEO_SAMPLE_DESC *output_desc,
3109        WINBOOL *supported,
3110        WINBOOL *real_time_hint);
3111
3112    HRESULT (STDMETHODCALLTYPE *RecommendVideoDecoderDownsampleParameters)(
3113        ID3D11VideoDevice1 *This,
3114        const D3D11_VIDEO_DECODER_DESC *input_desc,
3115        DXGI_COLOR_SPACE_TYPE input_colour_space,
3116        const D3D11_VIDEO_DECODER_CONFIG *input_config,
3117        const DXGI_RATIONAL *framerate,
3118        D3D11_VIDEO_SAMPLE_DESC *recommended_output_desc);
3119
3120    END_INTERFACE
3121} ID3D11VideoDevice1Vtbl;
3122
3123interface ID3D11VideoDevice1 {
3124    CONST_VTBL ID3D11VideoDevice1Vtbl* lpVtbl;
3125};
3126
3127#ifdef COBJMACROS
3128#ifndef WIDL_C_INLINE_WRAPPERS
3129/*** IUnknown methods ***/
3130#define ID3D11VideoDevice1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3131#define ID3D11VideoDevice1_AddRef(This) (This)->lpVtbl->AddRef(This)
3132#define ID3D11VideoDevice1_Release(This) (This)->lpVtbl->Release(This)
3133/*** ID3D11VideoDevice methods ***/
3134#define ID3D11VideoDevice1_CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder) (This)->lpVtbl->CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder)
3135#define ID3D11VideoDevice1_CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor) (This)->lpVtbl->CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor)
3136#define ID3D11VideoDevice1_CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel) (This)->lpVtbl->CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel)
3137#define ID3D11VideoDevice1_CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession) (This)->lpVtbl->CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession)
3138#define ID3D11VideoDevice1_CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView) (This)->lpVtbl->CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView)
3139#define ID3D11VideoDevice1_CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView) (This)->lpVtbl->CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView)
3140#define ID3D11VideoDevice1_CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView) (This)->lpVtbl->CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView)
3141#define ID3D11VideoDevice1_CreateVideoProcessorEnumerator(This,pDesc,ppEnum) (This)->lpVtbl->CreateVideoProcessorEnumerator(This,pDesc,ppEnum)
3142#define ID3D11VideoDevice1_GetVideoDecoderProfileCount(This) (This)->lpVtbl->GetVideoDecoderProfileCount(This)
3143#define ID3D11VideoDevice1_GetVideoDecoderProfile(This,Index,pDecoderProfile) (This)->lpVtbl->GetVideoDecoderProfile(This,Index,pDecoderProfile)
3144#define ID3D11VideoDevice1_CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported) (This)->lpVtbl->CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported)
3145#define ID3D11VideoDevice1_GetVideoDecoderConfigCount(This,pDesc,pCount) (This)->lpVtbl->GetVideoDecoderConfigCount(This,pDesc,pCount)
3146#define ID3D11VideoDevice1_GetVideoDecoderConfig(This,pDesc,Index,pConfig) (This)->lpVtbl->GetVideoDecoderConfig(This,pDesc,Index,pConfig)
3147#define ID3D11VideoDevice1_GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps) (This)->lpVtbl->GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps)
3148#define ID3D11VideoDevice1_CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType) (This)->lpVtbl->CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType)
3149#define ID3D11VideoDevice1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
3150#define ID3D11VideoDevice1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
3151/*** ID3D11VideoDevice1 methods ***/
3152#define ID3D11VideoDevice1_GetCryptoSessionPrivateDataSize(This,crypto_type,decoder_profile,key_exchange_type,input_size,output_size) (This)->lpVtbl->GetCryptoSessionPrivateDataSize(This,crypto_type,decoder_profile,key_exchange_type,input_size,output_size)
3153#define ID3D11VideoDevice1_GetVideoDecoderCaps(This,decoder_profile,sample_width,sample_height,framerate,bitrate,crypto_type,decoder_caps) (This)->lpVtbl->GetVideoDecoderCaps(This,decoder_profile,sample_width,sample_height,framerate,bitrate,crypto_type,decoder_caps)
3154#define ID3D11VideoDevice1_CheckVideoDecoderDownsampling(This,input_desc,input_colour_space,input_config,framerate,output_desc,supported,real_time_hint) (This)->lpVtbl->CheckVideoDecoderDownsampling(This,input_desc,input_colour_space,input_config,framerate,output_desc,supported,real_time_hint)
3155#define ID3D11VideoDevice1_RecommendVideoDecoderDownsampleParameters(This,input_desc,input_colour_space,input_config,framerate,recommended_output_desc) (This)->lpVtbl->RecommendVideoDecoderDownsampleParameters(This,input_desc,input_colour_space,input_config,framerate,recommended_output_desc)
3156#else
3157/*** IUnknown methods ***/
3158static inline HRESULT ID3D11VideoDevice1_QueryInterface(ID3D11VideoDevice1* This,REFIID riid,void **ppvObject) {
3159    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3160}
3161static inline ULONG ID3D11VideoDevice1_AddRef(ID3D11VideoDevice1* This) {
3162    return This->lpVtbl->AddRef(This);
3163}
3164static inline ULONG ID3D11VideoDevice1_Release(ID3D11VideoDevice1* This) {
3165    return This->lpVtbl->Release(This);
3166}
3167/*** ID3D11VideoDevice methods ***/
3168static inline HRESULT ID3D11VideoDevice1_CreateVideoDecoder(ID3D11VideoDevice1* This,const D3D11_VIDEO_DECODER_DESC *pVideoDesc,const D3D11_VIDEO_DECODER_CONFIG *pConfig,ID3D11VideoDecoder **ppDecoder) {
3169    return This->lpVtbl->CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder);
3170}
3171static inline HRESULT ID3D11VideoDevice1_CreateVideoProcessor(ID3D11VideoDevice1* This,ID3D11VideoProcessorEnumerator *pEnum,UINT RateConversionIndex,ID3D11VideoProcessor **ppVideoProcessor) {
3172    return This->lpVtbl->CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor);
3173}
3174static inline HRESULT ID3D11VideoDevice1_CreateAuthenticatedChannel(ID3D11VideoDevice1* This,D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,ID3D11AuthenticatedChannel **ppAuthenticatedChannel) {
3175    return This->lpVtbl->CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel);
3176}
3177static inline HRESULT ID3D11VideoDevice1_CreateCryptoSession(ID3D11VideoDevice1* This,const GUID *pCryptoType,const GUID *pDecoderProfile,const GUID *pKeyExchangeType,ID3D11CryptoSession **ppCryptoSession) {
3178    return This->lpVtbl->CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession);
3179}
3180static inline HRESULT ID3D11VideoDevice1_CreateVideoDecoderOutputView(ID3D11VideoDevice1* This,ID3D11Resource *pResource,const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,ID3D11VideoDecoderOutputView **ppVDOVView) {
3181    return This->lpVtbl->CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView);
3182}
3183static inline HRESULT ID3D11VideoDevice1_CreateVideoProcessorInputView(ID3D11VideoDevice1* This,ID3D11Resource *pResource,ID3D11VideoProcessorEnumerator *pEnum,const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,ID3D11VideoProcessorInputView **ppVPIView) {
3184    return This->lpVtbl->CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView);
3185}
3186static inline HRESULT ID3D11VideoDevice1_CreateVideoProcessorOutputView(ID3D11VideoDevice1* This,ID3D11Resource *pResource,ID3D11VideoProcessorEnumerator *pEnum,const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,ID3D11VideoProcessorOutputView **ppVPOView) {
3187    return This->lpVtbl->CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView);
3188}
3189static inline HRESULT ID3D11VideoDevice1_CreateVideoProcessorEnumerator(ID3D11VideoDevice1* This,const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,ID3D11VideoProcessorEnumerator **ppEnum) {
3190    return This->lpVtbl->CreateVideoProcessorEnumerator(This,pDesc,ppEnum);
3191}
3192static inline UINT ID3D11VideoDevice1_GetVideoDecoderProfileCount(ID3D11VideoDevice1* This) {
3193    return This->lpVtbl->GetVideoDecoderProfileCount(This);
3194}
3195static inline HRESULT ID3D11VideoDevice1_GetVideoDecoderProfile(ID3D11VideoDevice1* This,UINT Index,GUID *pDecoderProfile) {
3196    return This->lpVtbl->GetVideoDecoderProfile(This,Index,pDecoderProfile);
3197}
3198static inline HRESULT ID3D11VideoDevice1_CheckVideoDecoderFormat(ID3D11VideoDevice1* This,const GUID *pDecoderProfile,DXGI_FORMAT Format,WINBOOL *pSupported) {
3199    return This->lpVtbl->CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported);
3200}
3201static inline HRESULT ID3D11VideoDevice1_GetVideoDecoderConfigCount(ID3D11VideoDevice1* This,const D3D11_VIDEO_DECODER_DESC *pDesc,UINT *pCount) {
3202    return This->lpVtbl->GetVideoDecoderConfigCount(This,pDesc,pCount);
3203}
3204static inline HRESULT ID3D11VideoDevice1_GetVideoDecoderConfig(ID3D11VideoDevice1* This,const D3D11_VIDEO_DECODER_DESC *pDesc,UINT Index,D3D11_VIDEO_DECODER_CONFIG *pConfig) {
3205    return This->lpVtbl->GetVideoDecoderConfig(This,pDesc,Index,pConfig);
3206}
3207static inline HRESULT ID3D11VideoDevice1_GetContentProtectionCaps(ID3D11VideoDevice1* This,const GUID *pCryptoType,const GUID *pDecoderProfile,D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps) {
3208    return This->lpVtbl->GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps);
3209}
3210static inline HRESULT ID3D11VideoDevice1_CheckCryptoKeyExchange(ID3D11VideoDevice1* This,const GUID *pCryptoType,const GUID *pDecoderProfile,UINT Index,GUID *pKeyExchangeType) {
3211    return This->lpVtbl->CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType);
3212}
3213static inline HRESULT ID3D11VideoDevice1_SetPrivateData(ID3D11VideoDevice1* This,REFGUID guid,UINT DataSize,const void *pData) {
3214    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
3215}
3216static inline HRESULT ID3D11VideoDevice1_SetPrivateDataInterface(ID3D11VideoDevice1* This,REFGUID guid,const IUnknown *pData) {
3217    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
3218}
3219/*** ID3D11VideoDevice1 methods ***/
3220static inline HRESULT ID3D11VideoDevice1_GetCryptoSessionPrivateDataSize(ID3D11VideoDevice1* This,const GUID *crypto_type,const GUID *decoder_profile,const GUID *key_exchange_type,UINT *input_size,UINT *output_size) {
3221    return This->lpVtbl->GetCryptoSessionPrivateDataSize(This,crypto_type,decoder_profile,key_exchange_type,input_size,output_size);
3222}
3223static inline HRESULT ID3D11VideoDevice1_GetVideoDecoderCaps(ID3D11VideoDevice1* This,const GUID *decoder_profile,UINT sample_width,UINT sample_height,const DXGI_RATIONAL *framerate,UINT bitrate,const GUID *crypto_type,UINT *decoder_caps) {
3224    return This->lpVtbl->GetVideoDecoderCaps(This,decoder_profile,sample_width,sample_height,framerate,bitrate,crypto_type,decoder_caps);
3225}
3226static inline HRESULT ID3D11VideoDevice1_CheckVideoDecoderDownsampling(ID3D11VideoDevice1* This,const D3D11_VIDEO_DECODER_DESC *input_desc,DXGI_COLOR_SPACE_TYPE input_colour_space,const D3D11_VIDEO_DECODER_CONFIG *input_config,const DXGI_RATIONAL *framerate,const D3D11_VIDEO_SAMPLE_DESC *output_desc,WINBOOL *supported,WINBOOL *real_time_hint) {
3227    return This->lpVtbl->CheckVideoDecoderDownsampling(This,input_desc,input_colour_space,input_config,framerate,output_desc,supported,real_time_hint);
3228}
3229static inline HRESULT ID3D11VideoDevice1_RecommendVideoDecoderDownsampleParameters(ID3D11VideoDevice1* This,const D3D11_VIDEO_DECODER_DESC *input_desc,DXGI_COLOR_SPACE_TYPE input_colour_space,const D3D11_VIDEO_DECODER_CONFIG *input_config,const DXGI_RATIONAL *framerate,D3D11_VIDEO_SAMPLE_DESC *recommended_output_desc) {
3230    return This->lpVtbl->RecommendVideoDecoderDownsampleParameters(This,input_desc,input_colour_space,input_config,framerate,recommended_output_desc);
3231}
3232#endif
3233#endif
3234
3235#endif
3236
3237
3238#endif  /* __ID3D11VideoDevice1_INTERFACE_DEFINED__ */
3239
3240/*****************************************************************************
3241 * ID3D11VideoProcessorEnumerator1 interface
3242 */
3243#ifndef __ID3D11VideoProcessorEnumerator1_INTERFACE_DEFINED__
3244#define __ID3D11VideoProcessorEnumerator1_INTERFACE_DEFINED__
3245
3246DEFINE_GUID(IID_ID3D11VideoProcessorEnumerator1, 0x465217f2, 0x5568, 0x43cf, 0xb5,0xb9, 0xf6,0x1d,0x54,0x53,0x1c,0xa1);
3247#if defined(__cplusplus) && !defined(CINTERFACE)
3248MIDL_INTERFACE("465217f2-5568-43cf-b5b9-f61d54531ca1")
3249ID3D11VideoProcessorEnumerator1 : public ID3D11VideoProcessorEnumerator
3250{
3251    virtual HRESULT STDMETHODCALLTYPE CheckVideoProcessorFormatConversion(
3252        DXGI_FORMAT input_format,
3253        DXGI_COLOR_SPACE_TYPE input_colour_space,
3254        DXGI_FORMAT output_format,
3255        DXGI_COLOR_SPACE_TYPE output_colour_space,
3256        WINBOOL *supported) = 0;
3257
3258};
3259#ifdef __CRT_UUID_DECL
3260__CRT_UUID_DECL(ID3D11VideoProcessorEnumerator1, 0x465217f2, 0x5568, 0x43cf, 0xb5,0xb9, 0xf6,0x1d,0x54,0x53,0x1c,0xa1)
3261#endif
3262#else
3263typedef struct ID3D11VideoProcessorEnumerator1Vtbl {
3264    BEGIN_INTERFACE
3265
3266    /*** IUnknown methods ***/
3267    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3268        ID3D11VideoProcessorEnumerator1 *This,
3269        REFIID riid,
3270        void **ppvObject);
3271
3272    ULONG (STDMETHODCALLTYPE *AddRef)(
3273        ID3D11VideoProcessorEnumerator1 *This);
3274
3275    ULONG (STDMETHODCALLTYPE *Release)(
3276        ID3D11VideoProcessorEnumerator1 *This);
3277
3278    /*** ID3D11DeviceChild methods ***/
3279    void (STDMETHODCALLTYPE *GetDevice)(
3280        ID3D11VideoProcessorEnumerator1 *This,
3281        ID3D11Device **ppDevice);
3282
3283    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
3284        ID3D11VideoProcessorEnumerator1 *This,
3285        REFGUID guid,
3286        UINT *pDataSize,
3287        void *pData);
3288
3289    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
3290        ID3D11VideoProcessorEnumerator1 *This,
3291        REFGUID guid,
3292        UINT DataSize,
3293        const void *pData);
3294
3295    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
3296        ID3D11VideoProcessorEnumerator1 *This,
3297        REFGUID guid,
3298        const IUnknown *pData);
3299
3300    /*** ID3D11VideoProcessorEnumerator methods ***/
3301    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorContentDesc)(
3302        ID3D11VideoProcessorEnumerator1 *This,
3303        D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc);
3304
3305    HRESULT (STDMETHODCALLTYPE *CheckVideoProcessorFormat)(
3306        ID3D11VideoProcessorEnumerator1 *This,
3307        DXGI_FORMAT Format,
3308        UINT *pFlags);
3309
3310    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
3311        ID3D11VideoProcessorEnumerator1 *This,
3312        D3D11_VIDEO_PROCESSOR_CAPS *pCaps);
3313
3314    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorRateConversionCaps)(
3315        ID3D11VideoProcessorEnumerator1 *This,
3316        UINT TypeIndex,
3317        D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
3318
3319    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCustomRate)(
3320        ID3D11VideoProcessorEnumerator1 *This,
3321        UINT TypeIndex,
3322        UINT CustomRateIndex,
3323        D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate);
3324
3325    HRESULT (STDMETHODCALLTYPE *GetVideoProcessorFilterRange)(
3326        ID3D11VideoProcessorEnumerator1 *This,
3327        D3D11_VIDEO_PROCESSOR_FILTER Filter,
3328        D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange);
3329
3330    /*** ID3D11VideoProcessorEnumerator1 methods ***/
3331    HRESULT (STDMETHODCALLTYPE *CheckVideoProcessorFormatConversion)(
3332        ID3D11VideoProcessorEnumerator1 *This,
3333        DXGI_FORMAT input_format,
3334        DXGI_COLOR_SPACE_TYPE input_colour_space,
3335        DXGI_FORMAT output_format,
3336        DXGI_COLOR_SPACE_TYPE output_colour_space,
3337        WINBOOL *supported);
3338
3339    END_INTERFACE
3340} ID3D11VideoProcessorEnumerator1Vtbl;
3341
3342interface ID3D11VideoProcessorEnumerator1 {
3343    CONST_VTBL ID3D11VideoProcessorEnumerator1Vtbl* lpVtbl;
3344};
3345
3346#ifdef COBJMACROS
3347#ifndef WIDL_C_INLINE_WRAPPERS
3348/*** IUnknown methods ***/
3349#define ID3D11VideoProcessorEnumerator1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3350#define ID3D11VideoProcessorEnumerator1_AddRef(This) (This)->lpVtbl->AddRef(This)
3351#define ID3D11VideoProcessorEnumerator1_Release(This) (This)->lpVtbl->Release(This)
3352/*** ID3D11DeviceChild methods ***/
3353#define ID3D11VideoProcessorEnumerator1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
3354#define ID3D11VideoProcessorEnumerator1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
3355#define ID3D11VideoProcessorEnumerator1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
3356#define ID3D11VideoProcessorEnumerator1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
3357/*** ID3D11VideoProcessorEnumerator methods ***/
3358#define ID3D11VideoProcessorEnumerator1_GetVideoProcessorContentDesc(This,pContentDesc) (This)->lpVtbl->GetVideoProcessorContentDesc(This,pContentDesc)
3359#define ID3D11VideoProcessorEnumerator1_CheckVideoProcessorFormat(This,Format,pFlags) (This)->lpVtbl->CheckVideoProcessorFormat(This,Format,pFlags)
3360#define ID3D11VideoProcessorEnumerator1_GetVideoProcessorCaps(This,pCaps) (This)->lpVtbl->GetVideoProcessorCaps(This,pCaps)
3361#define ID3D11VideoProcessorEnumerator1_GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps) (This)->lpVtbl->GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps)
3362#define ID3D11VideoProcessorEnumerator1_GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate) (This)->lpVtbl->GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate)
3363#define ID3D11VideoProcessorEnumerator1_GetVideoProcessorFilterRange(This,Filter,pRange) (This)->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange)
3364/*** ID3D11VideoProcessorEnumerator1 methods ***/
3365#define ID3D11VideoProcessorEnumerator1_CheckVideoProcessorFormatConversion(This,input_format,input_colour_space,output_format,output_colour_space,supported) (This)->lpVtbl->CheckVideoProcessorFormatConversion(This,input_format,input_colour_space,output_format,output_colour_space,supported)
3366#else
3367/*** IUnknown methods ***/
3368static inline HRESULT ID3D11VideoProcessorEnumerator1_QueryInterface(ID3D11VideoProcessorEnumerator1* This,REFIID riid,void **ppvObject) {
3369    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3370}
3371static inline ULONG ID3D11VideoProcessorEnumerator1_AddRef(ID3D11VideoProcessorEnumerator1* This) {
3372    return This->lpVtbl->AddRef(This);
3373}
3374static inline ULONG ID3D11VideoProcessorEnumerator1_Release(ID3D11VideoProcessorEnumerator1* This) {
3375    return This->lpVtbl->Release(This);
3376}
3377/*** ID3D11DeviceChild methods ***/
3378static inline void ID3D11VideoProcessorEnumerator1_GetDevice(ID3D11VideoProcessorEnumerator1* This,ID3D11Device **ppDevice) {
3379    This->lpVtbl->GetDevice(This,ppDevice);
3380}
3381static inline HRESULT ID3D11VideoProcessorEnumerator1_GetPrivateData(ID3D11VideoProcessorEnumerator1* This,REFGUID guid,UINT *pDataSize,void *pData) {
3382    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
3383}
3384static inline HRESULT ID3D11VideoProcessorEnumerator1_SetPrivateData(ID3D11VideoProcessorEnumerator1* This,REFGUID guid,UINT DataSize,const void *pData) {
3385    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
3386}
3387static inline HRESULT ID3D11VideoProcessorEnumerator1_SetPrivateDataInterface(ID3D11VideoProcessorEnumerator1* This,REFGUID guid,const IUnknown *pData) {
3388    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
3389}
3390/*** ID3D11VideoProcessorEnumerator methods ***/
3391static inline HRESULT ID3D11VideoProcessorEnumerator1_GetVideoProcessorContentDesc(ID3D11VideoProcessorEnumerator1* This,D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc) {
3392    return This->lpVtbl->GetVideoProcessorContentDesc(This,pContentDesc);
3393}
3394static inline HRESULT ID3D11VideoProcessorEnumerator1_CheckVideoProcessorFormat(ID3D11VideoProcessorEnumerator1* This,DXGI_FORMAT Format,UINT *pFlags) {
3395    return This->lpVtbl->CheckVideoProcessorFormat(This,Format,pFlags);
3396}
3397static inline HRESULT ID3D11VideoProcessorEnumerator1_GetVideoProcessorCaps(ID3D11VideoProcessorEnumerator1* This,D3D11_VIDEO_PROCESSOR_CAPS *pCaps) {
3398    return This->lpVtbl->GetVideoProcessorCaps(This,pCaps);
3399}
3400static inline HRESULT ID3D11VideoProcessorEnumerator1_GetVideoProcessorRateConversionCaps(ID3D11VideoProcessorEnumerator1* This,UINT TypeIndex,D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) {
3401    return This->lpVtbl->GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps);
3402}
3403static inline HRESULT ID3D11VideoProcessorEnumerator1_GetVideoProcessorCustomRate(ID3D11VideoProcessorEnumerator1* This,UINT TypeIndex,UINT CustomRateIndex,D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate) {
3404    return This->lpVtbl->GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate);
3405}
3406static inline HRESULT ID3D11VideoProcessorEnumerator1_GetVideoProcessorFilterRange(ID3D11VideoProcessorEnumerator1* This,D3D11_VIDEO_PROCESSOR_FILTER Filter,D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange) {
3407    return This->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange);
3408}
3409/*** ID3D11VideoProcessorEnumerator1 methods ***/
3410static inline HRESULT ID3D11VideoProcessorEnumerator1_CheckVideoProcessorFormatConversion(ID3D11VideoProcessorEnumerator1* This,DXGI_FORMAT input_format,DXGI_COLOR_SPACE_TYPE input_colour_space,DXGI_FORMAT output_format,DXGI_COLOR_SPACE_TYPE output_colour_space,WINBOOL *supported) {
3411    return This->lpVtbl->CheckVideoProcessorFormatConversion(This,input_format,input_colour_space,output_format,output_colour_space,supported);
3412}
3413#endif
3414#endif
3415
3416#endif
3417
3418
3419#endif  /* __ID3D11VideoProcessorEnumerator1_INTERFACE_DEFINED__ */
3420
3421/*****************************************************************************
3422 * ID3DUserDefinedAnnotation interface
3423 */
3424#ifndef __ID3DUserDefinedAnnotation_INTERFACE_DEFINED__
3425#define __ID3DUserDefinedAnnotation_INTERFACE_DEFINED__
3426
3427DEFINE_GUID(IID_ID3DUserDefinedAnnotation, 0xb2daad8b, 0x03d4, 0x4dbf, 0x95,0xeb, 0x32,0xab,0x4b,0x63,0xd0,0xab);
3428#if defined(__cplusplus) && !defined(CINTERFACE)
3429MIDL_INTERFACE("b2daad8b-03d4-4dbf-95eb-32ab4b63d0ab")
3430ID3DUserDefinedAnnotation : public IUnknown
3431{
3432    virtual INT STDMETHODCALLTYPE BeginEvent(
3433        LPCWSTR Name) = 0;
3434
3435    virtual INT STDMETHODCALLTYPE EndEvent(
3436        ) = 0;
3437
3438    virtual void STDMETHODCALLTYPE SetMarker(
3439        LPCWSTR Name) = 0;
3440
3441    virtual WINBOOL STDMETHODCALLTYPE GetStatus(
3442        ) = 0;
3443
3444};
3445#ifdef __CRT_UUID_DECL
3446__CRT_UUID_DECL(ID3DUserDefinedAnnotation, 0xb2daad8b, 0x03d4, 0x4dbf, 0x95,0xeb, 0x32,0xab,0x4b,0x63,0xd0,0xab)
3447#endif
3448#else
3449typedef struct ID3DUserDefinedAnnotationVtbl {
3450    BEGIN_INTERFACE
3451
3452    /*** IUnknown methods ***/
3453    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3454        ID3DUserDefinedAnnotation *This,
3455        REFIID riid,
3456        void **ppvObject);
3457
3458    ULONG (STDMETHODCALLTYPE *AddRef)(
3459        ID3DUserDefinedAnnotation *This);
3460
3461    ULONG (STDMETHODCALLTYPE *Release)(
3462        ID3DUserDefinedAnnotation *This);
3463
3464    /*** ID3DUserDefinedAnnotation methods ***/
3465    INT (STDMETHODCALLTYPE *BeginEvent)(
3466        ID3DUserDefinedAnnotation *This,
3467        LPCWSTR Name);
3468
3469    INT (STDMETHODCALLTYPE *EndEvent)(
3470        ID3DUserDefinedAnnotation *This);
3471
3472    void (STDMETHODCALLTYPE *SetMarker)(
3473        ID3DUserDefinedAnnotation *This,
3474        LPCWSTR Name);
3475
3476    WINBOOL (STDMETHODCALLTYPE *GetStatus)(
3477        ID3DUserDefinedAnnotation *This);
3478
3479    END_INTERFACE
3480} ID3DUserDefinedAnnotationVtbl;
3481
3482interface ID3DUserDefinedAnnotation {
3483    CONST_VTBL ID3DUserDefinedAnnotationVtbl* lpVtbl;
3484};
3485
3486#ifdef COBJMACROS
3487#ifndef WIDL_C_INLINE_WRAPPERS
3488/*** IUnknown methods ***/
3489#define ID3DUserDefinedAnnotation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3490#define ID3DUserDefinedAnnotation_AddRef(This) (This)->lpVtbl->AddRef(This)
3491#define ID3DUserDefinedAnnotation_Release(This) (This)->lpVtbl->Release(This)
3492/*** ID3DUserDefinedAnnotation methods ***/
3493#define ID3DUserDefinedAnnotation_BeginEvent(This,Name) (This)->lpVtbl->BeginEvent(This,Name)
3494#define ID3DUserDefinedAnnotation_EndEvent(This) (This)->lpVtbl->EndEvent(This)
3495#define ID3DUserDefinedAnnotation_SetMarker(This,Name) (This)->lpVtbl->SetMarker(This,Name)
3496#define ID3DUserDefinedAnnotation_GetStatus(This) (This)->lpVtbl->GetStatus(This)
3497#else
3498/*** IUnknown methods ***/
3499static inline HRESULT ID3DUserDefinedAnnotation_QueryInterface(ID3DUserDefinedAnnotation* This,REFIID riid,void **ppvObject) {
3500    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3501}
3502static inline ULONG ID3DUserDefinedAnnotation_AddRef(ID3DUserDefinedAnnotation* This) {
3503    return This->lpVtbl->AddRef(This);
3504}
3505static inline ULONG ID3DUserDefinedAnnotation_Release(ID3DUserDefinedAnnotation* This) {
3506    return This->lpVtbl->Release(This);
3507}
3508/*** ID3DUserDefinedAnnotation methods ***/
3509static inline INT ID3DUserDefinedAnnotation_BeginEvent(ID3DUserDefinedAnnotation* This,LPCWSTR Name) {
3510    return This->lpVtbl->BeginEvent(This,Name);
3511}
3512static inline INT ID3DUserDefinedAnnotation_EndEvent(ID3DUserDefinedAnnotation* This) {
3513    return This->lpVtbl->EndEvent(This);
3514}
3515static inline void ID3DUserDefinedAnnotation_SetMarker(ID3DUserDefinedAnnotation* This,LPCWSTR Name) {
3516    This->lpVtbl->SetMarker(This,Name);
3517}
3518static inline WINBOOL ID3DUserDefinedAnnotation_GetStatus(ID3DUserDefinedAnnotation* This) {
3519    return This->lpVtbl->GetStatus(This);
3520}
3521#endif
3522#endif
3523
3524#endif
3525
3526
3527#endif  /* __ID3DUserDefinedAnnotation_INTERFACE_DEFINED__ */
3528
3529/*****************************************************************************
3530 * ID3D11RasterizerState1 interface
3531 */
3532#ifndef __ID3D11RasterizerState1_INTERFACE_DEFINED__
3533#define __ID3D11RasterizerState1_INTERFACE_DEFINED__
3534
3535DEFINE_GUID(IID_ID3D11RasterizerState1, 0x1217d7a6, 0x5039, 0x418c, 0xb0,0x42, 0x9c,0xbe,0x25,0x6a,0xfd,0x6e);
3536#if defined(__cplusplus) && !defined(CINTERFACE)
3537MIDL_INTERFACE("1217d7a6-5039-418c-b042-9cbe256afd6e")
3538ID3D11RasterizerState1 : public ID3D11RasterizerState
3539{
3540    virtual void STDMETHODCALLTYPE GetDesc1(
3541        D3D11_RASTERIZER_DESC1 *pDesc) = 0;
3542
3543};
3544#ifdef __CRT_UUID_DECL
3545__CRT_UUID_DECL(ID3D11RasterizerState1, 0x1217d7a6, 0x5039, 0x418c, 0xb0,0x42, 0x9c,0xbe,0x25,0x6a,0xfd,0x6e)
3546#endif
3547#else
3548typedef struct ID3D11RasterizerState1Vtbl {
3549    BEGIN_INTERFACE
3550
3551    /*** IUnknown methods ***/
3552    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3553        ID3D11RasterizerState1 *This,
3554        REFIID riid,
3555        void **ppvObject);
3556
3557    ULONG (STDMETHODCALLTYPE *AddRef)(
3558        ID3D11RasterizerState1 *This);
3559
3560    ULONG (STDMETHODCALLTYPE *Release)(
3561        ID3D11RasterizerState1 *This);
3562
3563    /*** ID3D11DeviceChild methods ***/
3564    void (STDMETHODCALLTYPE *GetDevice)(
3565        ID3D11RasterizerState1 *This,
3566        ID3D11Device **ppDevice);
3567
3568    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
3569        ID3D11RasterizerState1 *This,
3570        REFGUID guid,
3571        UINT *pDataSize,
3572        void *pData);
3573
3574    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
3575        ID3D11RasterizerState1 *This,
3576        REFGUID guid,
3577        UINT DataSize,
3578        const void *pData);
3579
3580    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
3581        ID3D11RasterizerState1 *This,
3582        REFGUID guid,
3583        const IUnknown *pData);
3584
3585    /*** ID3D11RasterizerState methods ***/
3586    void (STDMETHODCALLTYPE *GetDesc)(
3587        ID3D11RasterizerState1 *This,
3588        D3D11_RASTERIZER_DESC *pDesc);
3589
3590    /*** ID3D11RasterizerState1 methods ***/
3591    void (STDMETHODCALLTYPE *GetDesc1)(
3592        ID3D11RasterizerState1 *This,
3593        D3D11_RASTERIZER_DESC1 *pDesc);
3594
3595    END_INTERFACE
3596} ID3D11RasterizerState1Vtbl;
3597
3598interface ID3D11RasterizerState1 {
3599    CONST_VTBL ID3D11RasterizerState1Vtbl* lpVtbl;
3600};
3601
3602#ifdef COBJMACROS
3603#ifndef WIDL_C_INLINE_WRAPPERS
3604/*** IUnknown methods ***/
3605#define ID3D11RasterizerState1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3606#define ID3D11RasterizerState1_AddRef(This) (This)->lpVtbl->AddRef(This)
3607#define ID3D11RasterizerState1_Release(This) (This)->lpVtbl->Release(This)
3608/*** ID3D11DeviceChild methods ***/
3609#define ID3D11RasterizerState1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
3610#define ID3D11RasterizerState1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
3611#define ID3D11RasterizerState1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
3612#define ID3D11RasterizerState1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
3613/*** ID3D11RasterizerState methods ***/
3614#define ID3D11RasterizerState1_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
3615/*** ID3D11RasterizerState1 methods ***/
3616#define ID3D11RasterizerState1_GetDesc1(This,pDesc) (This)->lpVtbl->GetDesc1(This,pDesc)
3617#else
3618/*** IUnknown methods ***/
3619static inline HRESULT ID3D11RasterizerState1_QueryInterface(ID3D11RasterizerState1* This,REFIID riid,void **ppvObject) {
3620    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3621}
3622static inline ULONG ID3D11RasterizerState1_AddRef(ID3D11RasterizerState1* This) {
3623    return This->lpVtbl->AddRef(This);
3624}
3625static inline ULONG ID3D11RasterizerState1_Release(ID3D11RasterizerState1* This) {
3626    return This->lpVtbl->Release(This);
3627}
3628/*** ID3D11DeviceChild methods ***/
3629static inline void ID3D11RasterizerState1_GetDevice(ID3D11RasterizerState1* This,ID3D11Device **ppDevice) {
3630    This->lpVtbl->GetDevice(This,ppDevice);
3631}
3632static inline HRESULT ID3D11RasterizerState1_GetPrivateData(ID3D11RasterizerState1* This,REFGUID guid,UINT *pDataSize,void *pData) {
3633    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
3634}
3635static inline HRESULT ID3D11RasterizerState1_SetPrivateData(ID3D11RasterizerState1* This,REFGUID guid,UINT DataSize,const void *pData) {
3636    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
3637}
3638static inline HRESULT ID3D11RasterizerState1_SetPrivateDataInterface(ID3D11RasterizerState1* This,REFGUID guid,const IUnknown *pData) {
3639    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
3640}
3641/*** ID3D11RasterizerState methods ***/
3642static inline void ID3D11RasterizerState1_GetDesc(ID3D11RasterizerState1* This,D3D11_RASTERIZER_DESC *pDesc) {
3643    This->lpVtbl->GetDesc(This,pDesc);
3644}
3645/*** ID3D11RasterizerState1 methods ***/
3646static inline void ID3D11RasterizerState1_GetDesc1(ID3D11RasterizerState1* This,D3D11_RASTERIZER_DESC1 *pDesc) {
3647    This->lpVtbl->GetDesc1(This,pDesc);
3648}
3649#endif
3650#endif
3651
3652#endif
3653
3654
3655#endif  /* __ID3D11RasterizerState1_INTERFACE_DEFINED__ */
3656
3657/*****************************************************************************
3658 * ID3D11Device1 interface
3659 */
3660#ifndef __ID3D11Device1_INTERFACE_DEFINED__
3661#define __ID3D11Device1_INTERFACE_DEFINED__
3662
3663DEFINE_GUID(IID_ID3D11Device1, 0xa04bfb29, 0x08ef, 0x43d6, 0xa4,0x9c, 0xa9,0xbd,0xbd,0xcb,0xe6,0x86);
3664#if defined(__cplusplus) && !defined(CINTERFACE)
3665MIDL_INTERFACE("a04bfb29-08ef-43d6-a49c-a9bdbdcbe686")
3666ID3D11Device1 : public ID3D11Device
3667{
3668    virtual void STDMETHODCALLTYPE GetImmediateContext1(
3669        ID3D11DeviceContext1 **ppImmediateContext) = 0;
3670
3671    virtual HRESULT STDMETHODCALLTYPE CreateDeferredContext1(
3672        UINT ContextFlags,
3673        ID3D11DeviceContext1 **ppDeferredContext) = 0;
3674
3675    virtual HRESULT STDMETHODCALLTYPE CreateBlendState1(
3676        const D3D11_BLEND_DESC1 *pBlendStateDesc,
3677        ID3D11BlendState1 **ppBlendState) = 0;
3678
3679    virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState1(
3680        const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,
3681        ID3D11RasterizerState1 **ppRasterizerState) = 0;
3682
3683    virtual HRESULT STDMETHODCALLTYPE CreateDeviceContextState(
3684        UINT Flags,
3685        const D3D_FEATURE_LEVEL *pFeatureLevels,
3686        UINT FeatureLevels,
3687        UINT SDKVersion,
3688        REFIID EmulatedInterface,
3689        D3D_FEATURE_LEVEL *pChosenFeatureLevel,
3690        ID3DDeviceContextState **ppContextState) = 0;
3691
3692    virtual HRESULT STDMETHODCALLTYPE OpenSharedResource1(
3693        HANDLE hResource,
3694        REFIID returnedInterface,
3695        void **ppResource) = 0;
3696
3697    virtual HRESULT STDMETHODCALLTYPE OpenSharedResourceByName(
3698        LPCWSTR lpName,
3699        DWORD dwDesiredAccess,
3700        REFIID returnedInterface,
3701        void **ppResource) = 0;
3702
3703};
3704#ifdef __CRT_UUID_DECL
3705__CRT_UUID_DECL(ID3D11Device1, 0xa04bfb29, 0x08ef, 0x43d6, 0xa4,0x9c, 0xa9,0xbd,0xbd,0xcb,0xe6,0x86)
3706#endif
3707#else
3708typedef struct ID3D11Device1Vtbl {
3709    BEGIN_INTERFACE
3710
3711    /*** IUnknown methods ***/
3712    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3713        ID3D11Device1 *This,
3714        REFIID riid,
3715        void **ppvObject);
3716
3717    ULONG (STDMETHODCALLTYPE *AddRef)(
3718        ID3D11Device1 *This);
3719
3720    ULONG (STDMETHODCALLTYPE *Release)(
3721        ID3D11Device1 *This);
3722
3723    /*** ID3D11Device methods ***/
3724    HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
3725        ID3D11Device1 *This,
3726        const D3D11_BUFFER_DESC *pDesc,
3727        const D3D11_SUBRESOURCE_DATA *pInitialData,
3728        ID3D11Buffer **ppBuffer);
3729
3730    HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
3731        ID3D11Device1 *This,
3732        const D3D11_TEXTURE1D_DESC *pDesc,
3733        const D3D11_SUBRESOURCE_DATA *pInitialData,
3734        ID3D11Texture1D **ppTexture1D);
3735
3736    HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
3737        ID3D11Device1 *This,
3738        const D3D11_TEXTURE2D_DESC *pDesc,
3739        const D3D11_SUBRESOURCE_DATA *pInitialData,
3740        ID3D11Texture2D **ppTexture2D);
3741
3742    HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
3743        ID3D11Device1 *This,
3744        const D3D11_TEXTURE3D_DESC *pDesc,
3745        const D3D11_SUBRESOURCE_DATA *pInitialData,
3746        ID3D11Texture3D **ppTexture3D);
3747
3748    HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
3749        ID3D11Device1 *This,
3750        ID3D11Resource *pResource,
3751        const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
3752        ID3D11ShaderResourceView **ppSRView);
3753
3754    HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
3755        ID3D11Device1 *This,
3756        ID3D11Resource *pResource,
3757        const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
3758        ID3D11UnorderedAccessView **ppUAView);
3759
3760    HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
3761        ID3D11Device1 *This,
3762        ID3D11Resource *pResource,
3763        const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
3764        ID3D11RenderTargetView **ppRTView);
3765
3766    HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
3767        ID3D11Device1 *This,
3768        ID3D11Resource *pResource,
3769        const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
3770        ID3D11DepthStencilView **ppDepthStencilView);
3771
3772    HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
3773        ID3D11Device1 *This,
3774        const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
3775        UINT NumElements,
3776        const void *pShaderBytecodeWithInputSignature,
3777        SIZE_T BytecodeLength,
3778        ID3D11InputLayout **ppInputLayout);
3779
3780    HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
3781        ID3D11Device1 *This,
3782        const void *pShaderBytecode,
3783        SIZE_T BytecodeLength,
3784        ID3D11ClassLinkage *pClassLinkage,
3785        ID3D11VertexShader **ppVertexShader);
3786
3787    HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
3788        ID3D11Device1 *This,
3789        const void *pShaderBytecode,
3790        SIZE_T BytecodeLength,
3791        ID3D11ClassLinkage *pClassLinkage,
3792        ID3D11GeometryShader **ppGeometryShader);
3793
3794    HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
3795        ID3D11Device1 *This,
3796        const void *pShaderBytecode,
3797        SIZE_T BytecodeLength,
3798        const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
3799        UINT NumEntries,
3800        const UINT *pBufferStrides,
3801        UINT NumStrides,
3802        UINT RasterizedStream,
3803        ID3D11ClassLinkage *pClassLinkage,
3804        ID3D11GeometryShader **ppGeometryShader);
3805
3806    HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
3807        ID3D11Device1 *This,
3808        const void *pShaderBytecode,
3809        SIZE_T BytecodeLength,
3810        ID3D11ClassLinkage *pClassLinkage,
3811        ID3D11PixelShader **ppPixelShader);
3812
3813    HRESULT (STDMETHODCALLTYPE *CreateHullShader)(
3814        ID3D11Device1 *This,
3815        const void *pShaderBytecode,
3816        SIZE_T BytecodeLength,
3817        ID3D11ClassLinkage *pClassLinkage,
3818        ID3D11HullShader **ppHullShader);
3819
3820    HRESULT (STDMETHODCALLTYPE *CreateDomainShader)(
3821        ID3D11Device1 *This,
3822        const void *pShaderBytecode,
3823        SIZE_T BytecodeLength,
3824        ID3D11ClassLinkage *pClassLinkage,
3825        ID3D11DomainShader **ppDomainShader);
3826
3827    HRESULT (STDMETHODCALLTYPE *CreateComputeShader)(
3828        ID3D11Device1 *This,
3829        const void *pShaderBytecode,
3830        SIZE_T BytecodeLength,
3831        ID3D11ClassLinkage *pClassLinkage,
3832        ID3D11ComputeShader **ppComputeShader);
3833
3834    HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)(
3835        ID3D11Device1 *This,
3836        ID3D11ClassLinkage **ppLinkage);
3837
3838    HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
3839        ID3D11Device1 *This,
3840        const D3D11_BLEND_DESC *pBlendStateDesc,
3841        ID3D11BlendState **ppBlendState);
3842
3843    HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
3844        ID3D11Device1 *This,
3845        const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
3846        ID3D11DepthStencilState **ppDepthStencilState);
3847
3848    HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
3849        ID3D11Device1 *This,
3850        const D3D11_RASTERIZER_DESC *pRasterizerDesc,
3851        ID3D11RasterizerState **ppRasterizerState);
3852
3853    HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
3854        ID3D11Device1 *This,
3855        const D3D11_SAMPLER_DESC *pSamplerDesc,
3856        ID3D11SamplerState **ppSamplerState);
3857
3858    HRESULT (STDMETHODCALLTYPE *CreateQuery)(
3859        ID3D11Device1 *This,
3860        const D3D11_QUERY_DESC *pQueryDesc,
3861        ID3D11Query **ppQuery);
3862
3863    HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
3864        ID3D11Device1 *This,
3865        const D3D11_QUERY_DESC *pPredicateDesc,
3866        ID3D11Predicate **ppPredicate);
3867
3868    HRESULT (STDMETHODCALLTYPE *CreateCounter)(
3869        ID3D11Device1 *This,
3870        const D3D11_COUNTER_DESC *pCounterDesc,
3871        ID3D11Counter **ppCounter);
3872
3873    HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)(
3874        ID3D11Device1 *This,
3875        UINT ContextFlags,
3876        ID3D11DeviceContext **ppDeferredContext);
3877
3878    HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
3879        ID3D11Device1 *This,
3880        HANDLE hResource,
3881        REFIID ReturnedInterface,
3882        void **ppResource);
3883
3884    HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
3885        ID3D11Device1 *This,
3886        DXGI_FORMAT Format,
3887        UINT *pFormatSupport);
3888
3889    HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
3890        ID3D11Device1 *This,
3891        DXGI_FORMAT Format,
3892        UINT SampleCount,
3893        UINT *pNumQualityLevels);
3894
3895    void (STDMETHODCALLTYPE *CheckCounterInfo)(
3896        ID3D11Device1 *This,
3897        D3D11_COUNTER_INFO *pCounterInfo);
3898
3899    HRESULT (STDMETHODCALLTYPE *CheckCounter)(
3900        ID3D11Device1 *This,
3901        const D3D11_COUNTER_DESC *pDesc,
3902        D3D11_COUNTER_TYPE *pType,
3903        UINT *pActiveCounters,
3904        LPSTR szName,
3905        UINT *pNameLength,
3906        LPSTR szUnits,
3907        UINT *pUnitsLength,
3908        LPSTR szDescription,
3909        UINT *pDescriptionLength);
3910
3911    HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
3912        ID3D11Device1 *This,
3913        D3D11_FEATURE Feature,
3914        void *pFeatureSupportData,
3915        UINT FeatureSupportDataSize);
3916
3917    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
3918        ID3D11Device1 *This,
3919        REFGUID guid,
3920        UINT *pDataSize,
3921        void *pData);
3922
3923    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
3924        ID3D11Device1 *This,
3925        REFGUID guid,
3926        UINT DataSize,
3927        const void *pData);
3928
3929    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
3930        ID3D11Device1 *This,
3931        REFGUID guid,
3932        const IUnknown *pData);
3933
3934    D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)(
3935        ID3D11Device1 *This);
3936
3937    UINT (STDMETHODCALLTYPE *GetCreationFlags)(
3938        ID3D11Device1 *This);
3939
3940    HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
3941        ID3D11Device1 *This);
3942
3943    void (STDMETHODCALLTYPE *GetImmediateContext)(
3944        ID3D11Device1 *This,
3945        ID3D11DeviceContext **ppImmediateContext);
3946
3947    HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
3948        ID3D11Device1 *This,
3949        UINT RaiseFlags);
3950
3951    UINT (STDMETHODCALLTYPE *GetExceptionMode)(
3952        ID3D11Device1 *This);
3953
3954    /*** ID3D11Device1 methods ***/
3955    void (STDMETHODCALLTYPE *GetImmediateContext1)(
3956        ID3D11Device1 *This,
3957        ID3D11DeviceContext1 **ppImmediateContext);
3958
3959    HRESULT (STDMETHODCALLTYPE *CreateDeferredContext1)(
3960        ID3D11Device1 *This,
3961        UINT ContextFlags,
3962        ID3D11DeviceContext1 **ppDeferredContext);
3963
3964    HRESULT (STDMETHODCALLTYPE *CreateBlendState1)(
3965        ID3D11Device1 *This,
3966        const D3D11_BLEND_DESC1 *pBlendStateDesc,
3967        ID3D11BlendState1 **ppBlendState);
3968
3969    HRESULT (STDMETHODCALLTYPE *CreateRasterizerState1)(
3970        ID3D11Device1 *This,
3971        const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,
3972        ID3D11RasterizerState1 **ppRasterizerState);
3973
3974    HRESULT (STDMETHODCALLTYPE *CreateDeviceContextState)(
3975        ID3D11Device1 *This,
3976        UINT Flags,
3977        const D3D_FEATURE_LEVEL *pFeatureLevels,
3978        UINT FeatureLevels,
3979        UINT SDKVersion,
3980        REFIID EmulatedInterface,
3981        D3D_FEATURE_LEVEL *pChosenFeatureLevel,
3982        ID3DDeviceContextState **ppContextState);
3983
3984    HRESULT (STDMETHODCALLTYPE *OpenSharedResource1)(
3985        ID3D11Device1 *This,
3986        HANDLE hResource,
3987        REFIID returnedInterface,
3988        void **ppResource);
3989
3990    HRESULT (STDMETHODCALLTYPE *OpenSharedResourceByName)(
3991        ID3D11Device1 *This,
3992        LPCWSTR lpName,
3993        DWORD dwDesiredAccess,
3994        REFIID returnedInterface,
3995        void **ppResource);
3996
3997    END_INTERFACE
3998} ID3D11Device1Vtbl;
3999
4000interface ID3D11Device1 {
4001    CONST_VTBL ID3D11Device1Vtbl* lpVtbl;
4002};
4003
4004#ifdef COBJMACROS
4005#ifndef WIDL_C_INLINE_WRAPPERS
4006/*** IUnknown methods ***/
4007#define ID3D11Device1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4008#define ID3D11Device1_AddRef(This) (This)->lpVtbl->AddRef(This)
4009#define ID3D11Device1_Release(This) (This)->lpVtbl->Release(This)
4010/*** ID3D11Device methods ***/
4011#define ID3D11Device1_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
4012#define ID3D11Device1_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
4013#define ID3D11Device1_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
4014#define ID3D11Device1_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
4015#define ID3D11Device1_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
4016#define ID3D11Device1_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)
4017#define ID3D11Device1_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
4018#define ID3D11Device1_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
4019#define ID3D11Device1_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
4020#define ID3D11Device1_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)
4021#define ID3D11Device1_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)
4022#define ID3D11Device1_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)
4023#define ID3D11Device1_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader)
4024#define ID3D11Device1_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)
4025#define ID3D11Device1_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)
4026#define ID3D11Device1_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)
4027#define ID3D11Device1_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage)
4028#define ID3D11Device1_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
4029#define ID3D11Device1_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
4030#define ID3D11Device1_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
4031#define ID3D11Device1_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
4032#define ID3D11Device1_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
4033#define ID3D11Device1_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
4034#define ID3D11Device1_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
4035#define ID3D11Device1_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext)
4036#define ID3D11Device1_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
4037#define ID3D11Device1_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
4038#define ID3D11Device1_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
4039#define ID3D11Device1_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
4040#define ID3D11Device1_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
4041#define ID3D11Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)
4042#define ID3D11Device1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
4043#define ID3D11Device1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
4044#define ID3D11Device1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
4045#define ID3D11Device1_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This)
4046#define ID3D11Device1_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
4047#define ID3D11Device1_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
4048#define ID3D11Device1_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext)
4049#define ID3D11Device1_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
4050#define ID3D11Device1_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
4051/*** ID3D11Device1 methods ***/
4052#define ID3D11Device1_GetImmediateContext1(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext1(This,ppImmediateContext)
4053#define ID3D11Device1_CreateDeferredContext1(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext)
4054#define ID3D11Device1_CreateBlendState1(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState)
4055#define ID3D11Device1_CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState)
4056#define ID3D11Device1_CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) (This)->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState)
4057#define ID3D11Device1_OpenSharedResource1(This,hResource,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource)
4058#define ID3D11Device1_OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource)
4059#else
4060/*** IUnknown methods ***/
4061static inline HRESULT ID3D11Device1_QueryInterface(ID3D11Device1* This,REFIID riid,void **ppvObject) {
4062    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4063}
4064static inline ULONG ID3D11Device1_AddRef(ID3D11Device1* This) {
4065    return This->lpVtbl->AddRef(This);
4066}
4067static inline ULONG ID3D11Device1_Release(ID3D11Device1* This) {
4068    return This->lpVtbl->Release(This);
4069}
4070/*** ID3D11Device methods ***/
4071static inline HRESULT ID3D11Device1_CreateBuffer(ID3D11Device1* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) {
4072    return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer);
4073}
4074static inline HRESULT ID3D11Device1_CreateTexture1D(ID3D11Device1* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) {
4075    return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D);
4076}
4077static inline HRESULT ID3D11Device1_CreateTexture2D(ID3D11Device1* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) {
4078    return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D);
4079}
4080static inline HRESULT ID3D11Device1_CreateTexture3D(ID3D11Device1* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) {
4081    return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D);
4082}
4083static inline HRESULT ID3D11Device1_CreateShaderResourceView(ID3D11Device1* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) {
4084    return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView);
4085}
4086static inline HRESULT ID3D11Device1_CreateUnorderedAccessView(ID3D11Device1* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) {
4087    return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView);
4088}
4089static inline HRESULT ID3D11Device1_CreateRenderTargetView(ID3D11Device1* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) {
4090    return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView);
4091}
4092static inline HRESULT ID3D11Device1_CreateDepthStencilView(ID3D11Device1* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) {
4093    return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView);
4094}
4095static inline HRESULT ID3D11Device1_CreateInputLayout(ID3D11Device1* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) {
4096    return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout);
4097}
4098static inline HRESULT ID3D11Device1_CreateVertexShader(ID3D11Device1* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) {
4099    return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader);
4100}
4101static inline HRESULT ID3D11Device1_CreateGeometryShader(ID3D11Device1* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
4102    return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader);
4103}
4104static inline HRESULT ID3D11Device1_CreateGeometryShaderWithStreamOutput(ID3D11Device1* 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) {
4105    return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader);
4106}
4107static inline HRESULT ID3D11Device1_CreatePixelShader(ID3D11Device1* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) {
4108    return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader);
4109}
4110static inline HRESULT ID3D11Device1_CreateHullShader(ID3D11Device1* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) {
4111    return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader);
4112}
4113static inline HRESULT ID3D11Device1_CreateDomainShader(ID3D11Device1* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) {
4114    return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader);
4115}
4116static inline HRESULT ID3D11Device1_CreateComputeShader(ID3D11Device1* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) {
4117    return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader);
4118}
4119static inline HRESULT ID3D11Device1_CreateClassLinkage(ID3D11Device1* This,ID3D11ClassLinkage **ppLinkage) {
4120    return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
4121}
4122static inline HRESULT ID3D11Device1_CreateBlendState(ID3D11Device1* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
4123    return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
4124}
4125static inline HRESULT ID3D11Device1_CreateDepthStencilState(ID3D11Device1* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
4126    return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
4127}
4128static inline HRESULT ID3D11Device1_CreateRasterizerState(ID3D11Device1* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
4129    return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
4130}
4131static inline HRESULT ID3D11Device1_CreateSamplerState(ID3D11Device1* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
4132    return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
4133}
4134static inline HRESULT ID3D11Device1_CreateQuery(ID3D11Device1* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
4135    return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
4136}
4137static inline HRESULT ID3D11Device1_CreatePredicate(ID3D11Device1* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
4138    return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
4139}
4140static inline HRESULT ID3D11Device1_CreateCounter(ID3D11Device1* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
4141    return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
4142}
4143static inline HRESULT ID3D11Device1_CreateDeferredContext(ID3D11Device1* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
4144    return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
4145}
4146static inline HRESULT ID3D11Device1_OpenSharedResource(ID3D11Device1* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
4147    return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
4148}
4149static inline HRESULT ID3D11Device1_CheckFormatSupport(ID3D11Device1* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
4150    return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
4151}
4152static inline HRESULT ID3D11Device1_CheckMultisampleQualityLevels(ID3D11Device1* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
4153    return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
4154}
4155static inline void ID3D11Device1_CheckCounterInfo(ID3D11Device1* This,D3D11_COUNTER_INFO *pCounterInfo) {
4156    This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
4157}
4158static inline HRESULT ID3D11Device1_CheckCounter(ID3D11Device1* This,const D3D11_COUNTER_DESC *pDesc,D3D11_COUNTER_TYPE *pType,UINT *pActiveCounters,LPSTR szName,UINT *pNameLength,LPSTR szUnits,UINT *pUnitsLength,LPSTR szDescription,UINT *pDescriptionLength) {
4159    return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength);
4160}
4161static inline HRESULT ID3D11Device1_CheckFeatureSupport(ID3D11Device1* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
4162    return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
4163}
4164static inline HRESULT ID3D11Device1_GetPrivateData(ID3D11Device1* This,REFGUID guid,UINT *pDataSize,void *pData) {
4165    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
4166}
4167static inline HRESULT ID3D11Device1_SetPrivateData(ID3D11Device1* This,REFGUID guid,UINT DataSize,const void *pData) {
4168    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
4169}
4170static inline HRESULT ID3D11Device1_SetPrivateDataInterface(ID3D11Device1* This,REFGUID guid,const IUnknown *pData) {
4171    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
4172}
4173static inline D3D_FEATURE_LEVEL ID3D11Device1_GetFeatureLevel(ID3D11Device1* This) {
4174    return This->lpVtbl->GetFeatureLevel(This);
4175}
4176static inline UINT ID3D11Device1_GetCreationFlags(ID3D11Device1* This) {
4177    return This->lpVtbl->GetCreationFlags(This);
4178}
4179static inline HRESULT ID3D11Device1_GetDeviceRemovedReason(ID3D11Device1* This) {
4180    return This->lpVtbl->GetDeviceRemovedReason(This);
4181}
4182static inline void ID3D11Device1_GetImmediateContext(ID3D11Device1* This,ID3D11DeviceContext **ppImmediateContext) {
4183    This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
4184}
4185static inline HRESULT ID3D11Device1_SetExceptionMode(ID3D11Device1* This,UINT RaiseFlags) {
4186    return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
4187}
4188static inline UINT ID3D11Device1_GetExceptionMode(ID3D11Device1* This) {
4189    return This->lpVtbl->GetExceptionMode(This);
4190}
4191/*** ID3D11Device1 methods ***/
4192static inline void ID3D11Device1_GetImmediateContext1(ID3D11Device1* This,ID3D11DeviceContext1 **ppImmediateContext) {
4193    This->lpVtbl->GetImmediateContext1(This,ppImmediateContext);
4194}
4195static inline HRESULT ID3D11Device1_CreateDeferredContext1(ID3D11Device1* This,UINT ContextFlags,ID3D11DeviceContext1 **ppDeferredContext) {
4196    return This->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext);
4197}
4198static inline HRESULT ID3D11Device1_CreateBlendState1(ID3D11Device1* This,const D3D11_BLEND_DESC1 *pBlendStateDesc,ID3D11BlendState1 **ppBlendState) {
4199    return This->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState);
4200}
4201static inline HRESULT ID3D11Device1_CreateRasterizerState1(ID3D11Device1* This,const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,ID3D11RasterizerState1 **ppRasterizerState) {
4202    return This->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState);
4203}
4204static inline HRESULT ID3D11Device1_CreateDeviceContextState(ID3D11Device1* This,UINT Flags,const D3D_FEATURE_LEVEL *pFeatureLevels,UINT FeatureLevels,UINT SDKVersion,REFIID EmulatedInterface,D3D_FEATURE_LEVEL *pChosenFeatureLevel,ID3DDeviceContextState **ppContextState) {
4205    return This->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState);
4206}
4207static inline HRESULT ID3D11Device1_OpenSharedResource1(ID3D11Device1* This,HANDLE hResource,REFIID returnedInterface,void **ppResource) {
4208    return This->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource);
4209}
4210static inline HRESULT ID3D11Device1_OpenSharedResourceByName(ID3D11Device1* This,LPCWSTR lpName,DWORD dwDesiredAccess,REFIID returnedInterface,void **ppResource) {
4211    return This->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource);
4212}
4213#endif
4214#endif
4215
4216#endif
4217
4218
4219#endif  /* __ID3D11Device1_INTERFACE_DEFINED__ */
4220
4221/* Begin additional prototypes for all interfaces */
4222
4223
4224/* End additional prototypes */
4225
4226#ifdef __cplusplus
4227}
4228#endif
4229
4230#endif /* __d3d11_1_h__ */