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