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