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