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