RetroArch
dxgi.h
Go to the documentation of this file.
1 
2 
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
4 
5 
6  /* File created by MIDL compiler version 8.00.0613 */
7 /* @@MIDL_FILE_HEADING( ) */
8 
9 
10 
11 /* verify that the <rpcndr.h> version is high enough to compile this file*/
12 #ifndef __REQUIRED_RPCNDR_H_VERSION__
13 #define __REQUIRED_RPCNDR_H_VERSION__ 475
14 #endif
15 
16 /* verify that the <rpcsal.h> version is high enough to compile this file*/
17 #ifndef __REQUIRED_RPCSAL_H_VERSION__
18 #define __REQUIRED_RPCSAL_H_VERSION__ 100
19 #endif
20 
21 #include "rpc.h"
22 #include "rpcndr.h"
23 
24 #ifndef __RPCNDR_H_VERSION__
25 #error this stub requires an updated version of <rpcndr.h>
26 #endif /* __RPCNDR_H_VERSION__ */
27 
28 #ifndef COM_NO_WINDOWS_H
29 #include "windows.h"
30 #include "ole2.h"
31 #endif /*COM_NO_WINDOWS_H*/
32 
33 #ifndef __dxgi_h__
34 #define __dxgi_h__
35 
36 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
37 #pragma once
38 #endif
39 
40 /* Forward Declarations */
41 
42 #ifndef __IDXGIObject_FWD_DEFINED__
43 #define __IDXGIObject_FWD_DEFINED__
44 typedef interface IDXGIObject IDXGIObject;
45 
46 #endif /* __IDXGIObject_FWD_DEFINED__ */
47 
48 
49 #ifndef __IDXGIDeviceSubObject_FWD_DEFINED__
50 #define __IDXGIDeviceSubObject_FWD_DEFINED__
52 
53 #endif /* __IDXGIDeviceSubObject_FWD_DEFINED__ */
54 
55 
56 #ifndef __IDXGIResource_FWD_DEFINED__
57 #define __IDXGIResource_FWD_DEFINED__
58 typedef interface IDXGIResource IDXGIResource;
59 
60 #endif /* __IDXGIResource_FWD_DEFINED__ */
61 
62 
63 #ifndef __IDXGIKeyedMutex_FWD_DEFINED__
64 #define __IDXGIKeyedMutex_FWD_DEFINED__
65 typedef interface IDXGIKeyedMutex IDXGIKeyedMutex;
66 
67 #endif /* __IDXGIKeyedMutex_FWD_DEFINED__ */
68 
69 
70 #ifndef __IDXGISurface_FWD_DEFINED__
71 #define __IDXGISurface_FWD_DEFINED__
72 typedef interface IDXGISurface IDXGISurface;
73 
74 #endif /* __IDXGISurface_FWD_DEFINED__ */
75 
76 
77 #ifndef __IDXGISurface1_FWD_DEFINED__
78 #define __IDXGISurface1_FWD_DEFINED__
79 typedef interface IDXGISurface1 IDXGISurface1;
80 
81 #endif /* __IDXGISurface1_FWD_DEFINED__ */
82 
83 
84 #ifndef __IDXGIAdapter_FWD_DEFINED__
85 #define __IDXGIAdapter_FWD_DEFINED__
86 typedef interface IDXGIAdapter IDXGIAdapter;
87 
88 #endif /* __IDXGIAdapter_FWD_DEFINED__ */
89 
90 
91 #ifndef __IDXGIOutput_FWD_DEFINED__
92 #define __IDXGIOutput_FWD_DEFINED__
93 typedef interface IDXGIOutput IDXGIOutput;
94 
95 #endif /* __IDXGIOutput_FWD_DEFINED__ */
96 
97 
98 #ifndef __IDXGISwapChain_FWD_DEFINED__
99 #define __IDXGISwapChain_FWD_DEFINED__
100 typedef interface IDXGISwapChain IDXGISwapChain;
101 
102 #endif /* __IDXGISwapChain_FWD_DEFINED__ */
103 
104 
105 #ifndef __IDXGIFactory_FWD_DEFINED__
106 #define __IDXGIFactory_FWD_DEFINED__
107 typedef interface IDXGIFactory IDXGIFactory;
108 
109 #endif /* __IDXGIFactory_FWD_DEFINED__ */
110 
111 
112 #ifndef __IDXGIDevice_FWD_DEFINED__
113 #define __IDXGIDevice_FWD_DEFINED__
114 typedef interface IDXGIDevice IDXGIDevice;
115 
116 #endif /* __IDXGIDevice_FWD_DEFINED__ */
117 
118 
119 #ifndef __IDXGIFactory1_FWD_DEFINED__
120 #define __IDXGIFactory1_FWD_DEFINED__
121 typedef interface IDXGIFactory1 IDXGIFactory1;
122 
123 #endif /* __IDXGIFactory1_FWD_DEFINED__ */
124 
125 
126 #ifndef __IDXGIAdapter1_FWD_DEFINED__
127 #define __IDXGIAdapter1_FWD_DEFINED__
128 typedef interface IDXGIAdapter1 IDXGIAdapter1;
129 
130 #endif /* __IDXGIAdapter1_FWD_DEFINED__ */
131 
132 
133 #ifndef __IDXGIDevice1_FWD_DEFINED__
134 #define __IDXGIDevice1_FWD_DEFINED__
135 typedef interface IDXGIDevice1 IDXGIDevice1;
136 
137 #endif /* __IDXGIDevice1_FWD_DEFINED__ */
138 
139 
140 /* header files for imported files */
141 #include "oaidl.h"
142 #include "ocidl.h"
143 #include "dxgicommon.h"
144 #include "dxgitype.h"
145 
146 #ifdef __cplusplus
147 extern "C"{
148 #endif
149 
150 
151 /* interface __MIDL_itf_dxgi_0000_0000 */
152 /* [local] */
153 
154 /*#include <winapifamily.h>*/
155 #define DXGI_CPU_ACCESS_NONE ( 0 )
156 #define DXGI_CPU_ACCESS_DYNAMIC ( 1 )
157 #define DXGI_CPU_ACCESS_READ_WRITE ( 2 )
158 #define DXGI_CPU_ACCESS_SCRATCH ( 3 )
159 #define DXGI_CPU_ACCESS_FIELD 15
160 #define DXGI_USAGE_SHADER_INPUT 0x00000010UL
161 #define DXGI_USAGE_RENDER_TARGET_OUTPUT 0x00000020UL
162 #define DXGI_USAGE_BACK_BUFFER 0x00000040UL
163 #define DXGI_USAGE_SHARED 0x00000080UL
164 #define DXGI_USAGE_READ_ONLY 0x00000100UL
165 #define DXGI_USAGE_DISCARD_ON_PRESENT 0x00000200UL
166 #define DXGI_USAGE_UNORDERED_ACCESS 0x00000400UL
167 typedef UINT DXGI_USAGE;
168 
169 typedef struct DXGI_FRAME_STATISTICS
170  {
174  LARGE_INTEGER SyncQPCTime;
175  LARGE_INTEGER SyncGPUTime;
177 
178 typedef struct DXGI_MAPPED_RECT
179  {
181  BYTE *pBits;
183 
184 #ifdef __midl
185 #ifndef LUID_DEFINED
186 #define LUID_DEFINED 1
187 typedef struct _LUID
188  {
189  DWORD LowPart;
190  LONG HighPart;
191  } LUID;
192 
193 typedef struct _LUID *PLUID;
194 
195 #endif
196 #endif
197 typedef struct DXGI_ADAPTER_DESC
198  {
199  WCHAR Description[ 128 ];
209 
210 #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
211 #define HMONITOR_DECLARED
212 #if 0
213 typedef HANDLE HMONITOR;
214 
215 #endif
216 DECLARE_HANDLE(HMONITOR);
217 #endif
218 typedef struct DXGI_OUTPUT_DESC
219  {
220  WCHAR DeviceName[ 32 ];
224  HMONITOR Monitor;
226 
227 typedef struct DXGI_SHARED_RESOURCE
228  {
229  HANDLE Handle;
231 
232 #define DXGI_RESOURCE_PRIORITY_MINIMUM ( 0x28000000 )
233 
234 #define DXGI_RESOURCE_PRIORITY_LOW ( 0x50000000 )
235 
236 #define DXGI_RESOURCE_PRIORITY_NORMAL ( 0x78000000 )
237 
238 #define DXGI_RESOURCE_PRIORITY_HIGH ( 0xa0000000 )
239 
240 #define DXGI_RESOURCE_PRIORITY_MAXIMUM ( 0xc8000000 )
241 
242 typedef
243 enum DXGI_RESIDENCY
244  {
248  } DXGI_RESIDENCY;
249 
250 typedef struct DXGI_SURFACE_DESC
251  {
257 
258 typedef
259 enum DXGI_SWAP_EFFECT
260  {
266 
267 typedef
269  {
284 
285 typedef struct DXGI_SWAP_CHAIN_DESC
286  {
296 
297 
298 
299 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_c_ifspec;
300 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_s_ifspec;
301 
302 #ifndef __IDXGIObject_INTERFACE_DEFINED__
303 #define __IDXGIObject_INTERFACE_DEFINED__
304 
305 /* interface IDXGIObject */
306 /* [unique][local][uuid][object] */
307 
308 
309 EXTERN_C const IID IID_IDXGIObject;
310 
311 #if defined(__cplusplus) && !defined(CINTERFACE)
312 
313  MIDL_INTERFACE("aec22fb8-76f3-4639-9be0-28eb43a67a2e")
314  IDXGIObject : public IUnknown
315  {
316  public:
317  virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
318  /* [annotation][in] */
319  _In_ REFGUID Name,
320  /* [in] */ UINT DataSize,
321  /* [annotation][in] */
322  _In_reads_bytes_(DataSize) const void *pData) = 0;
323 
324  virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
325  /* [annotation][in] */
326  _In_ REFGUID Name,
327  /* [annotation][in] */
328  _In_opt_ const IUnknown *pUnknown) = 0;
329 
330  virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
331  /* [annotation][in] */
332  _In_ REFGUID Name,
333  /* [annotation][out][in] */
334  _Inout_ UINT *pDataSize,
335  /* [annotation][out] */
336  _Out_writes_bytes_(*pDataSize) void *pData) = 0;
337 
338  virtual HRESULT STDMETHODCALLTYPE GetParent(
339  /* [annotation][in] */
340  _In_ REFIID riid,
341  /* [annotation][retval][out] */
342  _COM_Outptr_ void **ppParent) = 0;
343 
344  };
345 
346 
347 #else /* C style interface */
348 
349  typedef struct IDXGIObjectVtbl
350  {
351  BEGIN_INTERFACE
352 
353  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
354  IDXGIObject * This,
355  /* [in] */ REFIID riid,
356  /* [annotation][iid_is][out] */
357  _COM_Outptr_ void **ppvObject);
358 
359  ULONG ( STDMETHODCALLTYPE *AddRef )(
360  IDXGIObject * This);
361 
362  ULONG ( STDMETHODCALLTYPE *Release )(
363  IDXGIObject * This);
364 
365  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
366  IDXGIObject * This,
367  /* [annotation][in] */
368  _In_ REFGUID Name,
369  /* [in] */ UINT DataSize,
370  /* [annotation][in] */
371  _In_reads_bytes_(DataSize) const void *pData);
372 
373  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
374  IDXGIObject * This,
375  /* [annotation][in] */
376  _In_ REFGUID Name,
377  /* [annotation][in] */
378  _In_opt_ const IUnknown *pUnknown);
379 
380  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
381  IDXGIObject * This,
382  /* [annotation][in] */
383  _In_ REFGUID Name,
384  /* [annotation][out][in] */
385  _Inout_ UINT *pDataSize,
386  /* [annotation][out] */
387  _Out_writes_bytes_(*pDataSize) void *pData);
388 
389  HRESULT ( STDMETHODCALLTYPE *GetParent )(
390  IDXGIObject * This,
391  /* [annotation][in] */
392  _In_ REFIID riid,
393  /* [annotation][retval][out] */
394  _COM_Outptr_ void **ppParent);
395 
396  END_INTERFACE
397  } IDXGIObjectVtbl;
398 
399  interface IDXGIObject
400  {
401  CONST_VTBL struct IDXGIObjectVtbl *lpVtbl;
402  };
403 
404 
405 
406 #ifdef COBJMACROS
407 
408 
409 #define IDXGIObject_QueryInterface(This,riid,ppvObject) \
410  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
411 
412 #define IDXGIObject_AddRef(This) \
413  ( (This)->lpVtbl -> AddRef(This) )
414 
415 #define IDXGIObject_Release(This) \
416  ( (This)->lpVtbl -> Release(This) )
417 
418 
419 #define IDXGIObject_SetPrivateData(This,Name,DataSize,pData) \
420  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
421 
422 #define IDXGIObject_SetPrivateDataInterface(This,Name,pUnknown) \
423  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
424 
425 #define IDXGIObject_GetPrivateData(This,Name,pDataSize,pData) \
426  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
427 
428 #define IDXGIObject_GetParent(This,riid,ppParent) \
429  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
430 
431 #endif /* COBJMACROS */
432 
433 
434 #endif /* C style interface */
435 
436 
437 
438 
439 #endif /* __IDXGIObject_INTERFACE_DEFINED__ */
440 
441 
442 #ifndef __IDXGIDeviceSubObject_INTERFACE_DEFINED__
443 #define __IDXGIDeviceSubObject_INTERFACE_DEFINED__
444 
445 /* interface IDXGIDeviceSubObject */
446 /* [unique][local][uuid][object] */
447 
448 
449 EXTERN_C const IID IID_IDXGIDeviceSubObject;
450 
451 #if defined(__cplusplus) && !defined(CINTERFACE)
452 
453  MIDL_INTERFACE("3d3e0379-f9de-4d58-bb6c-18d62992f1a6")
455  {
456  public:
457  virtual HRESULT STDMETHODCALLTYPE GetDevice(
458  /* [annotation][in] */
459  _In_ REFIID riid,
460  /* [annotation][retval][out] */
461  _COM_Outptr_ void **ppDevice) = 0;
462 
463  };
464 
465 
466 #else /* C style interface */
467 
469  {
470  BEGIN_INTERFACE
471 
472  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
473  IDXGIDeviceSubObject * This,
474  /* [in] */ REFIID riid,
475  /* [annotation][iid_is][out] */
476  _COM_Outptr_ void **ppvObject);
477 
478  ULONG ( STDMETHODCALLTYPE *AddRef )(
479  IDXGIDeviceSubObject * This);
480 
481  ULONG ( STDMETHODCALLTYPE *Release )(
482  IDXGIDeviceSubObject * This);
483 
484  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
485  IDXGIDeviceSubObject * This,
486  /* [annotation][in] */
487  _In_ REFGUID Name,
488  /* [in] */ UINT DataSize,
489  /* [annotation][in] */
490  _In_reads_bytes_(DataSize) const void *pData);
491 
492  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
493  IDXGIDeviceSubObject * This,
494  /* [annotation][in] */
495  _In_ REFGUID Name,
496  /* [annotation][in] */
497  _In_opt_ const IUnknown *pUnknown);
498 
499  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
500  IDXGIDeviceSubObject * This,
501  /* [annotation][in] */
502  _In_ REFGUID Name,
503  /* [annotation][out][in] */
504  _Inout_ UINT *pDataSize,
505  /* [annotation][out] */
506  _Out_writes_bytes_(*pDataSize) void *pData);
507 
508  HRESULT ( STDMETHODCALLTYPE *GetParent )(
509  IDXGIDeviceSubObject * This,
510  /* [annotation][in] */
511  _In_ REFIID riid,
512  /* [annotation][retval][out] */
513  _COM_Outptr_ void **ppParent);
514 
515  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
516  IDXGIDeviceSubObject * This,
517  /* [annotation][in] */
518  _In_ REFIID riid,
519  /* [annotation][retval][out] */
520  _COM_Outptr_ void **ppDevice);
521 
522  END_INTERFACE
524 
525  interface IDXGIDeviceSubObject
526  {
527  CONST_VTBL struct IDXGIDeviceSubObjectVtbl *lpVtbl;
528  };
529 
530 
531 
532 #ifdef COBJMACROS
533 
534 
535 #define IDXGIDeviceSubObject_QueryInterface(This,riid,ppvObject) \
536  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
537 
538 #define IDXGIDeviceSubObject_AddRef(This) \
539  ( (This)->lpVtbl -> AddRef(This) )
540 
541 #define IDXGIDeviceSubObject_Release(This) \
542  ( (This)->lpVtbl -> Release(This) )
543 
544 
545 #define IDXGIDeviceSubObject_SetPrivateData(This,Name,DataSize,pData) \
546  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
547 
548 #define IDXGIDeviceSubObject_SetPrivateDataInterface(This,Name,pUnknown) \
549  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
550 
551 #define IDXGIDeviceSubObject_GetPrivateData(This,Name,pDataSize,pData) \
552  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
553 
554 #define IDXGIDeviceSubObject_GetParent(This,riid,ppParent) \
555  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
556 
557 
558 #define IDXGIDeviceSubObject_GetDevice(This,riid,ppDevice) \
559  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
560 
561 #endif /* COBJMACROS */
562 
563 
564 #endif /* C style interface */
565 
566 
567 
568 
569 #endif /* __IDXGIDeviceSubObject_INTERFACE_DEFINED__ */
570 
571 
572 #ifndef __IDXGIResource_INTERFACE_DEFINED__
573 #define __IDXGIResource_INTERFACE_DEFINED__
574 
575 /* interface IDXGIResource */
576 /* [unique][local][uuid][object] */
577 
578 
579 EXTERN_C const IID IID_IDXGIResource;
580 
581 #if defined(__cplusplus) && !defined(CINTERFACE)
582 
583  MIDL_INTERFACE("035f3ab4-482e-4e50-b41f-8a7f8bd8960b")
585  {
586  public:
587  virtual HRESULT STDMETHODCALLTYPE GetSharedHandle(
588  /* [annotation][out] */
589  _Out_ HANDLE *pSharedHandle) = 0;
590 
591  virtual HRESULT STDMETHODCALLTYPE GetUsage(
592  /* [out] */ DXGI_USAGE *pUsage) = 0;
593 
594  virtual HRESULT STDMETHODCALLTYPE SetEvictionPriority(
595  /* [in] */ UINT EvictionPriority) = 0;
596 
597  virtual HRESULT STDMETHODCALLTYPE GetEvictionPriority(
598  /* [annotation][retval][out] */
599  _Out_ UINT *pEvictionPriority) = 0;
600 
601  };
602 
603 
604 #else /* C style interface */
605 
606  typedef struct IDXGIResourceVtbl
607  {
608  BEGIN_INTERFACE
609 
610  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
611  IDXGIResource * This,
612  /* [in] */ REFIID riid,
613  /* [annotation][iid_is][out] */
614  _COM_Outptr_ void **ppvObject);
615 
616  ULONG ( STDMETHODCALLTYPE *AddRef )(
617  IDXGIResource * This);
618 
619  ULONG ( STDMETHODCALLTYPE *Release )(
620  IDXGIResource * This);
621 
622  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
623  IDXGIResource * This,
624  /* [annotation][in] */
625  _In_ REFGUID Name,
626  /* [in] */ UINT DataSize,
627  /* [annotation][in] */
628  _In_reads_bytes_(DataSize) const void *pData);
629 
630  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
631  IDXGIResource * This,
632  /* [annotation][in] */
633  _In_ REFGUID Name,
634  /* [annotation][in] */
635  _In_opt_ const IUnknown *pUnknown);
636 
637  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
638  IDXGIResource * This,
639  /* [annotation][in] */
640  _In_ REFGUID Name,
641  /* [annotation][out][in] */
642  _Inout_ UINT *pDataSize,
643  /* [annotation][out] */
644  _Out_writes_bytes_(*pDataSize) void *pData);
645 
646  HRESULT ( STDMETHODCALLTYPE *GetParent )(
647  IDXGIResource * This,
648  /* [annotation][in] */
649  _In_ REFIID riid,
650  /* [annotation][retval][out] */
651  _COM_Outptr_ void **ppParent);
652 
653  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
654  IDXGIResource * This,
655  /* [annotation][in] */
656  _In_ REFIID riid,
657  /* [annotation][retval][out] */
658  _COM_Outptr_ void **ppDevice);
659 
660  HRESULT ( STDMETHODCALLTYPE *GetSharedHandle )(
661  IDXGIResource * This,
662  /* [annotation][out] */
663  _Out_ HANDLE *pSharedHandle);
664 
665  HRESULT ( STDMETHODCALLTYPE *GetUsage )(
666  IDXGIResource * This,
667  /* [out] */ DXGI_USAGE *pUsage);
668 
669  HRESULT ( STDMETHODCALLTYPE *SetEvictionPriority )(
670  IDXGIResource * This,
671  /* [in] */ UINT EvictionPriority);
672 
673  HRESULT ( STDMETHODCALLTYPE *GetEvictionPriority )(
674  IDXGIResource * This,
675  /* [annotation][retval][out] */
677 
678  END_INTERFACE
680 
681  interface IDXGIResource
682  {
683  CONST_VTBL struct IDXGIResourceVtbl *lpVtbl;
684  };
685 
686 
687 
688 #ifdef COBJMACROS
689 
690 
691 #define IDXGIResource_QueryInterface(This,riid,ppvObject) \
692  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
693 
694 #define IDXGIResource_AddRef(This) \
695  ( (This)->lpVtbl -> AddRef(This) )
696 
697 #define IDXGIResource_Release(This) \
698  ( (This)->lpVtbl -> Release(This) )
699 
700 
701 #define IDXGIResource_SetPrivateData(This,Name,DataSize,pData) \
702  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
703 
704 #define IDXGIResource_SetPrivateDataInterface(This,Name,pUnknown) \
705  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
706 
707 #define IDXGIResource_GetPrivateData(This,Name,pDataSize,pData) \
708  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
709 
710 #define IDXGIResource_GetParent(This,riid,ppParent) \
711  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
712 
713 
714 #define IDXGIResource_GetDevice(This,riid,ppDevice) \
715  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
716 
717 
718 #define IDXGIResource_GetSharedHandle(This,pSharedHandle) \
719  ( (This)->lpVtbl -> GetSharedHandle(This,pSharedHandle) )
720 
721 #define IDXGIResource_GetUsage(This,pUsage) \
722  ( (This)->lpVtbl -> GetUsage(This,pUsage) )
723 
724 #define IDXGIResource_SetEvictionPriority(This,EvictionPriority) \
725  ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
726 
727 #define IDXGIResource_GetEvictionPriority(This,pEvictionPriority) \
728  ( (This)->lpVtbl -> GetEvictionPriority(This,pEvictionPriority) )
729 
730 #endif /* COBJMACROS */
731 
732 
733 #endif /* C style interface */
734 
735 
736 
737 
738 #endif /* __IDXGIResource_INTERFACE_DEFINED__ */
739 
740 
741 #ifndef __IDXGIKeyedMutex_INTERFACE_DEFINED__
742 #define __IDXGIKeyedMutex_INTERFACE_DEFINED__
743 
744 /* interface IDXGIKeyedMutex */
745 /* [unique][local][uuid][object] */
746 
747 
748 EXTERN_C const IID IID_IDXGIKeyedMutex;
749 
750 #if defined(__cplusplus) && !defined(CINTERFACE)
751 
752  MIDL_INTERFACE("9d8e1289-d7b3-465f-8126-250e349af85d")
754  {
755  public:
756  virtual HRESULT STDMETHODCALLTYPE AcquireSync(
757  /* [in] */ UINT64 Key,
758  /* [in] */ DWORD dwMilliseconds) = 0;
759 
760  virtual HRESULT STDMETHODCALLTYPE ReleaseSync(
761  /* [in] */ UINT64 Key) = 0;
762 
763  };
764 
765 
766 #else /* C style interface */
767 
768  typedef struct IDXGIKeyedMutexVtbl
769  {
770  BEGIN_INTERFACE
771 
772  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
773  IDXGIKeyedMutex * This,
774  /* [in] */ REFIID riid,
775  /* [annotation][iid_is][out] */
776  _COM_Outptr_ void **ppvObject);
777 
778  ULONG ( STDMETHODCALLTYPE *AddRef )(
779  IDXGIKeyedMutex * This);
780 
781  ULONG ( STDMETHODCALLTYPE *Release )(
782  IDXGIKeyedMutex * This);
783 
784  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
785  IDXGIKeyedMutex * This,
786  /* [annotation][in] */
787  _In_ REFGUID Name,
788  /* [in] */ UINT DataSize,
789  /* [annotation][in] */
790  _In_reads_bytes_(DataSize) const void *pData);
791 
792  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
793  IDXGIKeyedMutex * This,
794  /* [annotation][in] */
795  _In_ REFGUID Name,
796  /* [annotation][in] */
797  _In_opt_ const IUnknown *pUnknown);
798 
799  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
800  IDXGIKeyedMutex * This,
801  /* [annotation][in] */
802  _In_ REFGUID Name,
803  /* [annotation][out][in] */
804  _Inout_ UINT *pDataSize,
805  /* [annotation][out] */
806  _Out_writes_bytes_(*pDataSize) void *pData);
807 
808  HRESULT ( STDMETHODCALLTYPE *GetParent )(
809  IDXGIKeyedMutex * This,
810  /* [annotation][in] */
811  _In_ REFIID riid,
812  /* [annotation][retval][out] */
813  _COM_Outptr_ void **ppParent);
814 
815  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
816  IDXGIKeyedMutex * This,
817  /* [annotation][in] */
818  _In_ REFIID riid,
819  /* [annotation][retval][out] */
820  _COM_Outptr_ void **ppDevice);
821 
822  HRESULT ( STDMETHODCALLTYPE *AcquireSync )(
823  IDXGIKeyedMutex * This,
824  /* [in] */ UINT64 Key,
825  /* [in] */ DWORD dwMilliseconds);
826 
827  HRESULT ( STDMETHODCALLTYPE *ReleaseSync )(
828  IDXGIKeyedMutex * This,
829  /* [in] */ UINT64 Key);
830 
831  END_INTERFACE
833 
834  interface IDXGIKeyedMutex
835  {
836  CONST_VTBL struct IDXGIKeyedMutexVtbl *lpVtbl;
837  };
838 
839 
840 
841 #ifdef COBJMACROS
842 
843 
844 #define IDXGIKeyedMutex_QueryInterface(This,riid,ppvObject) \
845  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
846 
847 #define IDXGIKeyedMutex_AddRef(This) \
848  ( (This)->lpVtbl -> AddRef(This) )
849 
850 #define IDXGIKeyedMutex_Release(This) \
851  ( (This)->lpVtbl -> Release(This) )
852 
853 
854 #define IDXGIKeyedMutex_SetPrivateData(This,Name,DataSize,pData) \
855  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
856 
857 #define IDXGIKeyedMutex_SetPrivateDataInterface(This,Name,pUnknown) \
858  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
859 
860 #define IDXGIKeyedMutex_GetPrivateData(This,Name,pDataSize,pData) \
861  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
862 
863 #define IDXGIKeyedMutex_GetParent(This,riid,ppParent) \
864  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
865 
866 
867 #define IDXGIKeyedMutex_GetDevice(This,riid,ppDevice) \
868  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
869 
870 
871 #define IDXGIKeyedMutex_AcquireSync(This,Key,dwMilliseconds) \
872  ( (This)->lpVtbl -> AcquireSync(This,Key,dwMilliseconds) )
873 
874 #define IDXGIKeyedMutex_ReleaseSync(This,Key) \
875  ( (This)->lpVtbl -> ReleaseSync(This,Key) )
876 
877 #endif /* COBJMACROS */
878 
879 
880 #endif /* C style interface */
881 
882 
883 
884 
885 #endif /* __IDXGIKeyedMutex_INTERFACE_DEFINED__ */
886 
887 
888 /* interface __MIDL_itf_dxgi_0000_0004 */
889 /* [local] */
890 
891 #define DXGI_MAP_READ ( 1UL )
892 
893 #define DXGI_MAP_WRITE ( 2UL )
894 
895 #define DXGI_MAP_DISCARD ( 4UL )
896 
897 
898 
899 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_c_ifspec;
900 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_s_ifspec;
901 
902 #ifndef __IDXGISurface_INTERFACE_DEFINED__
903 #define __IDXGISurface_INTERFACE_DEFINED__
904 
905 /* interface IDXGISurface */
906 /* [unique][local][uuid][object] */
907 
908 
909 EXTERN_C const IID IID_IDXGISurface;
910 
911 #if defined(__cplusplus) && !defined(CINTERFACE)
912 
913  MIDL_INTERFACE("cafcb56c-6ac3-4889-bf47-9e23bbd260ec")
915  {
916  public:
917  virtual HRESULT STDMETHODCALLTYPE GetDesc(
918  /* [annotation][out] */
919  _Out_ DXGI_SURFACE_DESC *pDesc) = 0;
920 
921  virtual HRESULT STDMETHODCALLTYPE Map(
922  /* [annotation][out] */
923  _Out_ DXGI_MAPPED_RECT *pLockedRect,
924  /* [in] */ UINT MapFlags) = 0;
925 
926  virtual HRESULT STDMETHODCALLTYPE Unmap( void) = 0;
927 
928  };
929 
930 
931 #else /* C style interface */
932 
933  typedef struct IDXGISurfaceVtbl
934  {
935  BEGIN_INTERFACE
936 
937  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
938  IDXGISurface * This,
939  /* [in] */ REFIID riid,
940  /* [annotation][iid_is][out] */
941  _COM_Outptr_ void **ppvObject);
942 
943  ULONG ( STDMETHODCALLTYPE *AddRef )(
944  IDXGISurface * This);
945 
946  ULONG ( STDMETHODCALLTYPE *Release )(
947  IDXGISurface * This);
948 
949  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
950  IDXGISurface * This,
951  /* [annotation][in] */
952  _In_ REFGUID Name,
953  /* [in] */ UINT DataSize,
954  /* [annotation][in] */
955  _In_reads_bytes_(DataSize) const void *pData);
956 
957  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
958  IDXGISurface * This,
959  /* [annotation][in] */
960  _In_ REFGUID Name,
961  /* [annotation][in] */
962  _In_opt_ const IUnknown *pUnknown);
963 
964  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
965  IDXGISurface * This,
966  /* [annotation][in] */
967  _In_ REFGUID Name,
968  /* [annotation][out][in] */
969  _Inout_ UINT *pDataSize,
970  /* [annotation][out] */
971  _Out_writes_bytes_(*pDataSize) void *pData);
972 
973  HRESULT ( STDMETHODCALLTYPE *GetParent )(
974  IDXGISurface * This,
975  /* [annotation][in] */
976  _In_ REFIID riid,
977  /* [annotation][retval][out] */
978  _COM_Outptr_ void **ppParent);
979 
980  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
981  IDXGISurface * This,
982  /* [annotation][in] */
983  _In_ REFIID riid,
984  /* [annotation][retval][out] */
985  _COM_Outptr_ void **ppDevice);
986 
987  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
988  IDXGISurface * This,
989  /* [annotation][out] */
991 
992  HRESULT ( STDMETHODCALLTYPE *Map )(
993  IDXGISurface * This,
994  /* [annotation][out] */
996  /* [in] */ UINT MapFlags);
997 
998  HRESULT ( STDMETHODCALLTYPE *Unmap )(
999  IDXGISurface * This);
1000 
1001  END_INTERFACE
1002  } IDXGISurfaceVtbl;
1003 
1004  interface IDXGISurface
1005  {
1006  CONST_VTBL struct IDXGISurfaceVtbl *lpVtbl;
1007  };
1008 
1009 
1010 
1011 #ifdef COBJMACROS
1012 
1013 
1014 #define IDXGISurface_QueryInterface(This,riid,ppvObject) \
1015  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1016 
1017 #define IDXGISurface_AddRef(This) \
1018  ( (This)->lpVtbl -> AddRef(This) )
1019 
1020 #define IDXGISurface_Release(This) \
1021  ( (This)->lpVtbl -> Release(This) )
1022 
1023 
1024 #define IDXGISurface_SetPrivateData(This,Name,DataSize,pData) \
1025  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1026 
1027 #define IDXGISurface_SetPrivateDataInterface(This,Name,pUnknown) \
1028  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1029 
1030 #define IDXGISurface_GetPrivateData(This,Name,pDataSize,pData) \
1031  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1032 
1033 #define IDXGISurface_GetParent(This,riid,ppParent) \
1034  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1035 
1036 
1037 #define IDXGISurface_GetDevice(This,riid,ppDevice) \
1038  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
1039 
1040 
1041 #define IDXGISurface_GetDesc(This,pDesc) \
1042  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1043 
1044 #define IDXGISurface_Map(This,pLockedRect,MapFlags) \
1045  ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) )
1046 
1047 #define IDXGISurface_Unmap(This) \
1048  ( (This)->lpVtbl -> Unmap(This) )
1049 
1050 #endif /* COBJMACROS */
1051 
1052 
1053 #endif /* C style interface */
1054 
1055 
1056 
1057 
1058 #endif /* __IDXGISurface_INTERFACE_DEFINED__ */
1059 
1060 
1061 #ifndef __IDXGISurface1_INTERFACE_DEFINED__
1062 #define __IDXGISurface1_INTERFACE_DEFINED__
1063 
1064 /* interface IDXGISurface1 */
1065 /* [unique][local][uuid][object] */
1066 
1067 
1068 EXTERN_C const IID IID_IDXGISurface1;
1069 
1070 #if defined(__cplusplus) && !defined(CINTERFACE)
1071 
1072  MIDL_INTERFACE("4AE63092-6327-4c1b-80AE-BFE12EA32B86")
1073  IDXGISurface1 : public IDXGISurface
1074  {
1075  public:
1076  virtual HRESULT STDMETHODCALLTYPE GetDC(
1077  /* [in] */ BOOL Discard,
1078  /* [annotation][out] */
1079  _Out_ HDC *phdc) = 0;
1080 
1081  virtual HRESULT STDMETHODCALLTYPE ReleaseDC(
1082  /* [annotation][in] */
1083  _In_opt_ RECT *pDirtyRect) = 0;
1084 
1085  };
1086 
1087 
1088 #else /* C style interface */
1089 
1090  typedef struct IDXGISurface1Vtbl
1091  {
1092  BEGIN_INTERFACE
1093 
1094  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1095  IDXGISurface1 * This,
1096  /* [in] */ REFIID riid,
1097  /* [annotation][iid_is][out] */
1098  _COM_Outptr_ void **ppvObject);
1099 
1100  ULONG ( STDMETHODCALLTYPE *AddRef )(
1101  IDXGISurface1 * This);
1102 
1103  ULONG ( STDMETHODCALLTYPE *Release )(
1104  IDXGISurface1 * This);
1105 
1106  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1107  IDXGISurface1 * This,
1108  /* [annotation][in] */
1109  _In_ REFGUID Name,
1110  /* [in] */ UINT DataSize,
1111  /* [annotation][in] */
1112  _In_reads_bytes_(DataSize) const void *pData);
1113 
1114  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1115  IDXGISurface1 * This,
1116  /* [annotation][in] */
1117  _In_ REFGUID Name,
1118  /* [annotation][in] */
1119  _In_opt_ const IUnknown *pUnknown);
1120 
1121  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1122  IDXGISurface1 * This,
1123  /* [annotation][in] */
1124  _In_ REFGUID Name,
1125  /* [annotation][out][in] */
1126  _Inout_ UINT *pDataSize,
1127  /* [annotation][out] */
1128  _Out_writes_bytes_(*pDataSize) void *pData);
1129 
1130  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1131  IDXGISurface1 * This,
1132  /* [annotation][in] */
1133  _In_ REFIID riid,
1134  /* [annotation][retval][out] */
1135  _COM_Outptr_ void **ppParent);
1136 
1137  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
1138  IDXGISurface1 * This,
1139  /* [annotation][in] */
1140  _In_ REFIID riid,
1141  /* [annotation][retval][out] */
1142  _COM_Outptr_ void **ppDevice);
1143 
1144  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1145  IDXGISurface1 * This,
1146  /* [annotation][out] */
1148 
1149  HRESULT ( STDMETHODCALLTYPE *Map )(
1150  IDXGISurface1 * This,
1151  /* [annotation][out] */
1153  /* [in] */ UINT MapFlags);
1154 
1155  HRESULT ( STDMETHODCALLTYPE *Unmap )(
1156  IDXGISurface1 * This);
1157 
1158  HRESULT ( STDMETHODCALLTYPE *GetDC )(
1159  IDXGISurface1 * This,
1160  /* [in] */ BOOL Discard,
1161  /* [annotation][out] */
1162  _Out_ HDC *phdc);
1163 
1164  HRESULT ( STDMETHODCALLTYPE *ReleaseDC )(
1165  IDXGISurface1 * This,
1166  /* [annotation][in] */
1167  _In_opt_ RECT *pDirtyRect);
1168 
1169  END_INTERFACE
1171 
1172  interface IDXGISurface1
1173  {
1174  CONST_VTBL struct IDXGISurface1Vtbl *lpVtbl;
1175  };
1176 
1177 
1178 
1179 #ifdef COBJMACROS
1180 
1181 
1182 #define IDXGISurface1_QueryInterface(This,riid,ppvObject) \
1183  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1184 
1185 #define IDXGISurface1_AddRef(This) \
1186  ( (This)->lpVtbl -> AddRef(This) )
1187 
1188 #define IDXGISurface1_Release(This) \
1189  ( (This)->lpVtbl -> Release(This) )
1190 
1191 
1192 #define IDXGISurface1_SetPrivateData(This,Name,DataSize,pData) \
1193  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1194 
1195 #define IDXGISurface1_SetPrivateDataInterface(This,Name,pUnknown) \
1196  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1197 
1198 #define IDXGISurface1_GetPrivateData(This,Name,pDataSize,pData) \
1199  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1200 
1201 #define IDXGISurface1_GetParent(This,riid,ppParent) \
1202  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1203 
1204 
1205 #define IDXGISurface1_GetDevice(This,riid,ppDevice) \
1206  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
1207 
1208 
1209 #define IDXGISurface1_GetDesc(This,pDesc) \
1210  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1211 
1212 #define IDXGISurface1_Map(This,pLockedRect,MapFlags) \
1213  ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) )
1214 
1215 #define IDXGISurface1_Unmap(This) \
1216  ( (This)->lpVtbl -> Unmap(This) )
1217 
1218 
1219 #define IDXGISurface1_GetDC(This,Discard,phdc) \
1220  ( (This)->lpVtbl -> GetDC(This,Discard,phdc) )
1221 
1222 #define IDXGISurface1_ReleaseDC(This,pDirtyRect) \
1223  ( (This)->lpVtbl -> ReleaseDC(This,pDirtyRect) )
1224 
1225 #endif /* COBJMACROS */
1226 
1227 
1228 #endif /* C style interface */
1229 
1230 
1231 
1232 
1233 #endif /* __IDXGISurface1_INTERFACE_DEFINED__ */
1234 
1235 
1236 /* interface __MIDL_itf_dxgi_0000_0006 */
1237 /* [local] */
1238 
1239 
1240 
1241 
1242 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_c_ifspec;
1243 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_s_ifspec;
1244 
1245 #ifndef __IDXGIAdapter_INTERFACE_DEFINED__
1246 #define __IDXGIAdapter_INTERFACE_DEFINED__
1247 
1248 /* interface IDXGIAdapter */
1249 /* [unique][local][uuid][object] */
1250 
1251 
1252 EXTERN_C const IID IID_IDXGIAdapter;
1253 
1254 #if defined(__cplusplus) && !defined(CINTERFACE)
1255 
1256  MIDL_INTERFACE("2411e7e1-12ac-4ccf-bd14-9798e8534dc0")
1257  IDXGIAdapter : public IDXGIObject
1258  {
1259  public:
1260  virtual HRESULT STDMETHODCALLTYPE EnumOutputs(
1261  /* [in] */ UINT Output,
1262  /* [annotation][out][in] */
1263  _COM_Outptr_ IDXGIOutput **ppOutput) = 0;
1264 
1265  virtual HRESULT STDMETHODCALLTYPE GetDesc(
1266  /* [annotation][out] */
1267  _Out_ DXGI_ADAPTER_DESC *pDesc) = 0;
1268 
1269  virtual HRESULT STDMETHODCALLTYPE CheckInterfaceSupport(
1270  /* [annotation][in] */
1271  _In_ REFGUID InterfaceName,
1272  /* [annotation][out] */
1273  _Out_ LARGE_INTEGER *pUMDVersion) = 0;
1274 
1275  };
1276 
1277 
1278 #else /* C style interface */
1279 
1280  typedef struct IDXGIAdapterVtbl
1281  {
1282  BEGIN_INTERFACE
1283 
1284  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1285  IDXGIAdapter * This,
1286  /* [in] */ REFIID riid,
1287  /* [annotation][iid_is][out] */
1288  _COM_Outptr_ void **ppvObject);
1289 
1290  ULONG ( STDMETHODCALLTYPE *AddRef )(
1291  IDXGIAdapter * This);
1292 
1293  ULONG ( STDMETHODCALLTYPE *Release )(
1294  IDXGIAdapter * This);
1295 
1296  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1297  IDXGIAdapter * This,
1298  /* [annotation][in] */
1299  _In_ REFGUID Name,
1300  /* [in] */ UINT DataSize,
1301  /* [annotation][in] */
1302  _In_reads_bytes_(DataSize) const void *pData);
1303 
1304  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1305  IDXGIAdapter * This,
1306  /* [annotation][in] */
1307  _In_ REFGUID Name,
1308  /* [annotation][in] */
1309  _In_opt_ const IUnknown *pUnknown);
1310 
1311  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1312  IDXGIAdapter * This,
1313  /* [annotation][in] */
1314  _In_ REFGUID Name,
1315  /* [annotation][out][in] */
1316  _Inout_ UINT *pDataSize,
1317  /* [annotation][out] */
1318  _Out_writes_bytes_(*pDataSize) void *pData);
1319 
1320  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1321  IDXGIAdapter * This,
1322  /* [annotation][in] */
1323  _In_ REFIID riid,
1324  /* [annotation][retval][out] */
1325  _COM_Outptr_ void **ppParent);
1326 
1327  HRESULT ( STDMETHODCALLTYPE *EnumOutputs )(
1328  IDXGIAdapter * This,
1329  /* [in] */ UINT Output,
1330  /* [annotation][out][in] */
1331  _COM_Outptr_ IDXGIOutput **ppOutput);
1332 
1333  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1334  IDXGIAdapter * This,
1335  /* [annotation][out] */
1337 
1338  HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )(
1339  IDXGIAdapter * This,
1340  /* [annotation][in] */
1341  _In_ REFGUID InterfaceName,
1342  /* [annotation][out] */
1343  _Out_ LARGE_INTEGER *pUMDVersion);
1344 
1345  END_INTERFACE
1346  } IDXGIAdapterVtbl;
1347 
1348  interface IDXGIAdapter
1349  {
1350  CONST_VTBL struct IDXGIAdapterVtbl *lpVtbl;
1351  };
1352 
1353 
1354 
1355 #ifdef COBJMACROS
1356 
1357 
1358 #define IDXGIAdapter_QueryInterface(This,riid,ppvObject) \
1359  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1360 
1361 #define IDXGIAdapter_AddRef(This) \
1362  ( (This)->lpVtbl -> AddRef(This) )
1363 
1364 #define IDXGIAdapter_Release(This) \
1365  ( (This)->lpVtbl -> Release(This) )
1366 
1367 
1368 #define IDXGIAdapter_SetPrivateData(This,Name,DataSize,pData) \
1369  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1370 
1371 #define IDXGIAdapter_SetPrivateDataInterface(This,Name,pUnknown) \
1372  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1373 
1374 #define IDXGIAdapter_GetPrivateData(This,Name,pDataSize,pData) \
1375  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1376 
1377 #define IDXGIAdapter_GetParent(This,riid,ppParent) \
1378  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1379 
1380 
1381 #define IDXGIAdapter_EnumOutputs(This,Output,ppOutput) \
1382  ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) )
1383 
1384 #define IDXGIAdapter_GetDesc(This,pDesc) \
1385  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1386 
1387 #define IDXGIAdapter_CheckInterfaceSupport(This,InterfaceName,pUMDVersion) \
1388  ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) )
1389 
1390 #endif /* COBJMACROS */
1391 
1392 
1393 #endif /* C style interface */
1394 
1395 
1396 
1397 
1398 #endif /* __IDXGIAdapter_INTERFACE_DEFINED__ */
1399 
1400 
1401 /* interface __MIDL_itf_dxgi_0000_0007 */
1402 /* [local] */
1403 
1404 #define DXGI_ENUM_MODES_INTERLACED ( 1UL )
1405 
1406 #define DXGI_ENUM_MODES_SCALING ( 2UL )
1407 
1408 
1409 
1410 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_c_ifspec;
1411 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_s_ifspec;
1412 
1413 #ifndef __IDXGIOutput_INTERFACE_DEFINED__
1414 #define __IDXGIOutput_INTERFACE_DEFINED__
1415 
1416 /* interface IDXGIOutput */
1417 /* [unique][local][uuid][object] */
1418 
1419 
1420 EXTERN_C const IID IID_IDXGIOutput;
1421 
1422 #if defined(__cplusplus) && !defined(CINTERFACE)
1423 
1424  MIDL_INTERFACE("ae02eedb-c735-4690-8d52-5a8dc20213aa")
1425  IDXGIOutput : public IDXGIObject
1426  {
1427  public:
1428  virtual HRESULT STDMETHODCALLTYPE GetDesc(
1429  /* [annotation][out] */
1430  _Out_ DXGI_OUTPUT_DESC *pDesc) = 0;
1431 
1432  virtual HRESULT STDMETHODCALLTYPE GetDisplayModeList(
1433  /* [in] */ DXGI_FORMAT EnumFormat,
1434  /* [in] */ UINT Flags,
1435  /* [annotation][out][in] */
1436  _Inout_ UINT *pNumModes,
1437  /* [annotation][out] */
1438  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC *pDesc) = 0;
1439 
1440  virtual HRESULT STDMETHODCALLTYPE FindClosestMatchingMode(
1441  /* [annotation][in] */
1442  _In_ const DXGI_MODE_DESC *pModeToMatch,
1443  /* [annotation][out] */
1444  _Out_ DXGI_MODE_DESC *pClosestMatch,
1445  /* [annotation][in] */
1446  _In_opt_ IUnknown *pConcernedDevice) = 0;
1447 
1448  virtual HRESULT STDMETHODCALLTYPE WaitForVBlank( void) = 0;
1449 
1450  virtual HRESULT STDMETHODCALLTYPE TakeOwnership(
1451  /* [annotation][in] */
1452  _In_ IUnknown *pDevice,
1453  BOOL Exclusive) = 0;
1454 
1455  virtual void STDMETHODCALLTYPE ReleaseOwnership( void) = 0;
1456 
1457  virtual HRESULT STDMETHODCALLTYPE GetGammaControlCapabilities(
1458  /* [annotation][out] */
1459  _Out_ DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps) = 0;
1460 
1461  virtual HRESULT STDMETHODCALLTYPE SetGammaControl(
1462  /* [annotation][in] */
1463  _In_ const DXGI_GAMMA_CONTROL *pArray) = 0;
1464 
1465  virtual HRESULT STDMETHODCALLTYPE GetGammaControl(
1466  /* [annotation][out] */
1467  _Out_ DXGI_GAMMA_CONTROL *pArray) = 0;
1468 
1469  virtual HRESULT STDMETHODCALLTYPE SetDisplaySurface(
1470  /* [annotation][in] */
1471  _In_ IDXGISurface *pScanoutSurface) = 0;
1472 
1473  virtual HRESULT STDMETHODCALLTYPE GetDisplaySurfaceData(
1474  /* [annotation][in] */
1475  _In_ IDXGISurface *pDestination) = 0;
1476 
1477  virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics(
1478  /* [annotation][out] */
1479  _Out_ DXGI_FRAME_STATISTICS *pStats) = 0;
1480 
1481  };
1482 
1483 
1484 #else /* C style interface */
1485 
1486  typedef struct IDXGIOutputVtbl
1487  {
1488  BEGIN_INTERFACE
1489 
1490  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1491  IDXGIOutput * This,
1492  /* [in] */ REFIID riid,
1493  /* [annotation][iid_is][out] */
1494  _COM_Outptr_ void **ppvObject);
1495 
1496  ULONG ( STDMETHODCALLTYPE *AddRef )(
1497  IDXGIOutput * This);
1498 
1499  ULONG ( STDMETHODCALLTYPE *Release )(
1500  IDXGIOutput * This);
1501 
1502  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1503  IDXGIOutput * This,
1504  /* [annotation][in] */
1505  _In_ REFGUID Name,
1506  /* [in] */ UINT DataSize,
1507  /* [annotation][in] */
1508  _In_reads_bytes_(DataSize) const void *pData);
1509 
1510  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1511  IDXGIOutput * This,
1512  /* [annotation][in] */
1513  _In_ REFGUID Name,
1514  /* [annotation][in] */
1515  _In_opt_ const IUnknown *pUnknown);
1516 
1517  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1518  IDXGIOutput * This,
1519  /* [annotation][in] */
1520  _In_ REFGUID Name,
1521  /* [annotation][out][in] */
1522  _Inout_ UINT *pDataSize,
1523  /* [annotation][out] */
1524  _Out_writes_bytes_(*pDataSize) void *pData);
1525 
1526  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1527  IDXGIOutput * This,
1528  /* [annotation][in] */
1529  _In_ REFIID riid,
1530  /* [annotation][retval][out] */
1531  _COM_Outptr_ void **ppParent);
1532 
1533  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1534  IDXGIOutput * This,
1535  /* [annotation][out] */
1537 
1538  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )(
1539  IDXGIOutput * This,
1541  /* [in] */ UINT Flags,
1542  /* [annotation][out][in] */
1543  _Inout_ UINT *pNumModes,
1544  /* [annotation][out] */
1545  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC *pDesc);
1546 
1547  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )(
1548  IDXGIOutput * This,
1549  /* [annotation][in] */
1551  /* [annotation][out] */
1553  /* [annotation][in] */
1554  _In_opt_ IUnknown *pConcernedDevice);
1555 
1556  HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )(
1557  IDXGIOutput * This);
1558 
1559  HRESULT ( STDMETHODCALLTYPE *TakeOwnership )(
1560  IDXGIOutput * This,
1561  /* [annotation][in] */
1562  _In_ IUnknown *pDevice,
1563  BOOL Exclusive);
1564 
1565  void ( STDMETHODCALLTYPE *ReleaseOwnership )(
1566  IDXGIOutput * This);
1567 
1568  HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )(
1569  IDXGIOutput * This,
1570  /* [annotation][out] */
1572 
1573  HRESULT ( STDMETHODCALLTYPE *SetGammaControl )(
1574  IDXGIOutput * This,
1575  /* [annotation][in] */
1577 
1578  HRESULT ( STDMETHODCALLTYPE *GetGammaControl )(
1579  IDXGIOutput * This,
1580  /* [annotation][out] */
1582 
1583  HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )(
1584  IDXGIOutput * This,
1585  /* [annotation][in] */
1587 
1588  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )(
1589  IDXGIOutput * This,
1590  /* [annotation][in] */
1592 
1593  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
1594  IDXGIOutput * This,
1595  /* [annotation][out] */
1597 
1598  END_INTERFACE
1599  } IDXGIOutputVtbl;
1600 
1601  interface IDXGIOutput
1602  {
1603  CONST_VTBL struct IDXGIOutputVtbl *lpVtbl;
1604  };
1605 
1606 
1607 
1608 #ifdef COBJMACROS
1609 
1610 
1611 #define IDXGIOutput_QueryInterface(This,riid,ppvObject) \
1612  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1613 
1614 #define IDXGIOutput_AddRef(This) \
1615  ( (This)->lpVtbl -> AddRef(This) )
1616 
1617 #define IDXGIOutput_Release(This) \
1618  ( (This)->lpVtbl -> Release(This) )
1619 
1620 
1621 #define IDXGIOutput_SetPrivateData(This,Name,DataSize,pData) \
1622  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1623 
1624 #define IDXGIOutput_SetPrivateDataInterface(This,Name,pUnknown) \
1625  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1626 
1627 #define IDXGIOutput_GetPrivateData(This,Name,pDataSize,pData) \
1628  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1629 
1630 #define IDXGIOutput_GetParent(This,riid,ppParent) \
1631  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1632 
1633 
1634 #define IDXGIOutput_GetDesc(This,pDesc) \
1635  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1636 
1637 #define IDXGIOutput_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) \
1638  ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) )
1639 
1640 #define IDXGIOutput_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
1641  ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
1642 
1643 #define IDXGIOutput_WaitForVBlank(This) \
1644  ( (This)->lpVtbl -> WaitForVBlank(This) )
1645 
1646 #define IDXGIOutput_TakeOwnership(This,pDevice,Exclusive) \
1647  ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) )
1648 
1649 #define IDXGIOutput_ReleaseOwnership(This) \
1650  ( (This)->lpVtbl -> ReleaseOwnership(This) )
1651 
1652 #define IDXGIOutput_GetGammaControlCapabilities(This,pGammaCaps) \
1653  ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) )
1654 
1655 #define IDXGIOutput_SetGammaControl(This,pArray) \
1656  ( (This)->lpVtbl -> SetGammaControl(This,pArray) )
1657 
1658 #define IDXGIOutput_GetGammaControl(This,pArray) \
1659  ( (This)->lpVtbl -> GetGammaControl(This,pArray) )
1660 
1661 #define IDXGIOutput_SetDisplaySurface(This,pScanoutSurface) \
1662  ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) )
1663 
1664 #define IDXGIOutput_GetDisplaySurfaceData(This,pDestination) \
1665  ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) )
1666 
1667 #define IDXGIOutput_GetFrameStatistics(This,pStats) \
1668  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
1669 
1670 #endif /* COBJMACROS */
1671 
1672 
1673 #endif /* C style interface */
1674 
1675 
1676 
1677 
1678 #endif /* __IDXGIOutput_INTERFACE_DEFINED__ */
1679 
1680 
1681 /* interface __MIDL_itf_dxgi_0000_0008 */
1682 /* [local] */
1683 
1684 #define DXGI_MAX_SWAP_CHAIN_BUFFERS ( 16 )
1685 #define DXGI_PRESENT_TEST 0x00000001UL
1686 #define DXGI_PRESENT_DO_NOT_SEQUENCE 0x00000002UL
1687 #define DXGI_PRESENT_RESTART 0x00000004UL
1688 #define DXGI_PRESENT_DO_NOT_WAIT 0x00000008UL
1689 #define DXGI_PRESENT_STEREO_PREFER_RIGHT 0x00000010UL
1690 #define DXGI_PRESENT_STEREO_TEMPORARY_MONO 0x00000020UL
1691 #define DXGI_PRESENT_RESTRICT_TO_OUTPUT 0x00000040UL
1692 #define DXGI_PRESENT_USE_DURATION 0x00000100UL
1693 #define DXGI_PRESENT_ALLOW_TEARING 0x00000200UL
1694 
1695 
1696 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_c_ifspec;
1697 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_s_ifspec;
1698 
1699 #ifndef __IDXGISwapChain_INTERFACE_DEFINED__
1700 #define __IDXGISwapChain_INTERFACE_DEFINED__
1701 
1702 /* interface IDXGISwapChain */
1703 /* [unique][local][uuid][object] */
1704 
1705 
1706 EXTERN_C const IID IID_IDXGISwapChain;
1707 
1708 #if defined(__cplusplus) && !defined(CINTERFACE)
1709 
1710  MIDL_INTERFACE("310d36a0-d2e7-4c0a-aa04-6a9d23b8886a")
1712  {
1713  public:
1714  virtual HRESULT STDMETHODCALLTYPE Present(
1715  /* [in] */ UINT SyncInterval,
1716  /* [in] */ UINT Flags) = 0;
1717 
1718  virtual HRESULT STDMETHODCALLTYPE GetBuffer(
1719  /* [in] */ UINT Buffer,
1720  /* [annotation][in] */
1721  _In_ REFIID riid,
1722  /* [annotation][out][in] */
1723  _COM_Outptr_ void **ppSurface) = 0;
1724 
1725  virtual HRESULT STDMETHODCALLTYPE SetFullscreenState(
1726  /* [in] */ BOOL Fullscreen,
1727  /* [annotation][in] */
1728  _In_opt_ IDXGIOutput *pTarget) = 0;
1729 
1730  virtual HRESULT STDMETHODCALLTYPE GetFullscreenState(
1731  /* [annotation][out] */
1732  _Out_opt_ BOOL *pFullscreen,
1733  /* [annotation][out] */
1734  _COM_Outptr_opt_result_maybenull_ IDXGIOutput **ppTarget) = 0;
1735 
1736  virtual HRESULT STDMETHODCALLTYPE GetDesc(
1737  /* [annotation][out] */
1738  _Out_ DXGI_SWAP_CHAIN_DESC *pDesc) = 0;
1739 
1740  virtual HRESULT STDMETHODCALLTYPE ResizeBuffers(
1741  /* [in] */ UINT BufferCount,
1742  /* [in] */ UINT Width,
1743  /* [in] */ UINT Height,
1744  /* [in] */ DXGI_FORMAT NewFormat,
1745  /* [in] */ UINT SwapChainFlags) = 0;
1746 
1747  virtual HRESULT STDMETHODCALLTYPE ResizeTarget(
1748  /* [annotation][in] */
1749  _In_ const DXGI_MODE_DESC *pNewTargetParameters) = 0;
1750 
1751  virtual HRESULT STDMETHODCALLTYPE GetContainingOutput(
1752  /* [annotation][out] */
1753  _COM_Outptr_ IDXGIOutput **ppOutput) = 0;
1754 
1755  virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics(
1756  /* [annotation][out] */
1757  _Out_ DXGI_FRAME_STATISTICS *pStats) = 0;
1758 
1759  virtual HRESULT STDMETHODCALLTYPE GetLastPresentCount(
1760  /* [annotation][out] */
1761  _Out_ UINT *pLastPresentCount) = 0;
1762 
1763  };
1764 
1765 
1766 #else /* C style interface */
1767 
1768  typedef struct IDXGISwapChainVtbl
1769  {
1770  BEGIN_INTERFACE
1771 
1772  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1773  IDXGISwapChain * This,
1774  /* [in] */ REFIID riid,
1775  /* [annotation][iid_is][out] */
1776  _COM_Outptr_ void **ppvObject);
1777 
1778  ULONG ( STDMETHODCALLTYPE *AddRef )(
1779  IDXGISwapChain * This);
1780 
1781  ULONG ( STDMETHODCALLTYPE *Release )(
1782  IDXGISwapChain * This);
1783 
1784  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1785  IDXGISwapChain * This,
1786  /* [annotation][in] */
1787  _In_ REFGUID Name,
1788  /* [in] */ UINT DataSize,
1789  /* [annotation][in] */
1790  _In_reads_bytes_(DataSize) const void *pData);
1791 
1792  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1793  IDXGISwapChain * This,
1794  /* [annotation][in] */
1795  _In_ REFGUID Name,
1796  /* [annotation][in] */
1797  _In_opt_ const IUnknown *pUnknown);
1798 
1799  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1800  IDXGISwapChain * This,
1801  /* [annotation][in] */
1802  _In_ REFGUID Name,
1803  /* [annotation][out][in] */
1804  _Inout_ UINT *pDataSize,
1805  /* [annotation][out] */
1806  _Out_writes_bytes_(*pDataSize) void *pData);
1807 
1808  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1809  IDXGISwapChain * This,
1810  /* [annotation][in] */
1811  _In_ REFIID riid,
1812  /* [annotation][retval][out] */
1813  _COM_Outptr_ void **ppParent);
1814 
1815  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
1816  IDXGISwapChain * This,
1817  /* [annotation][in] */
1818  _In_ REFIID riid,
1819  /* [annotation][retval][out] */
1820  _COM_Outptr_ void **ppDevice);
1821 
1822  HRESULT ( STDMETHODCALLTYPE *Present )(
1823  IDXGISwapChain * This,
1824  /* [in] */ UINT SyncInterval,
1825  /* [in] */ UINT Flags);
1826 
1827  HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
1828  IDXGISwapChain * This,
1829  /* [in] */ UINT Buffer,
1830  /* [annotation][in] */
1831  _In_ REFIID riid,
1832  /* [annotation][out][in] */
1833  _COM_Outptr_ void **ppSurface);
1834 
1835  HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )(
1836  IDXGISwapChain * This,
1837  /* [in] */ BOOL Fullscreen,
1838  /* [annotation][in] */
1839  _In_opt_ IDXGIOutput *pTarget);
1840 
1841  HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )(
1842  IDXGISwapChain * This,
1843  /* [annotation][out] */
1844  _Out_opt_ BOOL *pFullscreen,
1845  /* [annotation][out] */
1846  _COM_Outptr_opt_result_maybenull_ IDXGIOutput **ppTarget);
1847 
1848  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1849  IDXGISwapChain * This,
1850  /* [annotation][out] */
1852 
1853  HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )(
1854  IDXGISwapChain * This,
1855  /* [in] */ UINT BufferCount,
1856  /* [in] */ UINT Width,
1857  /* [in] */ UINT Height,
1858  /* [in] */ DXGI_FORMAT NewFormat,
1859  /* [in] */ UINT SwapChainFlags);
1860 
1861  HRESULT ( STDMETHODCALLTYPE *ResizeTarget )(
1862  IDXGISwapChain * This,
1863  /* [annotation][in] */
1865 
1866  HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )(
1867  IDXGISwapChain * This,
1868  /* [annotation][out] */
1869  _COM_Outptr_ IDXGIOutput **ppOutput);
1870 
1871  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
1872  IDXGISwapChain * This,
1873  /* [annotation][out] */
1875 
1876  HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )(
1877  IDXGISwapChain * This,
1878  /* [annotation][out] */
1880 
1881  END_INTERFACE
1883 
1884  interface IDXGISwapChain
1885  {
1886  CONST_VTBL struct IDXGISwapChainVtbl *lpVtbl;
1887  };
1888 
1889 
1890 
1891 #ifdef COBJMACROS
1892 
1893 
1894 #define IDXGISwapChain_QueryInterface(This,riid,ppvObject) \
1895  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1896 
1897 #define IDXGISwapChain_AddRef(This) \
1898  ( (This)->lpVtbl -> AddRef(This) )
1899 
1900 #define IDXGISwapChain_Release(This) \
1901  ( (This)->lpVtbl -> Release(This) )
1902 
1903 
1904 #define IDXGISwapChain_SetPrivateData(This,Name,DataSize,pData) \
1905  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1906 
1907 #define IDXGISwapChain_SetPrivateDataInterface(This,Name,pUnknown) \
1908  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1909 
1910 #define IDXGISwapChain_GetPrivateData(This,Name,pDataSize,pData) \
1911  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1912 
1913 #define IDXGISwapChain_GetParent(This,riid,ppParent) \
1914  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1915 
1916 
1917 #define IDXGISwapChain_GetDevice(This,riid,ppDevice) \
1918  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
1919 
1920 
1921 #define IDXGISwapChain_Present(This,SyncInterval,Flags) \
1922  ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) )
1923 
1924 #define IDXGISwapChain_GetBuffer(This,Buffer,riid,ppSurface) \
1925  ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) )
1926 
1927 #define IDXGISwapChain_SetFullscreenState(This,Fullscreen,pTarget) \
1928  ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) )
1929 
1930 #define IDXGISwapChain_GetFullscreenState(This,pFullscreen,ppTarget) \
1931  ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) )
1932 
1933 #define IDXGISwapChain_GetDesc(This,pDesc) \
1934  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1935 
1936 #define IDXGISwapChain_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) \
1937  ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) )
1938 
1939 #define IDXGISwapChain_ResizeTarget(This,pNewTargetParameters) \
1940  ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) )
1941 
1942 #define IDXGISwapChain_GetContainingOutput(This,ppOutput) \
1943  ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) )
1944 
1945 #define IDXGISwapChain_GetFrameStatistics(This,pStats) \
1946  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
1947 
1948 #define IDXGISwapChain_GetLastPresentCount(This,pLastPresentCount) \
1949  ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) )
1950 
1951 #endif /* COBJMACROS */
1952 
1953 
1954 #endif /* C style interface */
1955 
1956 
1957 
1958 
1959 #endif /* __IDXGISwapChain_INTERFACE_DEFINED__ */
1960 
1961 
1962 /* interface __MIDL_itf_dxgi_0000_0009 */
1963 /* [local] */
1964 
1965 #define DXGI_MWA_NO_WINDOW_CHANGES ( 1 << 0 )
1966 #define DXGI_MWA_NO_ALT_ENTER ( 1 << 1 )
1967 #define DXGI_MWA_NO_PRINT_SCREEN ( 1 << 2 )
1968 #define DXGI_MWA_VALID ( 0x7 )
1969 
1970 
1971 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_c_ifspec;
1972 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_s_ifspec;
1973 
1974 #ifndef __IDXGIFactory_INTERFACE_DEFINED__
1975 #define __IDXGIFactory_INTERFACE_DEFINED__
1976 
1977 /* interface IDXGIFactory */
1978 /* [unique][local][uuid][object] */
1979 
1980 
1981 EXTERN_C const IID IID_IDXGIFactory;
1982 
1983 #if defined(__cplusplus) && !defined(CINTERFACE)
1984 
1985  MIDL_INTERFACE("7b7166ec-21c7-44ae-b21a-c9ae321ae369")
1986  IDXGIFactory : public IDXGIObject
1987  {
1988  public:
1989  virtual HRESULT STDMETHODCALLTYPE EnumAdapters(
1990  /* [in] */ UINT Adapter,
1991  /* [annotation][out] */
1992  _COM_Outptr_ IDXGIAdapter **ppAdapter) = 0;
1993 
1994  virtual HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
1995  HWND WindowHandle,
1996  UINT Flags) = 0;
1997 
1998  virtual HRESULT STDMETHODCALLTYPE GetWindowAssociation(
1999  /* [annotation][out] */
2000  _Out_ HWND *pWindowHandle) = 0;
2001 
2002  virtual HRESULT STDMETHODCALLTYPE CreateSwapChain(
2003  /* [annotation][in] */
2004  _In_ IUnknown *pDevice,
2005  /* [annotation][in] */
2007  /* [annotation][out] */
2008  _COM_Outptr_ IDXGISwapChain **ppSwapChain) = 0;
2009 
2010  virtual HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
2011  /* [in] */ HMODULE Module,
2012  /* [annotation][out] */
2013  _COM_Outptr_ IDXGIAdapter **ppAdapter) = 0;
2014 
2015  };
2016 
2017 
2018 #else /* C style interface */
2019 
2020  typedef struct IDXGIFactoryVtbl
2021  {
2022  BEGIN_INTERFACE
2023 
2024  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2025  IDXGIFactory * This,
2026  /* [in] */ REFIID riid,
2027  /* [annotation][iid_is][out] */
2028  _COM_Outptr_ void **ppvObject);
2029 
2030  ULONG ( STDMETHODCALLTYPE *AddRef )(
2031  IDXGIFactory * This);
2032 
2033  ULONG ( STDMETHODCALLTYPE *Release )(
2034  IDXGIFactory * This);
2035 
2036  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2037  IDXGIFactory * This,
2038  /* [annotation][in] */
2039  _In_ REFGUID Name,
2040  /* [in] */ UINT DataSize,
2041  /* [annotation][in] */
2042  _In_reads_bytes_(DataSize) const void *pData);
2043 
2044  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2045  IDXGIFactory * This,
2046  /* [annotation][in] */
2047  _In_ REFGUID Name,
2048  /* [annotation][in] */
2049  _In_opt_ const IUnknown *pUnknown);
2050 
2051  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2052  IDXGIFactory * This,
2053  /* [annotation][in] */
2054  _In_ REFGUID Name,
2055  /* [annotation][out][in] */
2056  _Inout_ UINT *pDataSize,
2057  /* [annotation][out] */
2058  _Out_writes_bytes_(*pDataSize) void *pData);
2059 
2060  HRESULT ( STDMETHODCALLTYPE *GetParent )(
2061  IDXGIFactory * This,
2062  /* [annotation][in] */
2063  _In_ REFIID riid,
2064  /* [annotation][retval][out] */
2065  _COM_Outptr_ void **ppParent);
2066 
2067  HRESULT ( STDMETHODCALLTYPE *EnumAdapters )(
2068  IDXGIFactory * This,
2069  /* [in] */ UINT Adapter,
2070  /* [annotation][out] */
2071  _COM_Outptr_ IDXGIAdapter **ppAdapter);
2072 
2073  HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )(
2074  IDXGIFactory * This,
2076  UINT Flags);
2077 
2078  HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )(
2079  IDXGIFactory * This,
2080  /* [annotation][out] */
2081  _Out_ HWND *pWindowHandle);
2082 
2083  HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )(
2084  IDXGIFactory * This,
2085  /* [annotation][in] */
2086  _In_ IUnknown *pDevice,
2087  /* [annotation][in] */
2089  /* [annotation][out] */
2090  _COM_Outptr_ IDXGISwapChain **ppSwapChain);
2091 
2092  HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )(
2093  IDXGIFactory * This,
2094  /* [in] */ HMODULE Module,
2095  /* [annotation][out] */
2096  _COM_Outptr_ IDXGIAdapter **ppAdapter);
2097 
2098  END_INTERFACE
2099  } IDXGIFactoryVtbl;
2100 
2101  interface IDXGIFactory
2102  {
2103  CONST_VTBL struct IDXGIFactoryVtbl *lpVtbl;
2104  };
2105 
2106 
2107 
2108 #ifdef COBJMACROS
2109 
2110 
2111 #define IDXGIFactory_QueryInterface(This,riid,ppvObject) \
2112  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2113 
2114 #define IDXGIFactory_AddRef(This) \
2115  ( (This)->lpVtbl -> AddRef(This) )
2116 
2117 #define IDXGIFactory_Release(This) \
2118  ( (This)->lpVtbl -> Release(This) )
2119 
2120 
2121 #define IDXGIFactory_SetPrivateData(This,Name,DataSize,pData) \
2122  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
2123 
2124 #define IDXGIFactory_SetPrivateDataInterface(This,Name,pUnknown) \
2125  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
2126 
2127 #define IDXGIFactory_GetPrivateData(This,Name,pDataSize,pData) \
2128  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
2129 
2130 #define IDXGIFactory_GetParent(This,riid,ppParent) \
2131  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
2132 
2133 
2134 #define IDXGIFactory_EnumAdapters(This,Adapter,ppAdapter) \
2135  ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) )
2136 
2137 #define IDXGIFactory_MakeWindowAssociation(This,WindowHandle,Flags) \
2138  ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) )
2139 
2140 #define IDXGIFactory_GetWindowAssociation(This,pWindowHandle) \
2141  ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) )
2142 
2143 #define IDXGIFactory_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \
2144  ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) )
2145 
2146 #define IDXGIFactory_CreateSoftwareAdapter(This,Module,ppAdapter) \
2147  ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) )
2148 
2149 #endif /* COBJMACROS */
2150 
2151 
2152 #endif /* C style interface */
2153 
2154 
2155 
2156 
2157 #endif /* __IDXGIFactory_INTERFACE_DEFINED__ */
2158 
2159 
2160 /* interface __MIDL_itf_dxgi_0000_0010 */
2161 /* [local] */
2162 
2163 /*#pragma region Desktop Family*/
2164 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
2165 HRESULT WINAPI CreateDXGIFactory(REFIID riid, _COM_Outptr_ void **ppFactory);
2166 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
2167 /*#pragma endregion*/
2168 HRESULT WINAPI CreateDXGIFactory1(REFIID riid, _COM_Outptr_ void **ppFactory);
2169 
2170 
2171 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_c_ifspec;
2172 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_s_ifspec;
2173 
2174 #ifndef __IDXGIDevice_INTERFACE_DEFINED__
2175 #define __IDXGIDevice_INTERFACE_DEFINED__
2176 
2177 /* interface IDXGIDevice */
2178 /* [unique][local][uuid][object] */
2179 
2180 
2181 EXTERN_C const IID IID_IDXGIDevice;
2182 
2183 #if defined(__cplusplus) && !defined(CINTERFACE)
2184 
2185  MIDL_INTERFACE("54ec77fa-1377-44e6-8c32-88fd5f44c84c")
2186  IDXGIDevice : public IDXGIObject
2187  {
2188  public:
2189  virtual HRESULT STDMETHODCALLTYPE GetAdapter(
2190  /* [annotation][out] */
2191  _COM_Outptr_ IDXGIAdapter **pAdapter) = 0;
2192 
2193  virtual HRESULT STDMETHODCALLTYPE CreateSurface(
2194  /* [annotation][in] */
2195  _In_ const DXGI_SURFACE_DESC *pDesc,
2196  /* [in] */ UINT NumSurfaces,
2197  /* [in] */ DXGI_USAGE Usage,
2198  /* [annotation][in] */
2199  _In_opt_ const DXGI_SHARED_RESOURCE *pSharedResource,
2200  /* [annotation][out] */
2201  _COM_Outptr_ IDXGISurface **ppSurface) = 0;
2202 
2203  virtual HRESULT STDMETHODCALLTYPE QueryResourceResidency(
2204  /* [annotation][size_is][in] */
2205  _In_reads_(NumResources) IUnknown *const *ppResources,
2206  /* [annotation][size_is][out] */
2207  _Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus,
2208  /* [in] */ UINT NumResources) = 0;
2209 
2210  virtual HRESULT STDMETHODCALLTYPE SetGPUThreadPriority(
2211  /* [in] */ INT Priority) = 0;
2212 
2213  virtual HRESULT STDMETHODCALLTYPE GetGPUThreadPriority(
2214  /* [annotation][retval][out] */
2215  _Out_ INT *pPriority) = 0;
2216 
2217  };
2218 
2219 
2220 #else /* C style interface */
2221 
2222  typedef struct IDXGIDeviceVtbl
2223  {
2224  BEGIN_INTERFACE
2225 
2226  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2227  IDXGIDevice * This,
2228  /* [in] */ REFIID riid,
2229  /* [annotation][iid_is][out] */
2230  _COM_Outptr_ void **ppvObject);
2231 
2232  ULONG ( STDMETHODCALLTYPE *AddRef )(
2233  IDXGIDevice * This);
2234 
2235  ULONG ( STDMETHODCALLTYPE *Release )(
2236  IDXGIDevice * This);
2237 
2238  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2239  IDXGIDevice * This,
2240  /* [annotation][in] */
2241  _In_ REFGUID Name,
2242  /* [in] */ UINT DataSize,
2243  /* [annotation][in] */
2244  _In_reads_bytes_(DataSize) const void *pData);
2245 
2246  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2247  IDXGIDevice * This,
2248  /* [annotation][in] */
2249  _In_ REFGUID Name,
2250  /* [annotation][in] */
2251  _In_opt_ const IUnknown *pUnknown);
2252 
2253  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2254  IDXGIDevice * This,
2255  /* [annotation][in] */
2256  _In_ REFGUID Name,
2257  /* [annotation][out][in] */
2258  _Inout_ UINT *pDataSize,
2259  /* [annotation][out] */
2260  _Out_writes_bytes_(*pDataSize) void *pData);
2261 
2262  HRESULT ( STDMETHODCALLTYPE *GetParent )(
2263  IDXGIDevice * This,
2264  /* [annotation][in] */
2265  _In_ REFIID riid,
2266  /* [annotation][retval][out] */
2267  _COM_Outptr_ void **ppParent);
2268 
2269  HRESULT ( STDMETHODCALLTYPE *GetAdapter )(
2270  IDXGIDevice * This,
2271  /* [annotation][out] */
2272  _COM_Outptr_ IDXGIAdapter **pAdapter);
2273 
2274  HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
2275  IDXGIDevice * This,
2276  /* [annotation][in] */
2278  /* [in] */ UINT NumSurfaces,
2279  /* [in] */ DXGI_USAGE Usage,
2280  /* [annotation][in] */
2281  _In_opt_ const DXGI_SHARED_RESOURCE *pSharedResource,
2282  /* [annotation][out] */
2283  _COM_Outptr_ IDXGISurface **ppSurface);
2284 
2285  HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )(
2286  IDXGIDevice * This,
2287  /* [annotation][size_is][in] */
2288  _In_reads_(NumResources) IUnknown *const *ppResources,
2289  /* [annotation][size_is][out] */
2290  _Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus,
2291  /* [in] */ UINT NumResources);
2292 
2293  HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )(
2294  IDXGIDevice * This,
2295  /* [in] */ INT Priority);
2296 
2297  HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )(
2298  IDXGIDevice * This,
2299  /* [annotation][retval][out] */
2300  _Out_ INT *pPriority);
2301 
2302  END_INTERFACE
2303  } IDXGIDeviceVtbl;
2304 
2305  interface IDXGIDevice
2306  {
2307  CONST_VTBL struct IDXGIDeviceVtbl *lpVtbl;
2308  };
2309 
2310 
2311 
2312 #ifdef COBJMACROS
2313 
2314 
2315 #define IDXGIDevice_QueryInterface(This,riid,ppvObject) \
2316  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2317 
2318 #define IDXGIDevice_AddRef(This) \
2319  ( (This)->lpVtbl -> AddRef(This) )
2320 
2321 #define IDXGIDevice_Release(This) \
2322  ( (This)->lpVtbl -> Release(This) )
2323 
2324 
2325 #define IDXGIDevice_SetPrivateData(This,Name,DataSize,pData) \
2326  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
2327 
2328 #define IDXGIDevice_SetPrivateDataInterface(This,Name,pUnknown) \
2329  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
2330 
2331 #define IDXGIDevice_GetPrivateData(This,Name,pDataSize,pData) \
2332  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
2333 
2334 #define IDXGIDevice_GetParent(This,riid,ppParent) \
2335  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
2336 
2337 
2338 #define IDXGIDevice_GetAdapter(This,pAdapter) \
2339  ( (This)->lpVtbl -> GetAdapter(This,pAdapter) )
2340 
2341 #define IDXGIDevice_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \
2342  ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) )
2343 
2344 #define IDXGIDevice_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \
2345  ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) )
2346 
2347 #define IDXGIDevice_SetGPUThreadPriority(This,Priority) \
2348  ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) )
2349 
2350 #define IDXGIDevice_GetGPUThreadPriority(This,pPriority) \
2351  ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) )
2352 
2353 #endif /* COBJMACROS */
2354 
2355 
2356 #endif /* C style interface */
2357 
2358 
2359 
2360 
2361 #endif /* __IDXGIDevice_INTERFACE_DEFINED__ */
2362 
2363 
2364 /* interface __MIDL_itf_dxgi_0000_0011 */
2365 /* [local] */
2366 
2367 typedef
2368 enum DXGI_ADAPTER_FLAG
2369  {
2375 
2376 typedef struct DXGI_ADAPTER_DESC1
2377  {
2378  WCHAR Description[ 128 ];
2389 
2391  {
2393  FLOAT WhitePoints[ 16 ][ 2 ];
2395 
2396 
2397 
2398 
2399 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_c_ifspec;
2400 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_s_ifspec;
2401 
2402 #ifndef __IDXGIFactory1_INTERFACE_DEFINED__
2403 #define __IDXGIFactory1_INTERFACE_DEFINED__
2404 
2405 /* interface IDXGIFactory1 */
2406 /* [unique][local][uuid][object] */
2407 
2408 
2409 EXTERN_C const IID IID_IDXGIFactory1;
2410 
2411 #if defined(__cplusplus) && !defined(CINTERFACE)
2412 
2413  MIDL_INTERFACE("770aae78-f26f-4dba-a829-253c83d1b387")
2414  IDXGIFactory1 : public IDXGIFactory
2415  {
2416  public:
2417  virtual HRESULT STDMETHODCALLTYPE EnumAdapters1(
2418  /* [in] */ UINT Adapter,
2419  /* [annotation][out] */
2420  _COM_Outptr_ IDXGIAdapter1 **ppAdapter) = 0;
2421 
2422  virtual BOOL STDMETHODCALLTYPE IsCurrent( void) = 0;
2423 
2424  };
2425 
2426 
2427 #else /* C style interface */
2428 
2429  typedef struct IDXGIFactory1Vtbl
2430  {
2431  BEGIN_INTERFACE
2432 
2433  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2434  IDXGIFactory1 * This,
2435  /* [in] */ REFIID riid,
2436  /* [annotation][iid_is][out] */
2437  _COM_Outptr_ void **ppvObject);
2438 
2439  ULONG ( STDMETHODCALLTYPE *AddRef )(
2440  IDXGIFactory1 * This);
2441 
2442  ULONG ( STDMETHODCALLTYPE *Release )(
2443  IDXGIFactory1 * This);
2444 
2445  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2446  IDXGIFactory1 * This,
2447  /* [annotation][in] */
2448  _In_ REFGUID Name,
2449  /* [in] */ UINT DataSize,
2450  /* [annotation][in] */
2451  _In_reads_bytes_(DataSize) const void *pData);
2452 
2453  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2454  IDXGIFactory1 * This,
2455  /* [annotation][in] */
2456  _In_ REFGUID Name,
2457  /* [annotation][in] */
2458  _In_opt_ const IUnknown *pUnknown);
2459 
2460  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2461  IDXGIFactory1 * This,
2462  /* [annotation][in] */
2463  _In_ REFGUID Name,
2464  /* [annotation][out][in] */
2465  _Inout_ UINT *pDataSize,
2466  /* [annotation][out] */
2467  _Out_writes_bytes_(*pDataSize) void *pData);
2468 
2469  HRESULT ( STDMETHODCALLTYPE *GetParent )(
2470  IDXGIFactory1 * This,
2471  /* [annotation][in] */
2472  _In_ REFIID riid,
2473  /* [annotation][retval][out] */
2474  _COM_Outptr_ void **ppParent);
2475 
2476  HRESULT ( STDMETHODCALLTYPE *EnumAdapters )(
2477  IDXGIFactory1 * This,
2478  /* [in] */ UINT Adapter,
2479  /* [annotation][out] */
2480  _COM_Outptr_ IDXGIAdapter **ppAdapter);
2481 
2482  HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )(
2483  IDXGIFactory1 * This,
2485  UINT Flags);
2486 
2487  HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )(
2488  IDXGIFactory1 * This,
2489  /* [annotation][out] */
2490  _Out_ HWND *pWindowHandle);
2491 
2492  HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )(
2493  IDXGIFactory1 * This,
2494  /* [annotation][in] */
2495  _In_ IUnknown *pDevice,
2496  /* [annotation][in] */
2498  /* [annotation][out] */
2499  _COM_Outptr_ IDXGISwapChain **ppSwapChain);
2500 
2501  HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )(
2502  IDXGIFactory1 * This,
2503  /* [in] */ HMODULE Module,
2504  /* [annotation][out] */
2505  _COM_Outptr_ IDXGIAdapter **ppAdapter);
2506 
2507  HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )(
2508  IDXGIFactory1 * This,
2509  /* [in] */ UINT Adapter,
2510  /* [annotation][out] */
2511  _COM_Outptr_ IDXGIAdapter1 **ppAdapter);
2512 
2513  BOOL ( STDMETHODCALLTYPE *IsCurrent )(
2514  IDXGIFactory1 * This);
2515 
2516  END_INTERFACE
2518 
2519  interface IDXGIFactory1
2520  {
2521  CONST_VTBL struct IDXGIFactory1Vtbl *lpVtbl;
2522  };
2523 
2524 
2525 
2526 #ifdef COBJMACROS
2527 
2528 
2529 #define IDXGIFactory1_QueryInterface(This,riid,ppvObject) \
2530  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2531 
2532 #define IDXGIFactory1_AddRef(This) \
2533  ( (This)->lpVtbl -> AddRef(This) )
2534 
2535 #define IDXGIFactory1_Release(This) \
2536  ( (This)->lpVtbl -> Release(This) )
2537 
2538 
2539 #define IDXGIFactory1_SetPrivateData(This,Name,DataSize,pData) \
2540  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
2541 
2542 #define IDXGIFactory1_SetPrivateDataInterface(This,Name,pUnknown) \
2543  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
2544 
2545 #define IDXGIFactory1_GetPrivateData(This,Name,pDataSize,pData) \
2546  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
2547 
2548 #define IDXGIFactory1_GetParent(This,riid,ppParent) \
2549  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
2550 
2551 
2552 #define IDXGIFactory1_EnumAdapters(This,Adapter,ppAdapter) \
2553  ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) )
2554 
2555 #define IDXGIFactory1_MakeWindowAssociation(This,WindowHandle,Flags) \
2556  ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) )
2557 
2558 #define IDXGIFactory1_GetWindowAssociation(This,pWindowHandle) \
2559  ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) )
2560 
2561 #define IDXGIFactory1_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \
2562  ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) )
2563 
2564 #define IDXGIFactory1_CreateSoftwareAdapter(This,Module,ppAdapter) \
2565  ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) )
2566 
2567 
2568 #define IDXGIFactory1_EnumAdapters1(This,Adapter,ppAdapter) \
2569  ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) )
2570 
2571 #define IDXGIFactory1_IsCurrent(This) \
2572  ( (This)->lpVtbl -> IsCurrent(This) )
2573 
2574 #endif /* COBJMACROS */
2575 
2576 
2577 #endif /* C style interface */
2578 
2579 
2580 
2581 
2582 #endif /* __IDXGIFactory1_INTERFACE_DEFINED__ */
2583 
2584 
2585 #ifndef __IDXGIAdapter1_INTERFACE_DEFINED__
2586 #define __IDXGIAdapter1_INTERFACE_DEFINED__
2587 
2588 /* interface IDXGIAdapter1 */
2589 /* [unique][local][uuid][object] */
2590 
2591 
2592 EXTERN_C const IID IID_IDXGIAdapter1;
2593 
2594 #if defined(__cplusplus) && !defined(CINTERFACE)
2595 
2596  MIDL_INTERFACE("29038f61-3839-4626-91fd-086879011a05")
2597  IDXGIAdapter1 : public IDXGIAdapter
2598  {
2599  public:
2600  virtual HRESULT STDMETHODCALLTYPE GetDesc1(
2601  /* [annotation][out] */
2602  _Out_ DXGI_ADAPTER_DESC1 *pDesc) = 0;
2603 
2604  };
2605 
2606 
2607 #else /* C style interface */
2608 
2609  typedef struct IDXGIAdapter1Vtbl
2610  {
2611  BEGIN_INTERFACE
2612 
2613  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2614  IDXGIAdapter1 * This,
2615  /* [in] */ REFIID riid,
2616  /* [annotation][iid_is][out] */
2617  _COM_Outptr_ void **ppvObject);
2618 
2619  ULONG ( STDMETHODCALLTYPE *AddRef )(
2620  IDXGIAdapter1 * This);
2621 
2622  ULONG ( STDMETHODCALLTYPE *Release )(
2623  IDXGIAdapter1 * This);
2624 
2625  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2626  IDXGIAdapter1 * This,
2627  /* [annotation][in] */
2628  _In_ REFGUID Name,
2629  /* [in] */ UINT DataSize,
2630  /* [annotation][in] */
2631  _In_reads_bytes_(DataSize) const void *pData);
2632 
2633  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2634  IDXGIAdapter1 * This,
2635  /* [annotation][in] */
2636  _In_ REFGUID Name,
2637  /* [annotation][in] */
2638  _In_opt_ const IUnknown *pUnknown);
2639 
2640  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2641  IDXGIAdapter1 * This,
2642  /* [annotation][in] */
2643  _In_ REFGUID Name,
2644  /* [annotation][out][in] */
2645  _Inout_ UINT *pDataSize,
2646  /* [annotation][out] */
2647  _Out_writes_bytes_(*pDataSize) void *pData);
2648 
2649  HRESULT ( STDMETHODCALLTYPE *GetParent )(
2650  IDXGIAdapter1 * This,
2651  /* [annotation][in] */
2652  _In_ REFIID riid,
2653  /* [annotation][retval][out] */
2654  _COM_Outptr_ void **ppParent);
2655 
2656  HRESULT ( STDMETHODCALLTYPE *EnumOutputs )(
2657  IDXGIAdapter1 * This,
2658  /* [in] */ UINT Output,
2659  /* [annotation][out][in] */
2660  _COM_Outptr_ IDXGIOutput **ppOutput);
2661 
2662  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
2663  IDXGIAdapter1 * This,
2664  /* [annotation][out] */
2666 
2667  HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )(
2668  IDXGIAdapter1 * This,
2669  /* [annotation][in] */
2670  _In_ REFGUID InterfaceName,
2671  /* [annotation][out] */
2672  _Out_ LARGE_INTEGER *pUMDVersion);
2673 
2674  HRESULT ( STDMETHODCALLTYPE *GetDesc1 )(
2675  IDXGIAdapter1 * This,
2676  /* [annotation][out] */
2678 
2679  END_INTERFACE
2681 
2682  interface IDXGIAdapter1
2683  {
2684  CONST_VTBL struct IDXGIAdapter1Vtbl *lpVtbl;
2685  };
2686 
2687 
2688 
2689 #ifdef COBJMACROS
2690 
2691 
2692 #define IDXGIAdapter1_QueryInterface(This,riid,ppvObject) \
2693  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2694 
2695 #define IDXGIAdapter1_AddRef(This) \
2696  ( (This)->lpVtbl -> AddRef(This) )
2697 
2698 #define IDXGIAdapter1_Release(This) \
2699  ( (This)->lpVtbl -> Release(This) )
2700 
2701 
2702 #define IDXGIAdapter1_SetPrivateData(This,Name,DataSize,pData) \
2703  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
2704 
2705 #define IDXGIAdapter1_SetPrivateDataInterface(This,Name,pUnknown) \
2706  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
2707 
2708 #define IDXGIAdapter1_GetPrivateData(This,Name,pDataSize,pData) \
2709  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
2710 
2711 #define IDXGIAdapter1_GetParent(This,riid,ppParent) \
2712  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
2713 
2714 
2715 #define IDXGIAdapter1_EnumOutputs(This,Output,ppOutput) \
2716  ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) )
2717 
2718 #define IDXGIAdapter1_GetDesc(This,pDesc) \
2719  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
2720 
2721 #define IDXGIAdapter1_CheckInterfaceSupport(This,InterfaceName,pUMDVersion) \
2722  ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) )
2723 
2724 
2725 #define IDXGIAdapter1_GetDesc1(This,pDesc) \
2726  ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
2727 
2728 #endif /* COBJMACROS */
2729 
2730 
2731 #endif /* C style interface */
2732 
2733 
2734 
2735 
2736 #endif /* __IDXGIAdapter1_INTERFACE_DEFINED__ */
2737 
2738 
2739 #ifndef __IDXGIDevice1_INTERFACE_DEFINED__
2740 #define __IDXGIDevice1_INTERFACE_DEFINED__
2741 
2742 /* interface IDXGIDevice1 */
2743 /* [unique][local][uuid][object] */
2744 
2745 
2746 EXTERN_C const IID IID_IDXGIDevice1;
2747 
2748 #if defined(__cplusplus) && !defined(CINTERFACE)
2749 
2750  MIDL_INTERFACE("77db970f-6276-48ba-ba28-070143b4392c")
2751  IDXGIDevice1 : public IDXGIDevice
2752  {
2753  public:
2754  virtual HRESULT STDMETHODCALLTYPE SetMaximumFrameLatency(
2755  /* [in] */ UINT MaxLatency) = 0;
2756 
2757  virtual HRESULT STDMETHODCALLTYPE GetMaximumFrameLatency(
2758  /* [annotation][out] */
2759  _Out_ UINT *pMaxLatency) = 0;
2760 
2761  };
2762 
2763 
2764 #else /* C style interface */
2765 
2766  typedef struct IDXGIDevice1Vtbl
2767  {
2768  BEGIN_INTERFACE
2769 
2770  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2771  IDXGIDevice1 * This,
2772  /* [in] */ REFIID riid,
2773  /* [annotation][iid_is][out] */
2774  _COM_Outptr_ void **ppvObject);
2775 
2776  ULONG ( STDMETHODCALLTYPE *AddRef )(
2777  IDXGIDevice1 * This);
2778 
2779  ULONG ( STDMETHODCALLTYPE *Release )(
2780  IDXGIDevice1 * This);
2781 
2782  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2783  IDXGIDevice1 * This,
2784  /* [annotation][in] */
2785  _In_ REFGUID Name,
2786  /* [in] */ UINT DataSize,
2787  /* [annotation][in] */
2788  _In_reads_bytes_(DataSize) const void *pData);
2789 
2790  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2791  IDXGIDevice1 * This,
2792  /* [annotation][in] */
2793  _In_ REFGUID Name,
2794  /* [annotation][in] */
2795  _In_opt_ const IUnknown *pUnknown);
2796 
2797  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2798  IDXGIDevice1 * This,
2799  /* [annotation][in] */
2800  _In_ REFGUID Name,
2801  /* [annotation][out][in] */
2802  _Inout_ UINT *pDataSize,
2803  /* [annotation][out] */
2804  _Out_writes_bytes_(*pDataSize) void *pData);
2805 
2806  HRESULT ( STDMETHODCALLTYPE *GetParent )(
2807  IDXGIDevice1 * This,
2808  /* [annotation][in] */
2809  _In_ REFIID riid,
2810  /* [annotation][retval][out] */
2811  _COM_Outptr_ void **ppParent);
2812 
2813  HRESULT ( STDMETHODCALLTYPE *GetAdapter )(
2814  IDXGIDevice1 * This,
2815  /* [annotation][out] */
2816  _COM_Outptr_ IDXGIAdapter **pAdapter);
2817 
2818  HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
2819  IDXGIDevice1 * This,
2820  /* [annotation][in] */
2822  /* [in] */ UINT NumSurfaces,
2823  /* [in] */ DXGI_USAGE Usage,
2824  /* [annotation][in] */
2825  _In_opt_ const DXGI_SHARED_RESOURCE *pSharedResource,
2826  /* [annotation][out] */
2827  _COM_Outptr_ IDXGISurface **ppSurface);
2828 
2829  HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )(
2830  IDXGIDevice1 * This,
2831  /* [annotation][size_is][in] */
2832  _In_reads_(NumResources) IUnknown *const *ppResources,
2833  /* [annotation][size_is][out] */
2834  _Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus,
2835  /* [in] */ UINT NumResources);
2836 
2837  HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )(
2838  IDXGIDevice1 * This,
2839  /* [in] */ INT Priority);
2840 
2841  HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )(
2842  IDXGIDevice1 * This,
2843  /* [annotation][retval][out] */
2844  _Out_ INT *pPriority);
2845 
2846  HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )(
2847  IDXGIDevice1 * This,
2848  /* [in] */ UINT MaxLatency);
2849 
2850  HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )(
2851  IDXGIDevice1 * This,
2852  /* [annotation][out] */
2854 
2855  END_INTERFACE
2856  } IDXGIDevice1Vtbl;
2857 
2858  interface IDXGIDevice1
2859  {
2860  CONST_VTBL struct IDXGIDevice1Vtbl *lpVtbl;
2861  };
2862 
2863 
2864 
2865 #ifdef COBJMACROS
2866 
2867 
2868 #define IDXGIDevice1_QueryInterface(This,riid,ppvObject) \
2869  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2870 
2871 #define IDXGIDevice1_AddRef(This) \
2872  ( (This)->lpVtbl -> AddRef(This) )
2873 
2874 #define IDXGIDevice1_Release(This) \
2875  ( (This)->lpVtbl -> Release(This) )
2876 
2877 
2878 #define IDXGIDevice1_SetPrivateData(This,Name,DataSize,pData) \
2879  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
2880 
2881 #define IDXGIDevice1_SetPrivateDataInterface(This,Name,pUnknown) \
2882  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
2883 
2884 #define IDXGIDevice1_GetPrivateData(This,Name,pDataSize,pData) \
2885  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
2886 
2887 #define IDXGIDevice1_GetParent(This,riid,ppParent) \
2888  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
2889 
2890 
2891 #define IDXGIDevice1_GetAdapter(This,pAdapter) \
2892  ( (This)->lpVtbl -> GetAdapter(This,pAdapter) )
2893 
2894 #define IDXGIDevice1_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \
2895  ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) )
2896 
2897 #define IDXGIDevice1_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \
2898  ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) )
2899 
2900 #define IDXGIDevice1_SetGPUThreadPriority(This,Priority) \
2901  ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) )
2902 
2903 #define IDXGIDevice1_GetGPUThreadPriority(This,pPriority) \
2904  ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) )
2905 
2906 
2907 #define IDXGIDevice1_SetMaximumFrameLatency(This,MaxLatency) \
2908  ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) )
2909 
2910 #define IDXGIDevice1_GetMaximumFrameLatency(This,pMaxLatency) \
2911  ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) )
2912 
2913 #endif /* COBJMACROS */
2914 
2915 
2916 #endif /* C style interface */
2917 
2918 
2919 
2920 
2921 #endif /* __IDXGIDevice1_INTERFACE_DEFINED__ */
2922 
2923 
2924 /* interface __MIDL_itf_dxgi_0000_0014 */
2925 /* [local] */
2926 
2927 #ifdef __cplusplus
2928 #endif /*__cplusplus*/
2929 DEFINE_GUID(IID_IDXGIObject,0xaec22fb8,0x76f3,0x4639,0x9b,0xe0,0x28,0xeb,0x43,0xa6,0x7a,0x2e);
2930 DEFINE_GUID(IID_IDXGIDeviceSubObject,0x3d3e0379,0xf9de,0x4d58,0xbb,0x6c,0x18,0xd6,0x29,0x92,0xf1,0xa6);
2931 DEFINE_GUID(IID_IDXGIResource,0x035f3ab4,0x482e,0x4e50,0xb4,0x1f,0x8a,0x7f,0x8b,0xd8,0x96,0x0b);
2932 DEFINE_GUID(IID_IDXGIKeyedMutex,0x9d8e1289,0xd7b3,0x465f,0x81,0x26,0x25,0x0e,0x34,0x9a,0xf8,0x5d);
2933 DEFINE_GUID(IID_IDXGISurface,0xcafcb56c,0x6ac3,0x4889,0xbf,0x47,0x9e,0x23,0xbb,0xd2,0x60,0xec);
2934 DEFINE_GUID(IID_IDXGISurface1,0x4AE63092,0x6327,0x4c1b,0x80,0xAE,0xBF,0xE1,0x2E,0xA3,0x2B,0x86);
2935 DEFINE_GUID(IID_IDXGIAdapter,0x2411e7e1,0x12ac,0x4ccf,0xbd,0x14,0x97,0x98,0xe8,0x53,0x4d,0xc0);
2936 DEFINE_GUID(IID_IDXGIOutput,0xae02eedb,0xc735,0x4690,0x8d,0x52,0x5a,0x8d,0xc2,0x02,0x13,0xaa);
2937 DEFINE_GUID(IID_IDXGISwapChain,0x310d36a0,0xd2e7,0x4c0a,0xaa,0x04,0x6a,0x9d,0x23,0xb8,0x88,0x6a);
2938 DEFINE_GUID(IID_IDXGIFactory,0x7b7166ec,0x21c7,0x44ae,0xb2,0x1a,0xc9,0xae,0x32,0x1a,0xe3,0x69);
2939 DEFINE_GUID(IID_IDXGIDevice,0x54ec77fa,0x1377,0x44e6,0x8c,0x32,0x88,0xfd,0x5f,0x44,0xc8,0x4c);
2940 DEFINE_GUID(IID_IDXGIFactory1,0x770aae78,0xf26f,0x4dba,0xa8,0x29,0x25,0x3c,0x83,0xd1,0xb3,0x87);
2941 DEFINE_GUID(IID_IDXGIAdapter1,0x29038f61,0x3839,0x4626,0x91,0xfd,0x08,0x68,0x79,0x01,0x1a,0x05);
2942 DEFINE_GUID(IID_IDXGIDevice1,0x77db970f,0x6276,0x48ba,0xba,0x28,0x07,0x01,0x43,0xb4,0x39,0x2c);
2943 
2944 
2945 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_c_ifspec;
2946 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_s_ifspec;
2947 
2948 /* Additional Prototypes for ALL interfaces */
2949 
2950 /* end of Additional Prototypes */
2951 
2952 #ifdef __cplusplus
2953 }
2954 #endif
2955 
2956 #endif
2957 
2958 
_COM_Outptr_ IDXGIAdapter ** pAdapter
Definition: dxgi.h:2272
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:392
_In_ const DXGI_SURFACE_DESC UINT NumSurfaces
Definition: dxgi.h:2821
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIDevice *This
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:2265
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:1117
interface IDXGIKeyedMutex IDXGIKeyedMutex
Definition: dxgi.h:65
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:1323
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:811
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: dxgi.h:2495
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi.h:1874
interface IDXGIDeviceSubObject IDXGIDeviceSubObject
Definition: dxgi.h:51
interface IDXGIFactory IDXGIFactory
Definition: dxgi.h:107
_Out_opt_ BOOL * pFullscreen
Definition: dxgi.h:1844
_In_ REFGUID UINT DataSize
Definition: dxgi.h:1109
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISurface1 *This)
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC _In_opt_ IUnknown * pConcernedDevice
Definition: dxgi.h:1550
FLOAT PrimaryCoordinates[8][2]
Definition: dxgi.h:2392
EXTERN_C const IID IID_IDXGIResource
Definition: dxgi.h:579
SIZE_T DedicatedVideoMemory
Definition: dxgi.h:204
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:1774
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_c_ifspec
DXGI_FORMAT Format
Definition: dxgi.h:254
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_c_ifspec
struct IDXGIDeviceSubObjectVtbl IDXGIDeviceSubObjectVtbl
DXGI_SAMPLE_DESC SampleDesc
Definition: dxgi.h:255
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:1806
Definition: dxgi.h:2020
struct IDXGIFactoryVtbl IDXGIFactoryVtbl
_Out_ UINT * pMaxLatency
Definition: dxgi.h:2853
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ REFGUID Name
Definition: dxgi.h:952
_Out_opt_ BOOL _COM_Outptr_opt_result_maybenull_ IDXGIOutput ** ppTarget
Definition: dxgi.h:1844
_In_ REFGUID UINT DataSize
Definition: dxgi.h:2448
DEFINE_GUID(IID_IDXGIObject, 0xaec22fb8, 0x76f3, 0x4639, 0x9b, 0xe0, 0x28, 0xeb, 0x43, 0xa6, 0x7a, 0x2e)
_In_ REFGUID UINT DataSize
Definition: dxgi.h:1505
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIFactory1 *This
_In_ IDXGISurface * pDestination
Definition: dxgi.h:1591
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
UINT Adapter
Definition: dxgi.h:2478
_Out_ HANDLE * pSharedHandle
Definition: dxgi.h:663
Definition: dxgi.h:2370
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:2435
HRESULT WINAPI CreateDXGIFactory(REFIID riid, _COM_Outptr_ void **ppFactory)
SIZE_T SharedSystemMemory
Definition: dxgi.h:2385
DXGI_ADAPTER_FLAG
Definition: dxgi.h:2367
Definition: glslang_tab.cpp:129
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:355
BOOL _Out_ HDC * phdc
Definition: dxgi.h:1160
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
interface IDXGIFactory1 IDXGIFactory1
Definition: dxgi.h:121
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_s_ifspec
EXTERN_C const IID IID_IDXGIOutput
Definition: dxgi.h:1420
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:649
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:1096
struct DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC
interface IDXGIResource IDXGIResource
Definition: dxgi.h:58
_Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus
EXTERN_C const IID IID_IDXGIKeyedMutex
Definition: dxgi.h:748
INT Pitch
Definition: dxgi.h:180
UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi.h:2658
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIAdapter1 *This
_Out_ DXGI_GAMMA_CONTROL * pArray
Definition: dxgi.h:1581
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi.h:656
_In_ REFGUID UINT DataSize
Definition: dxgi.h:787
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_s_ifspec
UINT BufferCount
Definition: dxgi.h:290
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:1811
Definition: dxgi.h:2609
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:2026
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:2643
UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
Definition: dxgi.h:2509
_In_ const DXGI_SURFACE_DESC UINT NumSurfaces
Definition: dxgi.h:2277
DXGI_FORMAT UINT Flags
Definition: dxgi.h:1540
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIFactory1 *This)
_In_opt_ RECT * pDirtyRect
Definition: dxgi.h:1167
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:2463
_In_ REFGUID Name
Definition: dxgi.h:2448
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:633
uint64_t UINT64
Definition: coretypes.h:8
SIZE_T DedicatedSystemMemory
Definition: dxgi.h:205
_In_ REFGUID UINT DataSize
Definition: dxgi.h:1299
LUID AdapterLuid
Definition: dxgi.h:2386
UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi.h:2478
_In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition: dxgi.h:2670
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi.h:1596
_Out_ DXGI_MAPPED_RECT * pLockedRect
Definition: dxgi.h:995
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC * pClosestMatch
Definition: dxgi.h:1550
EXTERN_C const IID IID_IDXGIAdapter
Definition: dxgi.h:1252
_In_ REFIID riid
Definition: dxgi.h:392
UINT Flags
Definition: dxgi.h:2387
BOOL Windowed
Definition: dxgi.h:292
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:2800
_In_reads_(NumResources) IUnknown *const *ppResources
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:612
SIZE_T DedicatedVideoMemory
Definition: dxgi.h:2383
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:2615
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_Out_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi.h:1851
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC * pDesc
Definition: dxgi.h:1545
_In_ IUnknown * pDevice
Definition: dxgi.h:2086
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIResource *This
UINT UINT Width
Definition: dxgi.h:1855
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE Usage
Definition: dxgi.h:2821
DXGI_SWAP_EFFECT SwapEffect
Definition: dxgi.h:293
_In_ REFGUID UINT DataSize
Definition: dxgi.h:2628
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:774
HWND WindowHandle
Definition: dxgi.h:2484
EXTERN_C const IID IID_IDXGIDevice
Definition: dxgi.h:2181
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIOutput *This
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:960
HWND UINT Flags
Definition: dxgi.h:2075
_Out_ DXGI_ADAPTER_DESC * pDesc
Definition: dxgi.h:2665
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:506
DXGI_SAMPLE_DESC SampleDesc
Definition: dxgi.h:288
Definition: dxgi.h:178
Definition: dxgitype.h:75
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
Definition: dxgi.h:247
Definition: dxgi.h:262
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:474
struct DXGI_ADAPTER_DESC DXGI_ADAPTER_DESC
_In_ REFGUID InterfaceName
Definition: dxgi.h:2670
HMONITOR Monitor
Definition: dxgi.h:224
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:2054
UINT SubSysId
Definition: dxgi.h:202
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:806
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIDevice *This)
_Out_ UINT * pEvictionPriority
Definition: dxgi.h:676
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:1524
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi.h:518
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:2026
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi.h:1329
interface IDXGIDevice IDXGIDevice
Definition: dxgi.h:114
Definition: dxgi.h:245
DXGI_SWAP_CHAIN_FLAG
Definition: dxgi.h:267
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi.h:983
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:2472
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_s_ifspec
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:644
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:2647
struct IDXGIDeviceVtbl IDXGIDeviceVtbl
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:971
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:1286
UINT VendorId
Definition: dxgi.h:200
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIDevice1 *This)
UINT DXGI_USAGE
Definition: dxgi.h:167
DXGI_FORMAT EnumFormat
Definition: dxgi.h:1540
HRESULT WINAPI CreateDXGIFactory1(REFIID riid, _COM_Outptr_ void **ppFactory)
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:1774
Definition: dxgicommon.h:19
Definition: dxgi.h:2376
_In_ IUnknown * pDevice
Definition: dxgi.h:1562
Definition: dxgi.h:285
EXTERN_C const IID IID_IDXGISwapChain
Definition: dxgi.h:1706
_In_ REFGUID UINT DataSize
Definition: dxgi.h:368
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_s_ifspec
struct IDXGIDevice1Vtbl IDXGIDevice1Vtbl
BOOL Fullscreen
Definition: dxgi.h:1837
BOOL(STDMETHODCALLTYPE *IsCurrent)(IDXGIFactory1 *This)
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:1520
struct IDXGIAdapterVtbl IDXGIAdapterVtbl
Definition: dxgi.h:1768
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIKeyedMutex *This
EXTERN_C const IID IID_IDXGIFactory1
Definition: dxgi.h:2409
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:2435
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_c_ifspec
struct IDXGIAdapter1Vtbl IDXGIAdapter1Vtbl
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:939
EXTERN_C const IID IID_IDXGIDeviceSubObject
Definition: dxgi.h:449
UINT NumResources
Definition: dxgi.h:2291
Definition: dxgi.h:279
struct IDXGISurface1Vtbl IDXGISurface1Vtbl
LUID AdapterLuid
Definition: dxgi.h:207
Definition: dxgi.h:263
DXGI_MODE_ROTATION Rotation
Definition: dxgi.h:223
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:1529
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:1513
_In_ REFGUID Name
Definition: dxgi.h:2241
UINT SyncInterval
Definition: dxgi.h:1824
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:967
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:2456
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:376
DXGI_USAGE * pUsage
Definition: dxgi.h:667
_In_ REFGUID Name
Definition: dxgi.h:2785
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE Usage
Definition: dxgi.h:2277
_In_ REFIID riid
Definition: dxgi.h:2809
_In_ REFGUID UINT DataSize
Definition: dxgi.h:1787
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
DXGI_FORMAT
Definition: dxgiformat.h:10
HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi.h:2094
UINT UINT UINT DXGI_FORMAT NewFormat
Definition: dxgi.h:1855
UINT Buffer
Definition: dxgi.h:1829
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:2467
_In_ REFGUID Name
Definition: dxgi.h:1109
struct IDXGIObjectVtbl IDXGIObjectVtbl
BYTE * pBits
Definition: dxgi.h:181
_In_reads_(NumResources) IUnknown *const *ppResources
interface IDXGISurface IDXGISurface
Definition: d2d1.h:53
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIOutput *This)
_In_ REFGUID Name
Definition: dxgi.h:625
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:1492
Definition: dxgi.h:280
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:1096
Definition: dxgi.h:933
_Out_ DXGI_ADAPTER_DESC1 * pDesc
Definition: dxgi.h:2677
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_s_ifspec
BOOL AttachedToDesktop
Definition: dxgi.h:222
RECT DesktopCoordinates
Definition: dxgi.h:221
_In_ IUnknown * pDevice
Definition: dxgi.h:2495
Definition: dxgi.h:2429
struct IDXGIFactory1Vtbl IDXGIFactory1Vtbl
BOOL Discard
Definition: dxgi.h:1160
Definition: dxgi.h:2373
_In_ REFGUID Name
Definition: dxgi.h:487
Definition: dxgi.h:2222
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIAdapter *This
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:976
Definition: dxgi.h:261
_In_ const DXGI_MODE_DESC * pModeToMatch
Definition: dxgi.h:1550
WCHAR Description[128]
Definition: dxgi.h:2378
_In_ IDXGISurface * pScanoutSurface
Definition: dxgi.h:1586
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIAdapter1 *This)
Definition: dxgi.h:1486
interface IDXGISwapChain IDXGISwapChain
Definition: dxgi.h:100
HMODULE Module
Definition: dxgi.h:2503
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
UINT BufferCount
Definition: dxgi.h:1855
SIZE_T SharedSystemMemory
Definition: dxgi.h:206
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIDeviceSubObject *This
_In_ REFGUID Name
Definition: dxgi.h:368
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_s_ifspec
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE _COM_Outptr_ IDXGISurface ** ppSurface
Definition: dxgi.h:2277
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi.h:1140
_Out_ INT * pPriority
Definition: dxgi.h:2844
HANDLE Handle
Definition: dxgi.h:229
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIFactory *This
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:1124
Definition: dxgi.h:218
UINT DeviceId
Definition: dxgi.h:2380
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi.h:818
Definition: dxgitype.h:115
_In_ REFGUID Name
Definition: dxgi.h:1505
_In_ REFGUID UINT DataSize
Definition: dxgi.h:2785
_In_ REFGUID Name
Definition: dxgi.h:2039
HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi.h:2503
UINT Revision
Definition: dxgi.h:203
Definition: dxgi.h:169
_In_ REFIID riid
Definition: dxgi.h:2063
Definition: dxgi.h:2372
interface IDXGIAdapter1 IDXGIAdapter1
Definition: dxgi.h:128
FLOAT WhitePoints[16][2]
Definition: dxgi.h:2393
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISwapChain *This)
_Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus
struct IDXGIOutputVtbl IDXGIOutputVtbl
UINT UINT UINT DXGI_FORMAT UINT SwapChainFlags
Definition: dxgi.h:1855
UINT Height
Definition: dxgi.h:253
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:1318
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
Definition: dxgi.h:2766
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:2809
struct DXGI_ADAPTER_DESC1 DXGI_ADAPTER_DESC1
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_s_ifspec
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISurface1 *This
_In_ REFGUID Name
Definition: dxgi.h:1299
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_c_ifspec
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:2047
_In_ const DXGI_GAMMA_CONTROL * pArray
Definition: dxgi.h:1576
Definition: dxgi.h:2390
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:1314
_In_ REFGUID Name
Definition: dxgi.h:787
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:2058
_In_ REFGUID InterfaceName
Definition: dxgi.h:1341
struct IDXGIKeyedMutexVtbl IDXGIKeyedMutexVtbl
UINT VendorId
Definition: dxgi.h:2379
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:2063
Definition: dxgi.h:468
HMODULE Module
Definition: dxgi.h:2094
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISwapChain *This
struct DXGI_FRAME_STATISTICS DXGI_FRAME_STATISTICS
interface IDXGISurface1 IDXGISurface1
Definition: dxgi.h:79
void(STDMETHODCALLTYPE *ReleaseOwnership)(IDXGIOutput *This)
Definition: dxgi.h:250
DXGI_FORMAT UINT _Inout_ UINT * pNumModes
Definition: dxgi.h:1540
Definition: dxgi.h:197
UINT Flags
Definition: dxgi.h:294
_Out_ DXGI_GAMMA_CONTROL_CAPABILITIES * pGammaCaps
Definition: dxgi.h:1571
_In_ IUnknown BOOL Exclusive
Definition: dxgi.h:1562
_Out_ DXGI_ADAPTER_DESC * pDesc
Definition: dxgi.h:1336
Definition: dxgitype.h:82
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
_In_ REFGUID UINT DataSize
Definition: dxgi.h:2241
_In_ REFGUID UINT DataSize
Definition: dxgi.h:625
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIObject *This
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:495
_In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition: dxgi.h:1341
EXTERN_C const IID IID_IDXGISurface
Definition: dxgi.h:909
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:2228
interface IDXGIDevice1 IDXGIDevice1
Definition: dxgi.h:135
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:1128
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:474
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:2772
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_c_ifspec
_In_ const DXGI_SURFACE_DESC * pDesc
Definition: dxgi.h:2277
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:1802
struct DXGI_OUTPUT_DESC DXGI_OUTPUT_DESC
_Out_ DXGI_MAPPED_RECT UINT MapFlags
Definition: dxgi.h:995
unsigned int BOOL
Definition: gctypes.h:51
INT Priority
Definition: dxgi.h:2839
_In_ REFGUID Name
Definition: dxgi.h:1787
DXGI_SWAP_EFFECT
Definition: dxgi.h:258
INT Priority
Definition: dxgi.h:2295
struct IDXGIResourceVtbl IDXGIResourceVtbl
UINT Revision
Definition: dxgi.h:2382
EXTERN_C const IID IID_IDXGIObject
Definition: dxgi.h:309
UINT DeviceId
Definition: dxgi.h:201
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:2256
UINT MaxLatency
Definition: dxgi.h:2848
struct DXGI_DISPLAY_COLOR_SPACE DXGI_DISPLAY_COLOR_SPACE
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:939
Definition: dxgi.h:1280
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: dxgi.h:2086
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:2804
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi.h:1818
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_c_ifspec
UINT SubSysId
Definition: dxgi.h:2381
Definition: dxgi.h:768
_Out_ DXGI_SURFACE_DESC * pDesc
Definition: dxgi.h:990
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:383
struct IDXGISwapChainVtbl IDXGISwapChainVtbl
_COM_Outptr_ IDXGIAdapter ** pAdapter
Definition: dxgi.h:2816
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:2793
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:2249
interface IDXGIOutput IDXGIOutput
Definition: dxgi.h:93
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIObject *This)
Definition: dxgi.h:349
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISurface *This
Definition: dxgi.h:2371
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_c_ifspec
Definition: glslang_tab.cpp:135
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:795
Definition: dxgi.h:275
_In_ const DXGI_SURFACE_DESC * pDesc
Definition: dxgi.h:2821
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_c_ifspec
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIAdapter *This)
UINT64 Key
Definition: dxgi.h:824
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ REFGUID UINT DataSize
Definition: dxgi.h:2039
_Out_ DXGI_MAPPED_RECT UINT MapFlags
Definition: dxgi.h:1152
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:2615
_In_ REFIID riid
Definition: dxgi.h:2265
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:502
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:2228
Definition: dxgi.h:227
UINT _In_ REFIID riid
Definition: dxgi.h:1829
HWND OutputWindow
Definition: dxgi.h:291
UINT SyncRefreshCount
Definition: dxgi.h:173
UINT _In_ REFIID _COM_Outptr_ void ** ppSurface
Definition: dxgi.h:1829
Definition: glslang_tab.cpp:136
SIZE_T DedicatedSystemMemory
Definition: dxgi.h:2384
_Out_ DXGI_OUTPUT_DESC * pDesc
Definition: dxgi.h:1536
DXGI_RESIDENCY
Definition: dxgi.h:242
_In_ REFIID riid
Definition: dxgi.h:1323
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:1795
EXTERN_C const IID IID_IDXGIDevice1
Definition: dxgi.h:2746
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi.h:2069
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISurface *This)
_Out_ HWND * pWindowHandle
Definition: dxgi.h:2081
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE * pSharedResource
Definition: dxgi.h:2277
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:2260
UINT NumResources
Definition: dxgi.h:2835
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIResource *This)
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi.h:387
UINT PresentRefreshCount
Definition: dxgi.h:172
DXGI_MODE_ROTATION
Definition: dxgitype.h:106
_In_ REFGUID UINT DataSize
Definition: dxgi.h:952
DECLARE_HANDLE(HMONITOR)
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE * pSharedResource
Definition: dxgi.h:2821
HWND WindowHandle
Definition: dxgi.h:2075
Definition: dxgi.h:264
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIKeyedMutex *This)
interface IDXGIAdapter IDXGIAdapter
Definition: dxgi.h:86
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:2636
HWND UINT Flags
Definition: dxgi.h:2484
DXGI_MODE_DESC BufferDesc
Definition: dxgi.h:287
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:1133
UINT Output
Definition: dxgi.h:2658
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi.h:1869
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:640
_In_ REFIID riid
Definition: dxgi.h:2472
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:612
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIFactory *This)
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_s_ifspec
static char Output[]
Definition: luac.c:34
UINT PresentCount
Definition: dxgi.h:171
Definition: dxgi.h:1090
UINT UINT Flags
Definition: dxgi.h:1824
EXTERN_C const IID IID_IDXGIFactory
Definition: dxgi.h:1981
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE _COM_Outptr_ IDXGISurface ** ppSurface
Definition: dxgi.h:2821
Definition: shader_vulkan.cpp:129
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:1286
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi.h:2495
Definition: dxgi.h:606
UINT UINT UINT Height
Definition: dxgi.h:1855
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi.h:1307
_In_ REFGUID Name
Definition: dxgi.h:2628
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Public address Setting disk in tray You have left the game You have joined with input devices *s *s has joined as player u A netplay connection attempt failed because the peer is not running or is running an old version of RetroArch use the same version use the same version This core does not support inter architecture netplay Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Scan Content Import content Ask Block Frames نظام تشغيل الصوت Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control الصوت Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Cheat File Load Cheat File Cheat Passes Hardcore Mode Achievement Badges Locked Test Unofficial Achievements Unlocked Verbose Mode Config ملفات التكوين Collections Content Allow to remove entries Downloads Cheats Show core name Authors Core label Permissions System manufacturer Controls Options Start a Core Automatically Buildbot Cores URL Updater CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download Core DPI Override Enable أنظمة التشغيل Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Limit Maximum Run Speed Frontend Counters Create game options file مساعدة Changing Virtual Gamepad Overlay مساعدة Scanning For Content History List Enable Horizontal Menu معلومات Analog To Digital Type Left Analog X Left analog Left Analog Y Left analog Right Analog X Right analog Right Analog Y Right analog Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right Analog Stick Deadzone Bind All Bind Timeout Hide Unbound Core Input Descriptors Device Index Mouse Index Duty Cycle Keyboard Gamepad Mapping Enable B Down D pad L3 L Left D pad R3 R Right D pad Start button X Y Key
Definition: msg_hash_ar.h:830
struct DXGI_MAPPED_RECT DXGI_MAPPED_RECT
struct IDXGISurfaceVtbl IDXGISurfaceVtbl
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:511
UINT Adapter
Definition: dxgi.h:2069
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_c_ifspec
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:774
_Out_ DXGI_MAPPED_RECT * pLockedRect
Definition: dxgi.h:1152
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:1492
_Out_ DXGI_SURFACE_DESC * pDesc
Definition: dxgi.h:1147
LARGE_INTEGER SyncQPCTime
Definition: dxgi.h:174
_In_ const DXGI_MODE_DESC * pNewTargetParameters
Definition: dxgi.h:1864
BOOL _In_opt_ IDXGIOutput * pTarget
Definition: dxgi.h:1837
WCHAR DeviceName[32]
Definition: dxgi.h:220
struct DXGI_SURFACE_DESC DXGI_SURFACE_DESC
_Out_ INT * pPriority
Definition: dxgi.h:2300
DXGI_USAGE BufferUsage
Definition: dxgi.h:289
BEGIN_INTERFACE REFIID riid
Definition: dxgi.h:2772
_In_ REFIID riid
Definition: dxgi.h:2652
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi.h:355
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi.h:802
UINT64 DWORD dwMilliseconds
Definition: dxgi.h:824
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIDevice1 *This
UINT Width
Definition: dxgi.h:252
_Out_ UINT * pLastPresentCount
Definition: dxgi.h:1879
EXTERN_C const IID IID_IDXGISurface1
Definition: dxgi.h:1068
WCHAR Description[128]
Definition: dxgi.h:199
interface IDXGIObject IDXGIObject
Definition: dxgi.h:44
RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_s_ifspec
LARGE_INTEGER SyncGPUTime
Definition: dxgi.h:175
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIDeviceSubObject *This)
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi.h:2086
struct DXGI_SHARED_RESOURCE DXGI_SHARED_RESOURCE
UINT EvictionPriority
Definition: dxgi.h:671
_In_ REFIID riid
Definition: dxgi.h:1529
EXTERN_C const IID IID_IDXGIAdapter1
Definition: dxgi.h:2592
_Out_ HWND * pWindowHandle
Definition: dxgi.h:2490
UINT Output
Definition: dxgi.h:1329
_In_ REFGUID UINT DataSize
Definition: dxgi.h:487
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi.h:2652