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