RetroArch
dxgi1_2.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 __dxgi1_2_h__
34 #define __dxgi1_2_h__
35 
36 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
37 #pragma once
38 #endif
39 
40 /* Forward Declarations */
41 
42 #ifndef __IDXGIDisplayControl_FWD_DEFINED__
43 #define __IDXGIDisplayControl_FWD_DEFINED__
45 
46 #endif /* __IDXGIDisplayControl_FWD_DEFINED__ */
47 
48 
49 #ifndef __IDXGIOutputDuplication_FWD_DEFINED__
50 #define __IDXGIOutputDuplication_FWD_DEFINED__
52 
53 #endif /* __IDXGIOutputDuplication_FWD_DEFINED__ */
54 
55 
56 #ifndef __IDXGISurface2_FWD_DEFINED__
57 #define __IDXGISurface2_FWD_DEFINED__
58 typedef interface IDXGISurface2 IDXGISurface2;
59 
60 #endif /* __IDXGISurface2_FWD_DEFINED__ */
61 
62 
63 #ifndef __IDXGIResource1_FWD_DEFINED__
64 #define __IDXGIResource1_FWD_DEFINED__
65 typedef interface IDXGIResource1 IDXGIResource1;
66 
67 #endif /* __IDXGIResource1_FWD_DEFINED__ */
68 
69 
70 #ifndef __IDXGIDevice2_FWD_DEFINED__
71 #define __IDXGIDevice2_FWD_DEFINED__
72 typedef interface IDXGIDevice2 IDXGIDevice2;
73 
74 #endif /* __IDXGIDevice2_FWD_DEFINED__ */
75 
76 
77 #ifndef __IDXGISwapChain1_FWD_DEFINED__
78 #define __IDXGISwapChain1_FWD_DEFINED__
79 typedef interface IDXGISwapChain1 IDXGISwapChain1;
80 
81 #endif /* __IDXGISwapChain1_FWD_DEFINED__ */
82 
83 
84 #ifndef __IDXGIFactory2_FWD_DEFINED__
85 #define __IDXGIFactory2_FWD_DEFINED__
86 typedef interface IDXGIFactory2 IDXGIFactory2;
87 
88 #endif /* __IDXGIFactory2_FWD_DEFINED__ */
89 
90 
91 #ifndef __IDXGIAdapter2_FWD_DEFINED__
92 #define __IDXGIAdapter2_FWD_DEFINED__
93 typedef interface IDXGIAdapter2 IDXGIAdapter2;
94 
95 #endif /* __IDXGIAdapter2_FWD_DEFINED__ */
96 
97 
98 #ifndef __IDXGIOutput1_FWD_DEFINED__
99 #define __IDXGIOutput1_FWD_DEFINED__
100 typedef interface IDXGIOutput1 IDXGIOutput1;
101 
102 #endif /* __IDXGIOutput1_FWD_DEFINED__ */
103 
104 
105 /* header files for imported files */
106 #include "dxgi.h"
107 
108 #ifdef __cplusplus
109 extern "C"{
110 #endif
111 
112 
113 /* interface __MIDL_itf_dxgi1_2_0000_0000 */
114 /* [local] */
115 
116 /*#include <winapifamily.h>*/
117 /*#pragma region Desktop Family*/
118 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
119 
120 
121 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0000_v0_0_c_ifspec;
122 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0000_v0_0_s_ifspec;
123 
124 #ifndef __IDXGIDisplayControl_INTERFACE_DEFINED__
125 #define __IDXGIDisplayControl_INTERFACE_DEFINED__
126 
127 /* interface IDXGIDisplayControl */
128 /* [unique][local][uuid][object] */
129 
130 
131 EXTERN_C const IID IID_IDXGIDisplayControl;
132 
133 #if defined(__cplusplus) && !defined(CINTERFACE)
134 
135  MIDL_INTERFACE("ea9dbf1a-c88e-4486-854a-98aa0138f30c")
136  IDXGIDisplayControl : public IUnknown
137  {
138  public:
139  virtual BOOL STDMETHODCALLTYPE IsStereoEnabled( void) = 0;
140 
141  virtual void STDMETHODCALLTYPE SetStereoEnabled(
142  BOOL enabled) = 0;
143 
144  };
145 
146 
147 #else /* C style interface */
148 
149  typedef struct IDXGIDisplayControlVtbl
150  {
151  BEGIN_INTERFACE
152 
153  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
154  IDXGIDisplayControl * This,
155  /* [in] */ REFIID riid,
156  /* [annotation][iid_is][out] */
157  _COM_Outptr_ void **ppvObject);
158 
159  ULONG ( STDMETHODCALLTYPE *AddRef )(
160  IDXGIDisplayControl * This);
161 
162  ULONG ( STDMETHODCALLTYPE *Release )(
163  IDXGIDisplayControl * This);
164 
165  BOOL ( STDMETHODCALLTYPE *IsStereoEnabled )(
166  IDXGIDisplayControl * This);
167 
168  void ( STDMETHODCALLTYPE *SetStereoEnabled )(
169  IDXGIDisplayControl * This,
171 
172  END_INTERFACE
174 
175  interface IDXGIDisplayControl
176  {
177  CONST_VTBL struct IDXGIDisplayControlVtbl *lpVtbl;
178  };
179 
180 
181 
182 #ifdef COBJMACROS
183 
184 
185 #define IDXGIDisplayControl_QueryInterface(This,riid,ppvObject) \
186  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
187 
188 #define IDXGIDisplayControl_AddRef(This) \
189  ( (This)->lpVtbl -> AddRef(This) )
190 
191 #define IDXGIDisplayControl_Release(This) \
192  ( (This)->lpVtbl -> Release(This) )
193 
194 
195 #define IDXGIDisplayControl_IsStereoEnabled(This) \
196  ( (This)->lpVtbl -> IsStereoEnabled(This) )
197 
198 #define IDXGIDisplayControl_SetStereoEnabled(This,enabled) \
199  ( (This)->lpVtbl -> SetStereoEnabled(This,enabled) )
200 
201 #endif /* COBJMACROS */
202 
203 
204 #endif /* C style interface */
205 
206 
207 
208 
209 #endif /* __IDXGIDisplayControl_INTERFACE_DEFINED__ */
210 
211 
212 /* interface __MIDL_itf_dxgi1_2_0000_0001 */
213 /* [local] */
214 
216  {
217  POINT SourcePoint;
220 
221 typedef struct DXGI_OUTDUPL_DESC
222  {
227 
229  {
230  POINT Position;
233 
234 typedef
236  {
241 
243  {
248  POINT HotSpot;
250 
252  {
253  LARGE_INTEGER LastPresentTime;
254  LARGE_INTEGER LastMouseUpdateTime;
262 
263 
264 
265 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0001_v0_0_c_ifspec;
266 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0001_v0_0_s_ifspec;
267 
268 #ifndef __IDXGIOutputDuplication_INTERFACE_DEFINED__
269 #define __IDXGIOutputDuplication_INTERFACE_DEFINED__
270 
271 /* interface IDXGIOutputDuplication */
272 /* [unique][local][uuid][object] */
273 
274 
275 EXTERN_C const IID IID_IDXGIOutputDuplication;
276 
277 #if defined(__cplusplus) && !defined(CINTERFACE)
278 
279  MIDL_INTERFACE("191cfac3-a341-470d-b26e-a864f428319c")
281  {
282  public:
283  virtual void STDMETHODCALLTYPE GetDesc(
284  /* [annotation][out] */
285  _Out_ DXGI_OUTDUPL_DESC *pDesc) = 0;
286 
287  virtual HRESULT STDMETHODCALLTYPE AcquireNextFrame(
288  /* [annotation][in] */
289  _In_ UINT TimeoutInMilliseconds,
290  /* [annotation][out] */
291  _Out_ DXGI_OUTDUPL_FRAME_INFO *pFrameInfo,
292  /* [annotation][out] */
293  _COM_Outptr_ IDXGIResource **ppDesktopResource) = 0;
294 
295  virtual HRESULT STDMETHODCALLTYPE GetFrameDirtyRects(
296  /* [annotation][in] */
297  _In_ UINT DirtyRectsBufferSize,
298  /* [annotation][out] */
299  _Out_writes_bytes_to_(DirtyRectsBufferSize, *pDirtyRectsBufferSizeRequired) RECT *pDirtyRectsBuffer,
300  /* [annotation][out] */
301  _Out_ UINT *pDirtyRectsBufferSizeRequired) = 0;
302 
303  virtual HRESULT STDMETHODCALLTYPE GetFrameMoveRects(
304  /* [annotation][in] */
305  _In_ UINT MoveRectsBufferSize,
306  /* [annotation][out] */
307  _Out_writes_bytes_to_(MoveRectsBufferSize, *pMoveRectsBufferSizeRequired) DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,
308  /* [annotation][out] */
309  _Out_ UINT *pMoveRectsBufferSizeRequired) = 0;
310 
311  virtual HRESULT STDMETHODCALLTYPE GetFramePointerShape(
312  /* [annotation][in] */
313  _In_ UINT PointerShapeBufferSize,
314  /* [annotation][out] */
315  _Out_writes_bytes_to_(PointerShapeBufferSize, *pPointerShapeBufferSizeRequired) void *pPointerShapeBuffer,
316  /* [annotation][out] */
317  _Out_ UINT *pPointerShapeBufferSizeRequired,
318  /* [annotation][out] */
319  _Out_ DXGI_OUTDUPL_POINTER_SHAPE_INFO *pPointerShapeInfo) = 0;
320 
321  virtual HRESULT STDMETHODCALLTYPE MapDesktopSurface(
322  /* [annotation][out] */
323  _Out_ DXGI_MAPPED_RECT *pLockedRect) = 0;
324 
325  virtual HRESULT STDMETHODCALLTYPE UnMapDesktopSurface( void) = 0;
326 
327  virtual HRESULT STDMETHODCALLTYPE ReleaseFrame( void) = 0;
328 
329  };
330 
331 
332 #else /* C style interface */
333 
335  {
336  BEGIN_INTERFACE
337 
338  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
339  IDXGIOutputDuplication * This,
340  /* [in] */ REFIID riid,
341  /* [annotation][iid_is][out] */
342  _COM_Outptr_ void **ppvObject);
343 
344  ULONG ( STDMETHODCALLTYPE *AddRef )(
345  IDXGIOutputDuplication * This);
346 
347  ULONG ( STDMETHODCALLTYPE *Release )(
348  IDXGIOutputDuplication * This);
349 
350  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
351  IDXGIOutputDuplication * This,
352  /* [annotation][in] */
353  _In_ REFGUID Name,
354  /* [in] */ UINT DataSize,
355  /* [annotation][in] */
356  _In_reads_bytes_(DataSize) const void *pData);
357 
358  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
359  IDXGIOutputDuplication * This,
360  /* [annotation][in] */
361  _In_ REFGUID Name,
362  /* [annotation][in] */
363  _In_opt_ const IUnknown *pUnknown);
364 
365  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
366  IDXGIOutputDuplication * This,
367  /* [annotation][in] */
368  _In_ REFGUID Name,
369  /* [annotation][out][in] */
370  _Inout_ UINT *pDataSize,
371  /* [annotation][out] */
372  _Out_writes_bytes_(*pDataSize) void *pData);
373 
374  HRESULT ( STDMETHODCALLTYPE *GetParent )(
375  IDXGIOutputDuplication * This,
376  /* [annotation][in] */
377  _In_ REFIID riid,
378  /* [annotation][retval][out] */
379  _COM_Outptr_ void **ppParent);
380 
381  void ( STDMETHODCALLTYPE *GetDesc )(
382  IDXGIOutputDuplication * This,
383  /* [annotation][out] */
385 
386  HRESULT ( STDMETHODCALLTYPE *AcquireNextFrame )(
387  IDXGIOutputDuplication * This,
388  /* [annotation][in] */
390  /* [annotation][out] */
392  /* [annotation][out] */
393  _COM_Outptr_ IDXGIResource **ppDesktopResource);
394 
395  HRESULT ( STDMETHODCALLTYPE *GetFrameDirtyRects )(
396  IDXGIOutputDuplication * This,
397  /* [annotation][in] */
399  /* [annotation][out] */
401  /* [annotation][out] */
403 
404  HRESULT ( STDMETHODCALLTYPE *GetFrameMoveRects )(
405  IDXGIOutputDuplication * This,
406  /* [annotation][in] */
408  /* [annotation][out] */
410  /* [annotation][out] */
412 
413  HRESULT ( STDMETHODCALLTYPE *GetFramePointerShape )(
414  IDXGIOutputDuplication * This,
415  /* [annotation][in] */
417  /* [annotation][out] */
419  /* [annotation][out] */
421  /* [annotation][out] */
423 
424  HRESULT ( STDMETHODCALLTYPE *MapDesktopSurface )(
425  IDXGIOutputDuplication * This,
426  /* [annotation][out] */
428 
429  HRESULT ( STDMETHODCALLTYPE *UnMapDesktopSurface )(
430  IDXGIOutputDuplication * This);
431 
432  HRESULT ( STDMETHODCALLTYPE *ReleaseFrame )(
433  IDXGIOutputDuplication * This);
434 
435  END_INTERFACE
437 
438  interface IDXGIOutputDuplication
439  {
440  CONST_VTBL struct IDXGIOutputDuplicationVtbl *lpVtbl;
441  };
442 
443 
444 
445 #ifdef COBJMACROS
446 
447 
448 #define IDXGIOutputDuplication_QueryInterface(This,riid,ppvObject) \
449  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
450 
451 #define IDXGIOutputDuplication_AddRef(This) \
452  ( (This)->lpVtbl -> AddRef(This) )
453 
454 #define IDXGIOutputDuplication_Release(This) \
455  ( (This)->lpVtbl -> Release(This) )
456 
457 
458 #define IDXGIOutputDuplication_SetPrivateData(This,Name,DataSize,pData) \
459  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
460 
461 #define IDXGIOutputDuplication_SetPrivateDataInterface(This,Name,pUnknown) \
462  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
463 
464 #define IDXGIOutputDuplication_GetPrivateData(This,Name,pDataSize,pData) \
465  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
466 
467 #define IDXGIOutputDuplication_GetParent(This,riid,ppParent) \
468  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
469 
470 
471 #define IDXGIOutputDuplication_GetDesc(This,pDesc) \
472  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
473 
474 #define IDXGIOutputDuplication_AcquireNextFrame(This,TimeoutInMilliseconds,pFrameInfo,ppDesktopResource) \
475  ( (This)->lpVtbl -> AcquireNextFrame(This,TimeoutInMilliseconds,pFrameInfo,ppDesktopResource) )
476 
477 #define IDXGIOutputDuplication_GetFrameDirtyRects(This,DirtyRectsBufferSize,pDirtyRectsBuffer,pDirtyRectsBufferSizeRequired) \
478  ( (This)->lpVtbl -> GetFrameDirtyRects(This,DirtyRectsBufferSize,pDirtyRectsBuffer,pDirtyRectsBufferSizeRequired) )
479 
480 #define IDXGIOutputDuplication_GetFrameMoveRects(This,MoveRectsBufferSize,pMoveRectBuffer,pMoveRectsBufferSizeRequired) \
481  ( (This)->lpVtbl -> GetFrameMoveRects(This,MoveRectsBufferSize,pMoveRectBuffer,pMoveRectsBufferSizeRequired) )
482 
483 #define IDXGIOutputDuplication_GetFramePointerShape(This,PointerShapeBufferSize,pPointerShapeBuffer,pPointerShapeBufferSizeRequired,pPointerShapeInfo) \
484  ( (This)->lpVtbl -> GetFramePointerShape(This,PointerShapeBufferSize,pPointerShapeBuffer,pPointerShapeBufferSizeRequired,pPointerShapeInfo) )
485 
486 #define IDXGIOutputDuplication_MapDesktopSurface(This,pLockedRect) \
487  ( (This)->lpVtbl -> MapDesktopSurface(This,pLockedRect) )
488 
489 #define IDXGIOutputDuplication_UnMapDesktopSurface(This) \
490  ( (This)->lpVtbl -> UnMapDesktopSurface(This) )
491 
492 #define IDXGIOutputDuplication_ReleaseFrame(This) \
493  ( (This)->lpVtbl -> ReleaseFrame(This) )
494 
495 #endif /* COBJMACROS */
496 
497 
498 #endif /* C style interface */
499 
500 
501 
502 
503 #endif /* __IDXGIOutputDuplication_INTERFACE_DEFINED__ */
504 
505 
506 /* interface __MIDL_itf_dxgi1_2_0000_0002 */
507 /* [local] */
508 
509 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
510 /*#pragma endregion*/
511 /*#pragma region App Family*/
512 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
513 typedef
514 enum DXGI_ALPHA_MODE
515  {
521  } DXGI_ALPHA_MODE;
522 
523 
524 
525 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0002_v0_0_c_ifspec;
526 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0002_v0_0_s_ifspec;
527 
528 #ifndef __IDXGISurface2_INTERFACE_DEFINED__
529 #define __IDXGISurface2_INTERFACE_DEFINED__
530 
531 /* interface IDXGISurface2 */
532 /* [unique][local][uuid][object] */
533 
534 
535 EXTERN_C const IID IID_IDXGISurface2;
536 
537 #if defined(__cplusplus) && !defined(CINTERFACE)
538 
539  MIDL_INTERFACE("aba496dd-b617-4cb8-a866-bc44d7eb1fa2")
541  {
542  public:
543  virtual HRESULT STDMETHODCALLTYPE GetResource(
544  /* [annotation][in] */
545  _In_ REFIID riid,
546  /* [annotation][out] */
547  _COM_Outptr_ void **ppParentResource,
548  /* [annotation][out] */
549  _Out_ UINT *pSubresourceIndex) = 0;
550 
551  };
552 
553 
554 #else /* C style interface */
555 
556  typedef struct IDXGISurface2Vtbl
557  {
558  BEGIN_INTERFACE
559 
560  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
561  IDXGISurface2 * This,
562  /* [in] */ REFIID riid,
563  /* [annotation][iid_is][out] */
564  _COM_Outptr_ void **ppvObject);
565 
566  ULONG ( STDMETHODCALLTYPE *AddRef )(
567  IDXGISurface2 * This);
568 
569  ULONG ( STDMETHODCALLTYPE *Release )(
570  IDXGISurface2 * This);
571 
572  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
573  IDXGISurface2 * This,
574  /* [annotation][in] */
575  _In_ REFGUID Name,
576  /* [in] */ UINT DataSize,
577  /* [annotation][in] */
578  _In_reads_bytes_(DataSize) const void *pData);
579 
580  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
581  IDXGISurface2 * This,
582  /* [annotation][in] */
583  _In_ REFGUID Name,
584  /* [annotation][in] */
585  _In_opt_ const IUnknown *pUnknown);
586 
587  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
588  IDXGISurface2 * This,
589  /* [annotation][in] */
590  _In_ REFGUID Name,
591  /* [annotation][out][in] */
592  _Inout_ UINT *pDataSize,
593  /* [annotation][out] */
594  _Out_writes_bytes_(*pDataSize) void *pData);
595 
596  HRESULT ( STDMETHODCALLTYPE *GetParent )(
597  IDXGISurface2 * This,
598  /* [annotation][in] */
599  _In_ REFIID riid,
600  /* [annotation][retval][out] */
601  _COM_Outptr_ void **ppParent);
602 
603  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
604  IDXGISurface2 * This,
605  /* [annotation][in] */
606  _In_ REFIID riid,
607  /* [annotation][retval][out] */
608  _COM_Outptr_ void **ppDevice);
609 
610  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
611  IDXGISurface2 * This,
612  /* [annotation][out] */
614 
615  HRESULT ( STDMETHODCALLTYPE *Map )(
616  IDXGISurface2 * This,
617  /* [annotation][out] */
619  /* [in] */ UINT MapFlags);
620 
621  HRESULT ( STDMETHODCALLTYPE *Unmap )(
622  IDXGISurface2 * This);
623 
624  HRESULT ( STDMETHODCALLTYPE *GetDC )(
625  IDXGISurface2 * This,
626  /* [in] */ BOOL Discard,
627  /* [annotation][out] */
628  _Out_ HDC *phdc);
629 
630  HRESULT ( STDMETHODCALLTYPE *ReleaseDC )(
631  IDXGISurface2 * This,
632  /* [annotation][in] */
633  _In_opt_ RECT *pDirtyRect);
634 
635  HRESULT ( STDMETHODCALLTYPE *GetResource )(
636  IDXGISurface2 * This,
637  /* [annotation][in] */
638  _In_ REFIID riid,
639  /* [annotation][out] */
640  _COM_Outptr_ void **ppParentResource,
641  /* [annotation][out] */
642  _Out_ UINT *pSubresourceIndex);
643 
644  END_INTERFACE
646 
647  interface IDXGISurface2
648  {
649  CONST_VTBL struct IDXGISurface2Vtbl *lpVtbl;
650  };
651 
652 
653 
654 #ifdef COBJMACROS
655 
656 
657 #define IDXGISurface2_QueryInterface(This,riid,ppvObject) \
658  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
659 
660 #define IDXGISurface2_AddRef(This) \
661  ( (This)->lpVtbl -> AddRef(This) )
662 
663 #define IDXGISurface2_Release(This) \
664  ( (This)->lpVtbl -> Release(This) )
665 
666 
667 #define IDXGISurface2_SetPrivateData(This,Name,DataSize,pData) \
668  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
669 
670 #define IDXGISurface2_SetPrivateDataInterface(This,Name,pUnknown) \
671  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
672 
673 #define IDXGISurface2_GetPrivateData(This,Name,pDataSize,pData) \
674  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
675 
676 #define IDXGISurface2_GetParent(This,riid,ppParent) \
677  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
678 
679 
680 #define IDXGISurface2_GetDevice(This,riid,ppDevice) \
681  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
682 
683 
684 #define IDXGISurface2_GetDesc(This,pDesc) \
685  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
686 
687 #define IDXGISurface2_Map(This,pLockedRect,MapFlags) \
688  ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) )
689 
690 #define IDXGISurface2_Unmap(This) \
691  ( (This)->lpVtbl -> Unmap(This) )
692 
693 
694 #define IDXGISurface2_GetDC(This,Discard,phdc) \
695  ( (This)->lpVtbl -> GetDC(This,Discard,phdc) )
696 
697 #define IDXGISurface2_ReleaseDC(This,pDirtyRect) \
698  ( (This)->lpVtbl -> ReleaseDC(This,pDirtyRect) )
699 
700 
701 #define IDXGISurface2_GetResource(This,riid,ppParentResource,pSubresourceIndex) \
702  ( (This)->lpVtbl -> GetResource(This,riid,ppParentResource,pSubresourceIndex) )
703 
704 #endif /* COBJMACROS */
705 
706 
707 #endif /* C style interface */
708 
709 
710 
711 
712 #endif /* __IDXGISurface2_INTERFACE_DEFINED__ */
713 
714 
715 #ifndef __IDXGIResource1_INTERFACE_DEFINED__
716 #define __IDXGIResource1_INTERFACE_DEFINED__
717 
718 /* interface IDXGIResource1 */
719 /* [unique][local][uuid][object] */
720 
721 
722 EXTERN_C const IID IID_IDXGIResource1;
723 
724 #if defined(__cplusplus) && !defined(CINTERFACE)
725 
726  MIDL_INTERFACE("30961379-4609-4a41-998e-54fe567ee0c1")
728  {
729  public:
730  virtual HRESULT STDMETHODCALLTYPE CreateSubresourceSurface(
731  UINT index,
732  /* [annotation][out] */
733  _COM_Outptr_ IDXGISurface2 **ppSurface) = 0;
734 
735  virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
736  /* [annotation][in] */
737  _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
738  /* [annotation][in] */
739  _In_ DWORD dwAccess,
740  /* [annotation][in] */
741  _In_opt_ LPCWSTR lpName,
742  /* [annotation][out] */
743  _Out_ HANDLE *pHandle) = 0;
744 
745  };
746 
747 
748 #else /* C style interface */
749 
750  typedef struct IDXGIResource1Vtbl
751  {
752  BEGIN_INTERFACE
753 
754  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
755  IDXGIResource1 * This,
756  /* [in] */ REFIID riid,
757  /* [annotation][iid_is][out] */
758  _COM_Outptr_ void **ppvObject);
759 
760  ULONG ( STDMETHODCALLTYPE *AddRef )(
761  IDXGIResource1 * This);
762 
763  ULONG ( STDMETHODCALLTYPE *Release )(
764  IDXGIResource1 * This);
765 
766  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
767  IDXGIResource1 * This,
768  /* [annotation][in] */
769  _In_ REFGUID Name,
770  /* [in] */ UINT DataSize,
771  /* [annotation][in] */
772  _In_reads_bytes_(DataSize) const void *pData);
773 
774  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
775  IDXGIResource1 * This,
776  /* [annotation][in] */
777  _In_ REFGUID Name,
778  /* [annotation][in] */
779  _In_opt_ const IUnknown *pUnknown);
780 
781  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
782  IDXGIResource1 * This,
783  /* [annotation][in] */
784  _In_ REFGUID Name,
785  /* [annotation][out][in] */
786  _Inout_ UINT *pDataSize,
787  /* [annotation][out] */
788  _Out_writes_bytes_(*pDataSize) void *pData);
789 
790  HRESULT ( STDMETHODCALLTYPE *GetParent )(
791  IDXGIResource1 * This,
792  /* [annotation][in] */
793  _In_ REFIID riid,
794  /* [annotation][retval][out] */
795  _COM_Outptr_ void **ppParent);
796 
797  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
798  IDXGIResource1 * This,
799  /* [annotation][in] */
800  _In_ REFIID riid,
801  /* [annotation][retval][out] */
802  _COM_Outptr_ void **ppDevice);
803 
804  HRESULT ( STDMETHODCALLTYPE *GetSharedHandle )(
805  IDXGIResource1 * This,
806  /* [annotation][out] */
807  _Out_ HANDLE *pSharedHandle);
808 
809  HRESULT ( STDMETHODCALLTYPE *GetUsage )(
810  IDXGIResource1 * This,
811  /* [out] */ DXGI_USAGE *pUsage);
812 
813  HRESULT ( STDMETHODCALLTYPE *SetEvictionPriority )(
814  IDXGIResource1 * This,
815  /* [in] */ UINT EvictionPriority);
816 
817  HRESULT ( STDMETHODCALLTYPE *GetEvictionPriority )(
818  IDXGIResource1 * This,
819  /* [annotation][retval][out] */
821 
822  HRESULT ( STDMETHODCALLTYPE *CreateSubresourceSurface )(
823  IDXGIResource1 * This,
825  /* [annotation][out] */
826  _COM_Outptr_ IDXGISurface2 **ppSurface);
827 
828  HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
829  IDXGIResource1 * This,
830  /* [annotation][in] */
831  _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
832  /* [annotation][in] */
833  _In_ DWORD dwAccess,
834  /* [annotation][in] */
835  _In_opt_ LPCWSTR lpName,
836  /* [annotation][out] */
837  _Out_ HANDLE *pHandle);
838 
839  END_INTERFACE
841 
842  interface IDXGIResource1
843  {
844  CONST_VTBL struct IDXGIResource1Vtbl *lpVtbl;
845  };
846 
847 
848 
849 #ifdef COBJMACROS
850 
851 
852 #define IDXGIResource1_QueryInterface(This,riid,ppvObject) \
853  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
854 
855 #define IDXGIResource1_AddRef(This) \
856  ( (This)->lpVtbl -> AddRef(This) )
857 
858 #define IDXGIResource1_Release(This) \
859  ( (This)->lpVtbl -> Release(This) )
860 
861 
862 #define IDXGIResource1_SetPrivateData(This,Name,DataSize,pData) \
863  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
864 
865 #define IDXGIResource1_SetPrivateDataInterface(This,Name,pUnknown) \
866  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
867 
868 #define IDXGIResource1_GetPrivateData(This,Name,pDataSize,pData) \
869  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
870 
871 #define IDXGIResource1_GetParent(This,riid,ppParent) \
872  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
873 
874 
875 #define IDXGIResource1_GetDevice(This,riid,ppDevice) \
876  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
877 
878 
879 #define IDXGIResource1_GetSharedHandle(This,pSharedHandle) \
880  ( (This)->lpVtbl -> GetSharedHandle(This,pSharedHandle) )
881 
882 #define IDXGIResource1_GetUsage(This,pUsage) \
883  ( (This)->lpVtbl -> GetUsage(This,pUsage) )
884 
885 #define IDXGIResource1_SetEvictionPriority(This,EvictionPriority) \
886  ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
887 
888 #define IDXGIResource1_GetEvictionPriority(This,pEvictionPriority) \
889  ( (This)->lpVtbl -> GetEvictionPriority(This,pEvictionPriority) )
890 
891 
892 #define IDXGIResource1_CreateSubresourceSurface(This,index,ppSurface) \
893  ( (This)->lpVtbl -> CreateSubresourceSurface(This,index,ppSurface) )
894 
895 #define IDXGIResource1_CreateSharedHandle(This,pAttributes,dwAccess,lpName,pHandle) \
896  ( (This)->lpVtbl -> CreateSharedHandle(This,pAttributes,dwAccess,lpName,pHandle) )
897 
898 #endif /* COBJMACROS */
899 
900 
901 #endif /* C style interface */
902 
903 
904 
905 
906 #endif /* __IDXGIResource1_INTERFACE_DEFINED__ */
907 
908 
909 /* interface __MIDL_itf_dxgi1_2_0000_0004 */
910 /* [local] */
911 
912 typedef
914  {
919 
920 
921 
922 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0004_v0_0_c_ifspec;
923 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0004_v0_0_s_ifspec;
924 
925 #ifndef __IDXGIDevice2_INTERFACE_DEFINED__
926 #define __IDXGIDevice2_INTERFACE_DEFINED__
927 
928 /* interface IDXGIDevice2 */
929 /* [unique][local][uuid][object] */
930 
931 
932 EXTERN_C const IID IID_IDXGIDevice2;
933 
934 #if defined(__cplusplus) && !defined(CINTERFACE)
935 
936  MIDL_INTERFACE("05008617-fbfd-4051-a790-144884b4f6a9")
937  IDXGIDevice2 : public IDXGIDevice1
938  {
939  public:
940  virtual HRESULT STDMETHODCALLTYPE OfferResources(
941  /* [annotation][in] */
942  _In_ UINT NumResources,
943  /* [annotation][size_is][in] */
944  _In_reads_(NumResources) IDXGIResource *const *ppResources,
945  /* [annotation][in] */
946  _In_ DXGI_OFFER_RESOURCE_PRIORITY Priority) = 0;
947 
948  virtual HRESULT STDMETHODCALLTYPE ReclaimResources(
949  /* [annotation][in] */
950  _In_ UINT NumResources,
951  /* [annotation][size_is][in] */
952  _In_reads_(NumResources) IDXGIResource *const *ppResources,
953  /* [annotation][size_is][out] */
954  _Out_writes_all_opt_(NumResources) BOOL *pDiscarded) = 0;
955 
956  virtual HRESULT STDMETHODCALLTYPE EnqueueSetEvent(
957  /* [annotation][in] */
958  _In_ HANDLE hEvent) = 0;
959 
960  };
961 
962 
963 #else /* C style interface */
964 
965  typedef struct IDXGIDevice2Vtbl
966  {
967  BEGIN_INTERFACE
968 
969  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
970  IDXGIDevice2 * This,
971  /* [in] */ REFIID riid,
972  /* [annotation][iid_is][out] */
973  _COM_Outptr_ void **ppvObject);
974 
975  ULONG ( STDMETHODCALLTYPE *AddRef )(
976  IDXGIDevice2 * This);
977 
978  ULONG ( STDMETHODCALLTYPE *Release )(
979  IDXGIDevice2 * This);
980 
981  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
982  IDXGIDevice2 * This,
983  /* [annotation][in] */
984  _In_ REFGUID Name,
985  /* [in] */ UINT DataSize,
986  /* [annotation][in] */
987  _In_reads_bytes_(DataSize) const void *pData);
988 
989  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
990  IDXGIDevice2 * This,
991  /* [annotation][in] */
992  _In_ REFGUID Name,
993  /* [annotation][in] */
994  _In_opt_ const IUnknown *pUnknown);
995 
996  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
997  IDXGIDevice2 * This,
998  /* [annotation][in] */
999  _In_ REFGUID Name,
1000  /* [annotation][out][in] */
1001  _Inout_ UINT *pDataSize,
1002  /* [annotation][out] */
1003  _Out_writes_bytes_(*pDataSize) void *pData);
1004 
1005  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1006  IDXGIDevice2 * This,
1007  /* [annotation][in] */
1008  _In_ REFIID riid,
1009  /* [annotation][retval][out] */
1010  _COM_Outptr_ void **ppParent);
1011 
1012  HRESULT ( STDMETHODCALLTYPE *GetAdapter )(
1013  IDXGIDevice2 * This,
1014  /* [annotation][out] */
1015  _COM_Outptr_ IDXGIAdapter **pAdapter);
1016 
1017  HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
1018  IDXGIDevice2 * This,
1019  /* [annotation][in] */
1021  /* [in] */ UINT NumSurfaces,
1022  /* [in] */ DXGI_USAGE Usage,
1023  /* [annotation][in] */
1024  _In_opt_ const DXGI_SHARED_RESOURCE *pSharedResource,
1025  /* [annotation][out] */
1026  _COM_Outptr_ IDXGISurface **ppSurface);
1027 
1028  HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )(
1029  IDXGIDevice2 * This,
1030  /* [annotation][size_is][in] */
1031  _In_reads_(NumResources) IUnknown *const *ppResources,
1032  /* [annotation][size_is][out] */
1033  _Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus,
1034  /* [in] */ UINT NumResources);
1035 
1036  HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )(
1037  IDXGIDevice2 * This,
1038  /* [in] */ INT Priority);
1039 
1040  HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )(
1041  IDXGIDevice2 * This,
1042  /* [annotation][retval][out] */
1043  _Out_ INT *pPriority);
1044 
1045  HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )(
1046  IDXGIDevice2 * This,
1047  /* [in] */ UINT MaxLatency);
1048 
1049  HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )(
1050  IDXGIDevice2 * This,
1051  /* [annotation][out] */
1053 
1054  HRESULT ( STDMETHODCALLTYPE *OfferResources )(
1055  IDXGIDevice2 * This,
1056  /* [annotation][in] */
1058  /* [annotation][size_is][in] */
1059  _In_reads_(NumResources) IDXGIResource *const *ppResources,
1060  /* [annotation][in] */
1062 
1063  HRESULT ( STDMETHODCALLTYPE *ReclaimResources )(
1064  IDXGIDevice2 * This,
1065  /* [annotation][in] */
1066  _In_ UINT NumResources,
1067  /* [annotation][size_is][in] */
1068  _In_reads_(NumResources) IDXGIResource *const *ppResources,
1069  /* [annotation][size_is][out] */
1070  _Out_writes_all_opt_(NumResources) BOOL *pDiscarded);
1071 
1072  HRESULT ( STDMETHODCALLTYPE *EnqueueSetEvent )(
1073  IDXGIDevice2 * This,
1074  /* [annotation][in] */
1075  _In_ HANDLE hEvent);
1076 
1077  END_INTERFACE
1078  } IDXGIDevice2Vtbl;
1079 
1080  interface IDXGIDevice2
1081  {
1082  CONST_VTBL struct IDXGIDevice2Vtbl *lpVtbl;
1083  };
1084 
1085 
1086 
1087 #ifdef COBJMACROS
1088 
1089 
1090 #define IDXGIDevice2_QueryInterface(This,riid,ppvObject) \
1091  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1092 
1093 #define IDXGIDevice2_AddRef(This) \
1094  ( (This)->lpVtbl -> AddRef(This) )
1095 
1096 #define IDXGIDevice2_Release(This) \
1097  ( (This)->lpVtbl -> Release(This) )
1098 
1099 
1100 #define IDXGIDevice2_SetPrivateData(This,Name,DataSize,pData) \
1101  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1102 
1103 #define IDXGIDevice2_SetPrivateDataInterface(This,Name,pUnknown) \
1104  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1105 
1106 #define IDXGIDevice2_GetPrivateData(This,Name,pDataSize,pData) \
1107  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1108 
1109 #define IDXGIDevice2_GetParent(This,riid,ppParent) \
1110  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1111 
1112 
1113 #define IDXGIDevice2_GetAdapter(This,pAdapter) \
1114  ( (This)->lpVtbl -> GetAdapter(This,pAdapter) )
1115 
1116 #define IDXGIDevice2_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \
1117  ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) )
1118 
1119 #define IDXGIDevice2_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \
1120  ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) )
1121 
1122 #define IDXGIDevice2_SetGPUThreadPriority(This,Priority) \
1123  ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) )
1124 
1125 #define IDXGIDevice2_GetGPUThreadPriority(This,pPriority) \
1126  ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) )
1127 
1128 
1129 #define IDXGIDevice2_SetMaximumFrameLatency(This,MaxLatency) \
1130  ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) )
1131 
1132 #define IDXGIDevice2_GetMaximumFrameLatency(This,pMaxLatency) \
1133  ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) )
1134 
1135 
1136 #define IDXGIDevice2_OfferResources(This,NumResources,ppResources,Priority) \
1137  ( (This)->lpVtbl -> OfferResources(This,NumResources,ppResources,Priority) )
1138 
1139 #define IDXGIDevice2_ReclaimResources(This,NumResources,ppResources,pDiscarded) \
1140  ( (This)->lpVtbl -> ReclaimResources(This,NumResources,ppResources,pDiscarded) )
1141 
1142 #define IDXGIDevice2_EnqueueSetEvent(This,hEvent) \
1143  ( (This)->lpVtbl -> EnqueueSetEvent(This,hEvent) )
1144 
1145 #endif /* COBJMACROS */
1146 
1147 
1148 #endif /* C style interface */
1149 
1150 
1151 
1152 
1153 #endif /* __IDXGIDevice2_INTERFACE_DEFINED__ */
1154 
1155 
1156 /* interface __MIDL_itf_dxgi1_2_0000_0005 */
1157 /* [local] */
1158 
1159 #define DXGI_ENUM_MODES_STEREO ( 4UL )
1160 
1161 #define DXGI_ENUM_MODES_DISABLED_STEREO ( 8UL )
1162 
1163 #define DXGI_SHARED_RESOURCE_READ ( 0x80000000L )
1164 
1165 #define DXGI_SHARED_RESOURCE_WRITE ( 1 )
1166 
1167 typedef struct DXGI_MODE_DESC1
1168  {
1176  } DXGI_MODE_DESC1;
1177 
1178 typedef
1179 enum DXGI_SCALING
1180  {
1184  } DXGI_SCALING;
1185 
1187  {
1200 
1202  {
1208 
1210  {
1212  /* [annotation] */
1213  _Field_size_full_opt_(DirtyRectsCount) RECT *pDirtyRects;
1217 
1218 
1219 
1220 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0005_v0_0_c_ifspec;
1221 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0005_v0_0_s_ifspec;
1222 
1223 #ifndef __IDXGISwapChain1_INTERFACE_DEFINED__
1224 #define __IDXGISwapChain1_INTERFACE_DEFINED__
1225 
1226 /* interface IDXGISwapChain1 */
1227 /* [unique][local][uuid][object] */
1228 
1229 
1230 EXTERN_C const IID IID_IDXGISwapChain1;
1231 
1232 #if defined(__cplusplus) && !defined(CINTERFACE)
1233 
1234  MIDL_INTERFACE("790a45f7-0d42-4876-983a-0a55cfe6f4aa")
1236  {
1237  public:
1238  virtual HRESULT STDMETHODCALLTYPE GetDesc1(
1239  /* [annotation][out] */
1240  _Out_ DXGI_SWAP_CHAIN_DESC1 *pDesc) = 0;
1241 
1242  virtual HRESULT STDMETHODCALLTYPE GetFullscreenDesc(
1243  /* [annotation][out] */
1244  _Out_ DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pDesc) = 0;
1245 
1246  virtual HRESULT STDMETHODCALLTYPE GetHwnd(
1247  /* [annotation][out] */
1248  _Out_ HWND *pHwnd) = 0;
1249 
1250  virtual HRESULT STDMETHODCALLTYPE GetCoreWindow(
1251  /* [annotation][in] */
1252  _In_ REFIID refiid,
1253  /* [annotation][out] */
1254  _COM_Outptr_ void **ppUnk) = 0;
1255 
1256  virtual HRESULT STDMETHODCALLTYPE Present1(
1257  /* [in] */ UINT SyncInterval,
1258  /* [in] */ UINT PresentFlags,
1259  /* [annotation][in] */
1260  _In_ const DXGI_PRESENT_PARAMETERS *pPresentParameters) = 0;
1261 
1262  virtual BOOL STDMETHODCALLTYPE IsTemporaryMonoSupported( void) = 0;
1263 
1264  virtual HRESULT STDMETHODCALLTYPE GetRestrictToOutput(
1265  /* [annotation][out] */
1266  _Out_ IDXGIOutput **ppRestrictToOutput) = 0;
1267 
1268  virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
1269  /* [annotation][in] */
1270  _In_ const DXGI_RGBA *pColor) = 0;
1271 
1272  virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor(
1273  /* [annotation][out] */
1274  _Out_ DXGI_RGBA *pColor) = 0;
1275 
1276  virtual HRESULT STDMETHODCALLTYPE SetRotation(
1277  /* [annotation][in] */
1278  _In_ DXGI_MODE_ROTATION Rotation) = 0;
1279 
1280  virtual HRESULT STDMETHODCALLTYPE GetRotation(
1281  /* [annotation][out] */
1282  _Out_ DXGI_MODE_ROTATION *pRotation) = 0;
1283 
1284  };
1285 
1286 
1287 #else /* C style interface */
1288 
1289  typedef struct IDXGISwapChain1Vtbl
1290  {
1291  BEGIN_INTERFACE
1292 
1293  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1294  IDXGISwapChain1 * This,
1295  /* [in] */ REFIID riid,
1296  /* [annotation][iid_is][out] */
1297  _COM_Outptr_ void **ppvObject);
1298 
1299  ULONG ( STDMETHODCALLTYPE *AddRef )(
1300  IDXGISwapChain1 * This);
1301 
1302  ULONG ( STDMETHODCALLTYPE *Release )(
1303  IDXGISwapChain1 * This);
1304 
1305  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1306  IDXGISwapChain1 * This,
1307  /* [annotation][in] */
1308  _In_ REFGUID Name,
1309  /* [in] */ UINT DataSize,
1310  /* [annotation][in] */
1311  _In_reads_bytes_(DataSize) const void *pData);
1312 
1313  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1314  IDXGISwapChain1 * This,
1315  /* [annotation][in] */
1316  _In_ REFGUID Name,
1317  /* [annotation][in] */
1318  _In_opt_ const IUnknown *pUnknown);
1319 
1320  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1321  IDXGISwapChain1 * This,
1322  /* [annotation][in] */
1323  _In_ REFGUID Name,
1324  /* [annotation][out][in] */
1325  _Inout_ UINT *pDataSize,
1326  /* [annotation][out] */
1327  _Out_writes_bytes_(*pDataSize) void *pData);
1328 
1329  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1330  IDXGISwapChain1 * This,
1331  /* [annotation][in] */
1332  _In_ REFIID riid,
1333  /* [annotation][retval][out] */
1334  _COM_Outptr_ void **ppParent);
1335 
1336  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
1337  IDXGISwapChain1 * This,
1338  /* [annotation][in] */
1339  _In_ REFIID riid,
1340  /* [annotation][retval][out] */
1341  _COM_Outptr_ void **ppDevice);
1342 
1343  HRESULT ( STDMETHODCALLTYPE *Present )(
1344  IDXGISwapChain1 * This,
1345  /* [in] */ UINT SyncInterval,
1346  /* [in] */ UINT Flags);
1347 
1348  HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
1349  IDXGISwapChain1 * This,
1350  /* [in] */ UINT Buffer,
1351  /* [annotation][in] */
1352  _In_ REFIID riid,
1353  /* [annotation][out][in] */
1354  _COM_Outptr_ void **ppSurface);
1355 
1356  HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )(
1357  IDXGISwapChain1 * This,
1358  /* [in] */ BOOL Fullscreen,
1359  /* [annotation][in] */
1360  _In_opt_ IDXGIOutput *pTarget);
1361 
1362  HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )(
1363  IDXGISwapChain1 * This,
1364  /* [annotation][out] */
1365  _Out_opt_ BOOL *pFullscreen,
1366  /* [annotation][out] */
1367  _COM_Outptr_opt_result_maybenull_ IDXGIOutput **ppTarget);
1368 
1369  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1370  IDXGISwapChain1 * This,
1371  /* [annotation][out] */
1373 
1374  HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )(
1375  IDXGISwapChain1 * This,
1376  /* [in] */ UINT BufferCount,
1377  /* [in] */ UINT Width,
1378  /* [in] */ UINT Height,
1379  /* [in] */ DXGI_FORMAT NewFormat,
1380  /* [in] */ UINT SwapChainFlags);
1381 
1382  HRESULT ( STDMETHODCALLTYPE *ResizeTarget )(
1383  IDXGISwapChain1 * This,
1384  /* [annotation][in] */
1386 
1387  HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )(
1388  IDXGISwapChain1 * This,
1389  /* [annotation][out] */
1390  _COM_Outptr_ IDXGIOutput **ppOutput);
1391 
1392  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
1393  IDXGISwapChain1 * This,
1394  /* [annotation][out] */
1396 
1397  HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )(
1398  IDXGISwapChain1 * This,
1399  /* [annotation][out] */
1401 
1402  HRESULT ( STDMETHODCALLTYPE *GetDesc1 )(
1403  IDXGISwapChain1 * This,
1404  /* [annotation][out] */
1406 
1407  HRESULT ( STDMETHODCALLTYPE *GetFullscreenDesc )(
1408  IDXGISwapChain1 * This,
1409  /* [annotation][out] */
1411 
1412  HRESULT ( STDMETHODCALLTYPE *GetHwnd )(
1413  IDXGISwapChain1 * This,
1414  /* [annotation][out] */
1415  _Out_ HWND *pHwnd);
1416 
1417  HRESULT ( STDMETHODCALLTYPE *GetCoreWindow )(
1418  IDXGISwapChain1 * This,
1419  /* [annotation][in] */
1420  _In_ REFIID refiid,
1421  /* [annotation][out] */
1422  _COM_Outptr_ void **ppUnk);
1423 
1424  HRESULT ( STDMETHODCALLTYPE *Present1 )(
1425  IDXGISwapChain1 * This,
1426  /* [in] */ UINT SyncInterval,
1427  /* [in] */ UINT PresentFlags,
1428  /* [annotation][in] */
1430 
1431  BOOL ( STDMETHODCALLTYPE *IsTemporaryMonoSupported )(
1432  IDXGISwapChain1 * This);
1433 
1434  HRESULT ( STDMETHODCALLTYPE *GetRestrictToOutput )(
1435  IDXGISwapChain1 * This,
1436  /* [annotation][out] */
1438 
1439  HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )(
1440  IDXGISwapChain1 * This,
1441  /* [annotation][in] */
1442  _In_ const DXGI_RGBA *pColor);
1443 
1444  HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )(
1445  IDXGISwapChain1 * This,
1446  /* [annotation][out] */
1448 
1449  HRESULT ( STDMETHODCALLTYPE *SetRotation )(
1450  IDXGISwapChain1 * This,
1451  /* [annotation][in] */
1453 
1454  HRESULT ( STDMETHODCALLTYPE *GetRotation )(
1455  IDXGISwapChain1 * This,
1456  /* [annotation][out] */
1458 
1459  END_INTERFACE
1461 
1462  interface IDXGISwapChain1
1463  {
1464  CONST_VTBL struct IDXGISwapChain1Vtbl *lpVtbl;
1465  };
1466 
1467 
1468 
1469 #ifdef COBJMACROS
1470 
1471 
1472 #define IDXGISwapChain1_QueryInterface(This,riid,ppvObject) \
1473  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1474 
1475 #define IDXGISwapChain1_AddRef(This) \
1476  ( (This)->lpVtbl -> AddRef(This) )
1477 
1478 #define IDXGISwapChain1_Release(This) \
1479  ( (This)->lpVtbl -> Release(This) )
1480 
1481 
1482 #define IDXGISwapChain1_SetPrivateData(This,Name,DataSize,pData) \
1483  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1484 
1485 #define IDXGISwapChain1_SetPrivateDataInterface(This,Name,pUnknown) \
1486  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1487 
1488 #define IDXGISwapChain1_GetPrivateData(This,Name,pDataSize,pData) \
1489  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1490 
1491 #define IDXGISwapChain1_GetParent(This,riid,ppParent) \
1492  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1493 
1494 
1495 #define IDXGISwapChain1_GetDevice(This,riid,ppDevice) \
1496  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
1497 
1498 
1499 #define IDXGISwapChain1_Present(This,SyncInterval,Flags) \
1500  ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) )
1501 
1502 #define IDXGISwapChain1_GetBuffer(This,Buffer,riid,ppSurface) \
1503  ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) )
1504 
1505 #define IDXGISwapChain1_SetFullscreenState(This,Fullscreen,pTarget) \
1506  ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) )
1507 
1508 #define IDXGISwapChain1_GetFullscreenState(This,pFullscreen,ppTarget) \
1509  ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) )
1510 
1511 #define IDXGISwapChain1_GetDesc(This,pDesc) \
1512  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1513 
1514 #define IDXGISwapChain1_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) \
1515  ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) )
1516 
1517 #define IDXGISwapChain1_ResizeTarget(This,pNewTargetParameters) \
1518  ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) )
1519 
1520 #define IDXGISwapChain1_GetContainingOutput(This,ppOutput) \
1521  ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) )
1522 
1523 #define IDXGISwapChain1_GetFrameStatistics(This,pStats) \
1524  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
1525 
1526 #define IDXGISwapChain1_GetLastPresentCount(This,pLastPresentCount) \
1527  ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) )
1528 
1529 
1530 #define IDXGISwapChain1_GetDesc1(This,pDesc) \
1531  ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
1532 
1533 #define IDXGISwapChain1_GetFullscreenDesc(This,pDesc) \
1534  ( (This)->lpVtbl -> GetFullscreenDesc(This,pDesc) )
1535 
1536 #define IDXGISwapChain1_GetHwnd(This,pHwnd) \
1537  ( (This)->lpVtbl -> GetHwnd(This,pHwnd) )
1538 
1539 #define IDXGISwapChain1_GetCoreWindow(This,refiid,ppUnk) \
1540  ( (This)->lpVtbl -> GetCoreWindow(This,refiid,ppUnk) )
1541 
1542 #define IDXGISwapChain1_Present1(This,SyncInterval,PresentFlags,pPresentParameters) \
1543  ( (This)->lpVtbl -> Present1(This,SyncInterval,PresentFlags,pPresentParameters) )
1544 
1545 #define IDXGISwapChain1_IsTemporaryMonoSupported(This) \
1546  ( (This)->lpVtbl -> IsTemporaryMonoSupported(This) )
1547 
1548 #define IDXGISwapChain1_GetRestrictToOutput(This,ppRestrictToOutput) \
1549  ( (This)->lpVtbl -> GetRestrictToOutput(This,ppRestrictToOutput) )
1550 
1551 #define IDXGISwapChain1_SetBackgroundColor(This,pColor) \
1552  ( (This)->lpVtbl -> SetBackgroundColor(This,pColor) )
1553 
1554 #define IDXGISwapChain1_GetBackgroundColor(This,pColor) \
1555  ( (This)->lpVtbl -> GetBackgroundColor(This,pColor) )
1556 
1557 #define IDXGISwapChain1_SetRotation(This,Rotation) \
1558  ( (This)->lpVtbl -> SetRotation(This,Rotation) )
1559 
1560 #define IDXGISwapChain1_GetRotation(This,pRotation) \
1561  ( (This)->lpVtbl -> GetRotation(This,pRotation) )
1562 
1563 #endif /* COBJMACROS */
1564 
1565 
1566 #endif /* C style interface */
1567 
1568 
1569 
1570 
1571 #endif /* __IDXGISwapChain1_INTERFACE_DEFINED__ */
1572 
1573 
1574 #ifndef __IDXGIFactory2_INTERFACE_DEFINED__
1575 #define __IDXGIFactory2_INTERFACE_DEFINED__
1576 
1577 /* interface IDXGIFactory2 */
1578 /* [unique][local][uuid][object] */
1579 
1580 
1581 EXTERN_C const IID IID_IDXGIFactory2;
1582 
1583 #if defined(__cplusplus) && !defined(CINTERFACE)
1584 
1585  MIDL_INTERFACE("50c83a1c-e072-4c48-87b0-3630fa36a6d0")
1586  IDXGIFactory2 : public IDXGIFactory1
1587  {
1588  public:
1589  virtual BOOL STDMETHODCALLTYPE IsWindowedStereoEnabled( void) = 0;
1590 
1591  virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd(
1592  /* [annotation][in] */
1593  _In_ IUnknown *pDevice,
1594  /* [annotation][in] */
1595  _In_ HWND hWnd,
1596  /* [annotation][in] */
1597  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1598  /* [annotation][in] */
1599  _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,
1600  /* [annotation][in] */
1601  _In_opt_ IDXGIOutput *pRestrictToOutput,
1602  /* [annotation][out] */
1603  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain) = 0;
1604 
1605  virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForCoreWindow(
1606  /* [annotation][in] */
1607  _In_ IUnknown *pDevice,
1608  /* [annotation][in] */
1609  _In_ IUnknown *pWindow,
1610  /* [annotation][in] */
1611  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1612  /* [annotation][in] */
1613  _In_opt_ IDXGIOutput *pRestrictToOutput,
1614  /* [annotation][out] */
1615  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain) = 0;
1616 
1617  virtual HRESULT STDMETHODCALLTYPE GetSharedResourceAdapterLuid(
1618  /* [annotation] */
1619  _In_ HANDLE hResource,
1620  /* [annotation] */
1621  _Out_ LUID *pLuid) = 0;
1622 
1623  virtual HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow(
1624  /* [annotation][in] */
1625  _In_ HWND WindowHandle,
1626  /* [annotation][in] */
1627  _In_ UINT wMsg,
1628  /* [annotation][out] */
1629  _Out_ DWORD *pdwCookie) = 0;
1630 
1631  virtual HRESULT STDMETHODCALLTYPE RegisterStereoStatusEvent(
1632  /* [annotation][in] */
1633  _In_ HANDLE hEvent,
1634  /* [annotation][out] */
1635  _Out_ DWORD *pdwCookie) = 0;
1636 
1637  virtual void STDMETHODCALLTYPE UnregisterStereoStatus(
1638  /* [annotation][in] */
1639  _In_ DWORD dwCookie) = 0;
1640 
1641  virtual HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow(
1642  /* [annotation][in] */
1643  _In_ HWND WindowHandle,
1644  /* [annotation][in] */
1645  _In_ UINT wMsg,
1646  /* [annotation][out] */
1647  _Out_ DWORD *pdwCookie) = 0;
1648 
1649  virtual HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusEvent(
1650  /* [annotation][in] */
1651  _In_ HANDLE hEvent,
1652  /* [annotation][out] */
1653  _Out_ DWORD *pdwCookie) = 0;
1654 
1655  virtual void STDMETHODCALLTYPE UnregisterOcclusionStatus(
1656  /* [annotation][in] */
1657  _In_ DWORD dwCookie) = 0;
1658 
1659  virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForComposition(
1660  /* [annotation][in] */
1661  _In_ IUnknown *pDevice,
1662  /* [annotation][in] */
1663  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1664  /* [annotation][in] */
1665  _In_opt_ IDXGIOutput *pRestrictToOutput,
1666  /* [annotation][out] */
1667  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain) = 0;
1668 
1669  };
1670 
1671 
1672 #else /* C style interface */
1673 
1674  typedef struct IDXGIFactory2Vtbl
1675  {
1676  BEGIN_INTERFACE
1677 
1678  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1679  IDXGIFactory2 * This,
1680  /* [in] */ REFIID riid,
1681  /* [annotation][iid_is][out] */
1682  _COM_Outptr_ void **ppvObject);
1683 
1684  ULONG ( STDMETHODCALLTYPE *AddRef )(
1685  IDXGIFactory2 * This);
1686 
1687  ULONG ( STDMETHODCALLTYPE *Release )(
1688  IDXGIFactory2 * This);
1689 
1690  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1691  IDXGIFactory2 * This,
1692  /* [annotation][in] */
1693  _In_ REFGUID Name,
1694  /* [in] */ UINT DataSize,
1695  /* [annotation][in] */
1696  _In_reads_bytes_(DataSize) const void *pData);
1697 
1698  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1699  IDXGIFactory2 * This,
1700  /* [annotation][in] */
1701  _In_ REFGUID Name,
1702  /* [annotation][in] */
1703  _In_opt_ const IUnknown *pUnknown);
1704 
1705  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1706  IDXGIFactory2 * This,
1707  /* [annotation][in] */
1708  _In_ REFGUID Name,
1709  /* [annotation][out][in] */
1710  _Inout_ UINT *pDataSize,
1711  /* [annotation][out] */
1712  _Out_writes_bytes_(*pDataSize) void *pData);
1713 
1714  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1715  IDXGIFactory2 * This,
1716  /* [annotation][in] */
1717  _In_ REFIID riid,
1718  /* [annotation][retval][out] */
1719  _COM_Outptr_ void **ppParent);
1720 
1721  HRESULT ( STDMETHODCALLTYPE *EnumAdapters )(
1722  IDXGIFactory2 * This,
1723  /* [in] */ UINT Adapter,
1724  /* [annotation][out] */
1725  _COM_Outptr_ IDXGIAdapter **ppAdapter);
1726 
1727  HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )(
1728  IDXGIFactory2 * This,
1730  UINT Flags);
1731 
1732  HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )(
1733  IDXGIFactory2 * This,
1734  /* [annotation][out] */
1735  _Out_ HWND *pWindowHandle);
1736 
1737  HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )(
1738  IDXGIFactory2 * This,
1739  /* [annotation][in] */
1740  _In_ IUnknown *pDevice,
1741  /* [annotation][in] */
1743  /* [annotation][out] */
1744  _COM_Outptr_ IDXGISwapChain **ppSwapChain);
1745 
1746  HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )(
1747  IDXGIFactory2 * This,
1748  /* [in] */ HMODULE Module,
1749  /* [annotation][out] */
1750  _COM_Outptr_ IDXGIAdapter **ppAdapter);
1751 
1752  HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )(
1753  IDXGIFactory2 * This,
1754  /* [in] */ UINT Adapter,
1755  /* [annotation][out] */
1756  _COM_Outptr_ IDXGIAdapter1 **ppAdapter);
1757 
1758  BOOL ( STDMETHODCALLTYPE *IsCurrent )(
1759  IDXGIFactory2 * This);
1760 
1761  BOOL ( STDMETHODCALLTYPE *IsWindowedStereoEnabled )(
1762  IDXGIFactory2 * This);
1763 
1764  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForHwnd )(
1765  IDXGIFactory2 * This,
1766  /* [annotation][in] */
1767  _In_ IUnknown *pDevice,
1768  /* [annotation][in] */
1769  _In_ HWND hWnd,
1770  /* [annotation][in] */
1771  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1772  /* [annotation][in] */
1774  /* [annotation][in] */
1775  _In_opt_ IDXGIOutput *pRestrictToOutput,
1776  /* [annotation][out] */
1777  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1778 
1779  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCoreWindow )(
1780  IDXGIFactory2 * This,
1781  /* [annotation][in] */
1782  _In_ IUnknown *pDevice,
1783  /* [annotation][in] */
1784  _In_ IUnknown *pWindow,
1785  /* [annotation][in] */
1786  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1787  /* [annotation][in] */
1788  _In_opt_ IDXGIOutput *pRestrictToOutput,
1789  /* [annotation][out] */
1790  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1791 
1792  HRESULT ( STDMETHODCALLTYPE *GetSharedResourceAdapterLuid )(
1793  IDXGIFactory2 * This,
1794  /* [annotation] */
1795  _In_ HANDLE hResource,
1796  /* [annotation] */
1797  _Out_ LUID *pLuid);
1798 
1799  HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusWindow )(
1800  IDXGIFactory2 * This,
1801  /* [annotation][in] */
1802  _In_ HWND WindowHandle,
1803  /* [annotation][in] */
1804  _In_ UINT wMsg,
1805  /* [annotation][out] */
1806  _Out_ DWORD *pdwCookie);
1807 
1808  HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusEvent )(
1809  IDXGIFactory2 * This,
1810  /* [annotation][in] */
1811  _In_ HANDLE hEvent,
1812  /* [annotation][out] */
1813  _Out_ DWORD *pdwCookie);
1814 
1815  void ( STDMETHODCALLTYPE *UnregisterStereoStatus )(
1816  IDXGIFactory2 * This,
1817  /* [annotation][in] */
1818  _In_ DWORD dwCookie);
1819 
1820  HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusWindow )(
1821  IDXGIFactory2 * This,
1822  /* [annotation][in] */
1823  _In_ HWND WindowHandle,
1824  /* [annotation][in] */
1825  _In_ UINT wMsg,
1826  /* [annotation][out] */
1827  _Out_ DWORD *pdwCookie);
1828 
1829  HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusEvent )(
1830  IDXGIFactory2 * This,
1831  /* [annotation][in] */
1832  _In_ HANDLE hEvent,
1833  /* [annotation][out] */
1834  _Out_ DWORD *pdwCookie);
1835 
1836  void ( STDMETHODCALLTYPE *UnregisterOcclusionStatus )(
1837  IDXGIFactory2 * This,
1838  /* [annotation][in] */
1839  _In_ DWORD dwCookie);
1840 
1841  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForComposition )(
1842  IDXGIFactory2 * This,
1843  /* [annotation][in] */
1844  _In_ IUnknown *pDevice,
1845  /* [annotation][in] */
1846  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1847  /* [annotation][in] */
1848  _In_opt_ IDXGIOutput *pRestrictToOutput,
1849  /* [annotation][out] */
1850  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1851 
1852  END_INTERFACE
1854 
1855  interface IDXGIFactory2
1856  {
1857  CONST_VTBL struct IDXGIFactory2Vtbl *lpVtbl;
1858  };
1859 
1860 
1861 
1862 #ifdef COBJMACROS
1863 
1864 
1865 #define IDXGIFactory2_QueryInterface(This,riid,ppvObject) \
1866  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1867 
1868 #define IDXGIFactory2_AddRef(This) \
1869  ( (This)->lpVtbl -> AddRef(This) )
1870 
1871 #define IDXGIFactory2_Release(This) \
1872  ( (This)->lpVtbl -> Release(This) )
1873 
1874 
1875 #define IDXGIFactory2_SetPrivateData(This,Name,DataSize,pData) \
1876  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1877 
1878 #define IDXGIFactory2_SetPrivateDataInterface(This,Name,pUnknown) \
1879  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1880 
1881 #define IDXGIFactory2_GetPrivateData(This,Name,pDataSize,pData) \
1882  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1883 
1884 #define IDXGIFactory2_GetParent(This,riid,ppParent) \
1885  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1886 
1887 
1888 #define IDXGIFactory2_EnumAdapters(This,Adapter,ppAdapter) \
1889  ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) )
1890 
1891 #define IDXGIFactory2_MakeWindowAssociation(This,WindowHandle,Flags) \
1892  ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) )
1893 
1894 #define IDXGIFactory2_GetWindowAssociation(This,pWindowHandle) \
1895  ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) )
1896 
1897 #define IDXGIFactory2_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \
1898  ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) )
1899 
1900 #define IDXGIFactory2_CreateSoftwareAdapter(This,Module,ppAdapter) \
1901  ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) )
1902 
1903 
1904 #define IDXGIFactory2_EnumAdapters1(This,Adapter,ppAdapter) \
1905  ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) )
1906 
1907 #define IDXGIFactory2_IsCurrent(This) \
1908  ( (This)->lpVtbl -> IsCurrent(This) )
1909 
1910 
1911 #define IDXGIFactory2_IsWindowedStereoEnabled(This) \
1912  ( (This)->lpVtbl -> IsWindowedStereoEnabled(This) )
1913 
1914 #define IDXGIFactory2_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) \
1915  ( (This)->lpVtbl -> CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) )
1916 
1917 #define IDXGIFactory2_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) \
1918  ( (This)->lpVtbl -> CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) )
1919 
1920 #define IDXGIFactory2_GetSharedResourceAdapterLuid(This,hResource,pLuid) \
1921  ( (This)->lpVtbl -> GetSharedResourceAdapterLuid(This,hResource,pLuid) )
1922 
1923 #define IDXGIFactory2_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) \
1924  ( (This)->lpVtbl -> RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) )
1925 
1926 #define IDXGIFactory2_RegisterStereoStatusEvent(This,hEvent,pdwCookie) \
1927  ( (This)->lpVtbl -> RegisterStereoStatusEvent(This,hEvent,pdwCookie) )
1928 
1929 #define IDXGIFactory2_UnregisterStereoStatus(This,dwCookie) \
1930  ( (This)->lpVtbl -> UnregisterStereoStatus(This,dwCookie) )
1931 
1932 #define IDXGIFactory2_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) \
1933  ( (This)->lpVtbl -> RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) )
1934 
1935 #define IDXGIFactory2_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) \
1936  ( (This)->lpVtbl -> RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) )
1937 
1938 #define IDXGIFactory2_UnregisterOcclusionStatus(This,dwCookie) \
1939  ( (This)->lpVtbl -> UnregisterOcclusionStatus(This,dwCookie) )
1940 
1941 #define IDXGIFactory2_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) \
1942  ( (This)->lpVtbl -> CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) )
1943 
1944 #endif /* COBJMACROS */
1945 
1946 
1947 #endif /* C style interface */
1948 
1949 
1950 
1951 
1952 #endif /* __IDXGIFactory2_INTERFACE_DEFINED__ */
1953 
1954 
1955 /* interface __MIDL_itf_dxgi1_2_0000_0007 */
1956 /* [local] */
1957 
1958 typedef
1960  {
1967 
1968 typedef
1970  {
1977 
1978 typedef struct DXGI_ADAPTER_DESC2
1979  {
1980  WCHAR Description[ 128 ];
1993 
1994 
1995 
1996 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0007_v0_0_c_ifspec;
1997 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0007_v0_0_s_ifspec;
1998 
1999 #ifndef __IDXGIAdapter2_INTERFACE_DEFINED__
2000 #define __IDXGIAdapter2_INTERFACE_DEFINED__
2001 
2002 /* interface IDXGIAdapter2 */
2003 /* [unique][local][uuid][object] */
2004 
2005 
2006 EXTERN_C const IID IID_IDXGIAdapter2;
2007 
2008 #if defined(__cplusplus) && !defined(CINTERFACE)
2009 
2010  MIDL_INTERFACE("0AA1AE0A-FA0E-4B84-8644-E05FF8E5ACB5")
2011  IDXGIAdapter2 : public IDXGIAdapter1
2012  {
2013  public:
2014  virtual HRESULT STDMETHODCALLTYPE GetDesc2(
2015  /* [annotation][out] */
2016  _Out_ DXGI_ADAPTER_DESC2 *pDesc) = 0;
2017 
2018  };
2019 
2020 
2021 #else /* C style interface */
2022 
2023  typedef struct IDXGIAdapter2Vtbl
2024  {
2025  BEGIN_INTERFACE
2026 
2027  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2028  IDXGIAdapter2 * This,
2029  /* [in] */ REFIID riid,
2030  /* [annotation][iid_is][out] */
2031  _COM_Outptr_ void **ppvObject);
2032 
2033  ULONG ( STDMETHODCALLTYPE *AddRef )(
2034  IDXGIAdapter2 * This);
2035 
2036  ULONG ( STDMETHODCALLTYPE *Release )(
2037  IDXGIAdapter2 * This);
2038 
2039  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2040  IDXGIAdapter2 * This,
2041  /* [annotation][in] */
2042  _In_ REFGUID Name,
2043  /* [in] */ UINT DataSize,
2044  /* [annotation][in] */
2045  _In_reads_bytes_(DataSize) const void *pData);
2046 
2047  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2048  IDXGIAdapter2 * This,
2049  /* [annotation][in] */
2050  _In_ REFGUID Name,
2051  /* [annotation][in] */
2052  _In_opt_ const IUnknown *pUnknown);
2053 
2054  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2055  IDXGIAdapter2 * This,
2056  /* [annotation][in] */
2057  _In_ REFGUID Name,
2058  /* [annotation][out][in] */
2059  _Inout_ UINT *pDataSize,
2060  /* [annotation][out] */
2061  _Out_writes_bytes_(*pDataSize) void *pData);
2062 
2063  HRESULT ( STDMETHODCALLTYPE *GetParent )(
2064  IDXGIAdapter2 * This,
2065  /* [annotation][in] */
2066  _In_ REFIID riid,
2067  /* [annotation][retval][out] */
2068  _COM_Outptr_ void **ppParent);
2069 
2070  HRESULT ( STDMETHODCALLTYPE *EnumOutputs )(
2071  IDXGIAdapter2 * This,
2072  /* [in] */ UINT Output,
2073  /* [annotation][out][in] */
2074  _COM_Outptr_ IDXGIOutput **ppOutput);
2075 
2076  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
2077  IDXGIAdapter2 * This,
2078  /* [annotation][out] */
2080 
2081  HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )(
2082  IDXGIAdapter2 * This,
2083  /* [annotation][in] */
2084  _In_ REFGUID InterfaceName,
2085  /* [annotation][out] */
2086  _Out_ LARGE_INTEGER *pUMDVersion);
2087 
2088  HRESULT ( STDMETHODCALLTYPE *GetDesc1 )(
2089  IDXGIAdapter2 * This,
2090  /* [annotation][out] */
2092 
2093  HRESULT ( STDMETHODCALLTYPE *GetDesc2 )(
2094  IDXGIAdapter2 * This,
2095  /* [annotation][out] */
2097 
2098  END_INTERFACE
2100 
2101  interface IDXGIAdapter2
2102  {
2103  CONST_VTBL struct IDXGIAdapter2Vtbl *lpVtbl;
2104  };
2105 
2106 
2107 
2108 #ifdef COBJMACROS
2109 
2110 
2111 #define IDXGIAdapter2_QueryInterface(This,riid,ppvObject) \
2112  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2113 
2114 #define IDXGIAdapter2_AddRef(This) \
2115  ( (This)->lpVtbl -> AddRef(This) )
2116 
2117 #define IDXGIAdapter2_Release(This) \
2118  ( (This)->lpVtbl -> Release(This) )
2119 
2120 
2121 #define IDXGIAdapter2_SetPrivateData(This,Name,DataSize,pData) \
2122  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
2123 
2124 #define IDXGIAdapter2_SetPrivateDataInterface(This,Name,pUnknown) \
2125  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
2126 
2127 #define IDXGIAdapter2_GetPrivateData(This,Name,pDataSize,pData) \
2128  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
2129 
2130 #define IDXGIAdapter2_GetParent(This,riid,ppParent) \
2131  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
2132 
2133 
2134 #define IDXGIAdapter2_EnumOutputs(This,Output,ppOutput) \
2135  ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) )
2136 
2137 #define IDXGIAdapter2_GetDesc(This,pDesc) \
2138  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
2139 
2140 #define IDXGIAdapter2_CheckInterfaceSupport(This,InterfaceName,pUMDVersion) \
2141  ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) )
2142 
2143 
2144 #define IDXGIAdapter2_GetDesc1(This,pDesc) \
2145  ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
2146 
2147 
2148 #define IDXGIAdapter2_GetDesc2(This,pDesc) \
2149  ( (This)->lpVtbl -> GetDesc2(This,pDesc) )
2150 
2151 #endif /* COBJMACROS */
2152 
2153 
2154 #endif /* C style interface */
2155 
2156 
2157 
2158 
2159 #endif /* __IDXGIAdapter2_INTERFACE_DEFINED__ */
2160 
2161 
2162 #ifndef __IDXGIOutput1_INTERFACE_DEFINED__
2163 #define __IDXGIOutput1_INTERFACE_DEFINED__
2164 
2165 /* interface IDXGIOutput1 */
2166 /* [unique][local][uuid][object] */
2167 
2168 
2169 EXTERN_C const IID IID_IDXGIOutput1;
2170 
2171 #if defined(__cplusplus) && !defined(CINTERFACE)
2172 
2173  MIDL_INTERFACE("00cddea8-939b-4b83-a340-a685226666cc")
2174  IDXGIOutput1 : public IDXGIOutput
2175  {
2176  public:
2177  virtual HRESULT STDMETHODCALLTYPE GetDisplayModeList1(
2178  /* [in] */ DXGI_FORMAT EnumFormat,
2179  /* [in] */ UINT Flags,
2180  /* [annotation][out][in] */
2181  _Inout_ UINT *pNumModes,
2182  /* [annotation][out] */
2183  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC1 *pDesc) = 0;
2184 
2185  virtual HRESULT STDMETHODCALLTYPE FindClosestMatchingMode1(
2186  /* [annotation][in] */
2187  _In_ const DXGI_MODE_DESC1 *pModeToMatch,
2188  /* [annotation][out] */
2189  _Out_ DXGI_MODE_DESC1 *pClosestMatch,
2190  /* [annotation][in] */
2191  _In_opt_ IUnknown *pConcernedDevice) = 0;
2192 
2193  virtual HRESULT STDMETHODCALLTYPE GetDisplaySurfaceData1(
2194  /* [annotation][in] */
2195  _In_ IDXGIResource *pDestination) = 0;
2196 
2197  virtual HRESULT STDMETHODCALLTYPE DuplicateOutput(
2198  /* [annotation][in] */
2199  _In_ IUnknown *pDevice,
2200  /* [annotation][out] */
2201  _COM_Outptr_ IDXGIOutputDuplication **ppOutputDuplication) = 0;
2202 
2203  };
2204 
2205 
2206 #else /* C style interface */
2207 
2208  typedef struct IDXGIOutput1Vtbl
2209  {
2210  BEGIN_INTERFACE
2211 
2212  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2213  IDXGIOutput1 * This,
2214  /* [in] */ REFIID riid,
2215  /* [annotation][iid_is][out] */
2216  _COM_Outptr_ void **ppvObject);
2217 
2218  ULONG ( STDMETHODCALLTYPE *AddRef )(
2219  IDXGIOutput1 * This);
2220 
2221  ULONG ( STDMETHODCALLTYPE *Release )(
2222  IDXGIOutput1 * This);
2223 
2224  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2225  IDXGIOutput1 * This,
2226  /* [annotation][in] */
2227  _In_ REFGUID Name,
2228  /* [in] */ UINT DataSize,
2229  /* [annotation][in] */
2230  _In_reads_bytes_(DataSize) const void *pData);
2231 
2232  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2233  IDXGIOutput1 * This,
2234  /* [annotation][in] */
2235  _In_ REFGUID Name,
2236  /* [annotation][in] */
2237  _In_opt_ const IUnknown *pUnknown);
2238 
2239  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2240  IDXGIOutput1 * This,
2241  /* [annotation][in] */
2242  _In_ REFGUID Name,
2243  /* [annotation][out][in] */
2244  _Inout_ UINT *pDataSize,
2245  /* [annotation][out] */
2246  _Out_writes_bytes_(*pDataSize) void *pData);
2247 
2248  HRESULT ( STDMETHODCALLTYPE *GetParent )(
2249  IDXGIOutput1 * This,
2250  /* [annotation][in] */
2251  _In_ REFIID riid,
2252  /* [annotation][retval][out] */
2253  _COM_Outptr_ void **ppParent);
2254 
2255  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
2256  IDXGIOutput1 * This,
2257  /* [annotation][out] */
2259 
2260  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )(
2261  IDXGIOutput1 * This,
2263  /* [in] */ UINT Flags,
2264  /* [annotation][out][in] */
2265  _Inout_ UINT *pNumModes,
2266  /* [annotation][out] */
2267  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC *pDesc);
2268 
2269  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )(
2270  IDXGIOutput1 * This,
2271  /* [annotation][in] */
2273  /* [annotation][out] */
2275  /* [annotation][in] */
2276  _In_opt_ IUnknown *pConcernedDevice);
2277 
2278  HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )(
2279  IDXGIOutput1 * This);
2280 
2281  HRESULT ( STDMETHODCALLTYPE *TakeOwnership )(
2282  IDXGIOutput1 * This,
2283  /* [annotation][in] */
2284  _In_ IUnknown *pDevice,
2285  BOOL Exclusive);
2286 
2287  void ( STDMETHODCALLTYPE *ReleaseOwnership )(
2288  IDXGIOutput1 * This);
2289 
2290  HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )(
2291  IDXGIOutput1 * This,
2292  /* [annotation][out] */
2294 
2295  HRESULT ( STDMETHODCALLTYPE *SetGammaControl )(
2296  IDXGIOutput1 * This,
2297  /* [annotation][in] */
2299 
2300  HRESULT ( STDMETHODCALLTYPE *GetGammaControl )(
2301  IDXGIOutput1 * This,
2302  /* [annotation][out] */
2304 
2305  HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )(
2306  IDXGIOutput1 * This,
2307  /* [annotation][in] */
2309 
2310  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )(
2311  IDXGIOutput1 * This,
2312  /* [annotation][in] */
2314 
2315  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
2316  IDXGIOutput1 * This,
2317  /* [annotation][out] */
2319 
2320  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )(
2321  IDXGIOutput1 * This,
2322  /* [in] */ DXGI_FORMAT EnumFormat,
2323  /* [in] */ UINT Flags,
2324  /* [annotation][out][in] */
2325  _Inout_ UINT *pNumModes,
2326  /* [annotation][out] */
2327  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC1 *pDesc);
2328 
2329  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )(
2330  IDXGIOutput1 * This,
2331  /* [annotation][in] */
2333  /* [annotation][out] */
2335  /* [annotation][in] */
2336  _In_opt_ IUnknown *pConcernedDevice);
2337 
2338  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )(
2339  IDXGIOutput1 * This,
2340  /* [annotation][in] */
2342 
2343  HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )(
2344  IDXGIOutput1 * This,
2345  /* [annotation][in] */
2346  _In_ IUnknown *pDevice,
2347  /* [annotation][out] */
2349 
2350  END_INTERFACE
2351  } IDXGIOutput1Vtbl;
2352 
2353  interface IDXGIOutput1
2354  {
2355  CONST_VTBL struct IDXGIOutput1Vtbl *lpVtbl;
2356  };
2357 
2358 
2359 
2360 #ifdef COBJMACROS
2361 
2362 
2363 #define IDXGIOutput1_QueryInterface(This,riid,ppvObject) \
2364  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2365 
2366 #define IDXGIOutput1_AddRef(This) \
2367  ( (This)->lpVtbl -> AddRef(This) )
2368 
2369 #define IDXGIOutput1_Release(This) \
2370  ( (This)->lpVtbl -> Release(This) )
2371 
2372 
2373 #define IDXGIOutput1_SetPrivateData(This,Name,DataSize,pData) \
2374  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
2375 
2376 #define IDXGIOutput1_SetPrivateDataInterface(This,Name,pUnknown) \
2377  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
2378 
2379 #define IDXGIOutput1_GetPrivateData(This,Name,pDataSize,pData) \
2380  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
2381 
2382 #define IDXGIOutput1_GetParent(This,riid,ppParent) \
2383  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
2384 
2385 
2386 #define IDXGIOutput1_GetDesc(This,pDesc) \
2387  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
2388 
2389 #define IDXGIOutput1_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) \
2390  ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) )
2391 
2392 #define IDXGIOutput1_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
2393  ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
2394 
2395 #define IDXGIOutput1_WaitForVBlank(This) \
2396  ( (This)->lpVtbl -> WaitForVBlank(This) )
2397 
2398 #define IDXGIOutput1_TakeOwnership(This,pDevice,Exclusive) \
2399  ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) )
2400 
2401 #define IDXGIOutput1_ReleaseOwnership(This) \
2402  ( (This)->lpVtbl -> ReleaseOwnership(This) )
2403 
2404 #define IDXGIOutput1_GetGammaControlCapabilities(This,pGammaCaps) \
2405  ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) )
2406 
2407 #define IDXGIOutput1_SetGammaControl(This,pArray) \
2408  ( (This)->lpVtbl -> SetGammaControl(This,pArray) )
2409 
2410 #define IDXGIOutput1_GetGammaControl(This,pArray) \
2411  ( (This)->lpVtbl -> GetGammaControl(This,pArray) )
2412 
2413 #define IDXGIOutput1_SetDisplaySurface(This,pScanoutSurface) \
2414  ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) )
2415 
2416 #define IDXGIOutput1_GetDisplaySurfaceData(This,pDestination) \
2417  ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) )
2418 
2419 #define IDXGIOutput1_GetFrameStatistics(This,pStats) \
2420  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
2421 
2422 
2423 #define IDXGIOutput1_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) \
2424  ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) )
2425 
2426 #define IDXGIOutput1_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
2427  ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
2428 
2429 #define IDXGIOutput1_GetDisplaySurfaceData1(This,pDestination) \
2430  ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) )
2431 
2432 #define IDXGIOutput1_DuplicateOutput(This,pDevice,ppOutputDuplication) \
2433  ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) )
2434 
2435 #endif /* COBJMACROS */
2436 
2437 
2438 #endif /* C style interface */
2439 
2440 
2441 
2442 
2443 #endif /* __IDXGIOutput1_INTERFACE_DEFINED__ */
2444 
2445 
2446 /* interface __MIDL_itf_dxgi1_2_0000_0009 */
2447 /* [local] */
2448 
2449 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
2450 /*#pragma endregion*/
2451 DEFINE_GUID(IID_IDXGIDisplayControl,0xea9dbf1a,0xc88e,0x4486,0x85,0x4a,0x98,0xaa,0x01,0x38,0xf3,0x0c);
2452 DEFINE_GUID(IID_IDXGIOutputDuplication,0x191cfac3,0xa341,0x470d,0xb2,0x6e,0xa8,0x64,0xf4,0x28,0x31,0x9c);
2453 DEFINE_GUID(IID_IDXGISurface2,0xaba496dd,0xb617,0x4cb8,0xa8,0x66,0xbc,0x44,0xd7,0xeb,0x1f,0xa2);
2454 DEFINE_GUID(IID_IDXGIResource1,0x30961379,0x4609,0x4a41,0x99,0x8e,0x54,0xfe,0x56,0x7e,0xe0,0xc1);
2455 DEFINE_GUID(IID_IDXGIDevice2,0x05008617,0xfbfd,0x4051,0xa7,0x90,0x14,0x48,0x84,0xb4,0xf6,0xa9);
2456 DEFINE_GUID(IID_IDXGISwapChain1,0x790a45f7,0x0d42,0x4876,0x98,0x3a,0x0a,0x55,0xcf,0xe6,0xf4,0xaa);
2457 DEFINE_GUID(IID_IDXGIFactory2,0x50c83a1c,0xe072,0x4c48,0x87,0xb0,0x36,0x30,0xfa,0x36,0xa6,0xd0);
2458 DEFINE_GUID(IID_IDXGIAdapter2,0x0AA1AE0A,0xFA0E,0x4B84,0x86,0x44,0xE0,0x5F,0xF8,0xE5,0xAC,0xB5);
2459 DEFINE_GUID(IID_IDXGIOutput1,0x00cddea8,0x939b,0x4b83,0xa3,0x40,0xa6,0x85,0x22,0x66,0x66,0xcc);
2460 
2461 
2462 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0009_v0_0_c_ifspec;
2463 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0009_v0_0_s_ifspec;
2464 
2465 /* Additional Prototypes for ALL interfaces */
2466 
2467 /* end of Additional Prototypes */
2468 
2469 #ifdef __cplusplus
2470 }
2471 #endif
2472 
2473 #endif
2474 
2475 
_In_ REFGUID UINT DataSize
Definition: dxgi1_2.h:984
DXGI_SCALING
Definition: dxgi1_2.h:1178
UINT Flags
Definition: dxgi1_2.h:1198
UINT UINT Width
Definition: dxgi1_2.h:1376
_Out_opt_ BOOL _COM_Outptr_opt_result_maybenull_ IDXGIOutput ** ppTarget
Definition: dxgi1_2.h:1365
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:2214
BOOL(STDMETHODCALLTYPE *IsCurrent)(IDXGIFactory2 *This)
DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity
Definition: dxgi1_2.h:1990
_In_ REFIID refiid
Definition: dxgi1_2.h:1420
_In_ DWORD dwCookie
Definition: dxgi1_2.h:1818
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0002_v0_0_c_ifspec
UINT UINT _In_ const DXGI_PRESENT_PARAMETERS * pPresentParameters
Definition: dxgi1_2.h:1426
DXGI_MODE_ROTATION Rotation
Definition: dxgi1_2.h:224
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE Usage
Definition: dxgi1_2.h:1020
Definition: dxgi1_2.h:238
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_2.h:2235
UINT _COM_Outptr_ IDXGISurface2 ** ppSurface
Definition: dxgi1_2.h:824
Definition: dxgi1_2.h:2208
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:1295
Definition: dxgi1_2.h:1964
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIDisplayControl *This
BOOL RectsCoalesced
Definition: dxgi1_2.h:256
UINT Pitch
Definition: dxgi1_2.h:247
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:562
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIAdapter2 *This)
_Out_ UINT * pLastPresentCount
Definition: dxgi1_2.h:1400
_Out_ DXGI_OUTPUT_DESC * pDesc
Definition: dxgi1_2.h:2258
DXGI_OUTDUPL_POINTER_SHAPE_TYPE
Definition: dxgi1_2.h:234
struct DXGI_OUTDUPL_POINTER_POSITION DXGI_OUTDUPL_POINTER_POSITION
Definition: dxgi1_2.h:1183
interface IDXGIFactory1 IDXGIFactory1
Definition: dxgi.h:121
_In_ REFIID _COM_Outptr_ void ** ppParentResource
Definition: dxgi1_2.h:638
_In_ IUnknown _In_ HWND _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC * pFullscreenDesc
Definition: dxgi1_2.h:1767
interface IDXGIOutputDuplication IDXGIOutputDuplication
Definition: dxgi1_2.h:51
interface IDXGIResource IDXGIResource
Definition: dxgi.h:58
_In_ HANDLE hEvent
Definition: dxgi1_2.h:1075
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISurface2 *This)
_In_ IUnknown _In_ HWND _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_2.h:1767
_In_ UINT _Out_ UINT _Out_ DXGI_OUTDUPL_POINTER_SHAPE_INFO * pPointerShapeInfo
Definition: dxgi1_2.h:420
_COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi1_2.h:1390
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0001_v0_0_c_ifspec
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_2.h:2246
_In_ REFIID riid
Definition: dxgi1_2.h:2066
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE * pSharedResource
Definition: dxgi1_2.h:1020
Definition: dxgi1_2.h:915
_In_ IUnknown _In_ IUnknown * pWindow
Definition: dxgi1_2.h:1782
BOOL Visible
Definition: dxgi1_2.h:231
_In_ const DXGI_MODE_DESC * pModeToMatch
Definition: dxgi1_2.h:2272
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_2.h:1717
BOOL Windowed
Definition: dxgi1_2.h:1206
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISwapChain1 *This
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0007_v0_0_s_ifspec
DEFINE_GUID(IID_IDXGIDisplayControl, 0xea9dbf1a, 0xc88e, 0x4486, 0x85, 0x4a, 0x98, 0xaa, 0x01, 0x38, 0xf3, 0x0c)
SIZE_T SharedSystemMemory
Definition: dxgi1_2.h:1987
struct IDXGISurface2Vtbl IDXGISurface2Vtbl
_Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus
_In_ DXGI_MODE_ROTATION Rotation
Definition: dxgi1_2.h:1452
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_2.h:777
Definition: dxgi1_2.h:1974
_In_ const DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_2.h:2298
_Out_ DXGI_MAPPED_RECT * pLockedRect
Definition: dxgi1_2.h:618
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_2.h:1332
Definition: dxgi1_2.h:916
_In_ UINT _Out_ DXGI_OUTDUPL_FRAME_INFO _COM_Outptr_ IDXGIResource ** ppDesktopResource
Definition: dxgi1_2.h:389
DXGI_MODE_SCALING Scaling
Definition: dxgi1_2.h:1174
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_2.h:1327
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0004_v0_0_s_ifspec
UINT _In_ REFIID riid
Definition: dxgi1_2.h:1350
_In_ HANDLE _Out_ DWORD * pdwCookie
Definition: dxgi1_2.h:1811
DXGI_FORMAT EnumFormat
Definition: dxgi1_2.h:2262
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_2.h:788
EXTERN_C const IID IID_IDXGIResource1
Definition: dxgi1_2.h:722
DXGI_MODE_DESC ModeDesc
Definition: dxgi1_2.h:223
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_2.h:2066
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC _In_opt_ IUnknown * pConcernedDevice
Definition: dxgi1_2.h:2272
EXTERN_C const IID IID_IDXGIDisplayControl
Definition: dxgi1_2.h:131
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0009_v0_0_c_ifspec
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIOutput1 *This)
Definition: dxgi.h:178
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:562
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_2.h:1323
_In_ IUnknown * pDevice
Definition: dxgi1_2.h:1740
Definition: dxgitype.h:75
_In_ UINT _Out_ UINT * pPointerShapeBufferSizeRequired
Definition: dxgi1_2.h:420
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
Definition: dxgi1_2.h:228
POINT SourcePoint
Definition: dxgi1_2.h:217
_In_ UINT _Out_writes_bytes_to_(DirtyRectsBufferSize, *pDirtyRectsBufferSizeRequired) RECT *pDirtyRectsBuffer
struct DXGI_PRESENT_PARAMETERS DXGI_PRESENT_PARAMETERS
_In_ REFGUID Name
Definition: dxgi1_2.h:353
EXTERN_C const IID IID_IDXGIAdapter2
Definition: dxgi1_2.h:2006
UINT NumResources
Definition: dxgi1_2.h:1034
void(STDMETHODCALLTYPE *SetStereoEnabled)(IDXGIDisplayControl *This
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_2.h:992
_Out_ DXGI_MAPPED_RECT * pLockedRect
Definition: dxgi1_2.h:427
UINT Width
Definition: dxgi1_2.h:1169
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:1680
_In_ REFGUID UINT DataSize
Definition: dxgi1_2.h:1693
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:971
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIFactory2 *This
DXGI_COMPUTE_PREEMPTION_GRANULARITY
Definition: dxgi1_2.h:1968
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISurface2 *This
_In_ REFGUID UINT DataSize
Definition: dxgi1_2.h:1308
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0005_v0_0_s_ifspec
_In_ IUnknown _In_ HWND hWnd
Definition: dxgi1_2.h:1767
_In_ IDXGISurface * pDestination
Definition: dxgi1_2.h:2313
_In_reads_(NumResources) IUnknown *const *ppResources
WCHAR Description[128]
Definition: dxgi1_2.h:1980
_In_ REFGUID Name
Definition: dxgi1_2.h:984
UINT AccumulatedFrames
Definition: dxgi1_2.h:255
_In_ IUnknown _COM_Outptr_ IDXGIOutputDuplication ** ppOutputDuplication
Definition: dxgi1_2.h:2346
UINT BufferCount
Definition: dxgi1_2.h:1194
_Field_size_full_opt_(DirtyRectsCount) RECT *pDirtyRects
Definition: dxgi1_2.h:520
UINT Buffer
Definition: dxgi1_2.h:1350
interface IDXGIDisplayControl IDXGIDisplayControl
Definition: dxgi1_2.h:44
UINT DXGI_USAGE
Definition: dxgi.h:167
UINT MaxLatency
Definition: dxgi1_2.h:1047
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
Definition: dxgicommon.h:19
BOOL Stereo
Definition: dxgi1_2.h:1191
_Out_ HWND * pWindowHandle
Definition: dxgi1_2.h:1735
Definition: dxgi.h:2376
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
Definition: dxgi.h:285
struct DXGI_OUTDUPL_MOVE_RECT DXGI_OUTDUPL_MOVE_RECT
Definition: dxgi1_2.h:750
_In_ HWND _In_ UINT _Out_ DWORD * pdwCookie
Definition: dxgi1_2.h:1802
Definition: dxgi1_2.h:2023
DXGI_MODE_SCANLINE_ORDER ScanlineOrdering
Definition: dxgi1_2.h:1173
UINT VendorId
Definition: dxgi1_2.h:1981
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:756
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:2029
_In_ UINT PointerShapeBufferSize
Definition: dxgi1_2.h:416
DXGI_OUTDUPL_POINTER_POSITION PointerPosition
Definition: dxgi1_2.h:258
_Out_ DXGI_OUTDUPL_DESC * pDesc
Definition: dxgi1_2.h:384
HWND WindowHandle
Definition: dxgi1_2.h:1729
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_2.h:2242
_Out_ DXGI_RGBA * pColor
Definition: dxgi1_2.h:1447
struct IDXGIDisplayControlVtbl IDXGIDisplayControlVtbl
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
interface IDXGIAdapter2 IDXGIAdapter2
Definition: dxgi1_2.h:93
UINT Width
Definition: dxgi1_2.h:245
_Out_ DXGI_ADAPTER_DESC2 * pDesc
Definition: dxgi1_2.h:2096
DXGI_FORMAT
Definition: dxgiformat.h:10
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_2.h:2050
_In_ HWND _In_ UINT wMsg
Definition: dxgi1_2.h:1802
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIResource1 *This
struct DXGI_MODE_DESC1 DXGI_MODE_DESC1
interface IDXGIOutput1 IDXGIOutput1
Definition: dxgi1_2.h:100
interface IDXGISurface IDXGISurface
Definition: d2d1.h:53
UINT UINT Flags
Definition: dxgi1_2.h:1345
DXGI_FORMAT UINT _Inout_ UINT * pNumModes
Definition: dxgi1_2.h:2262
UINT Flags
Definition: dxgi1_2.h:1989
_Out_ DXGI_SWAP_CHAIN_DESC1 * pDesc
Definition: dxgi1_2.h:1405
BOOL Fullscreen
Definition: dxgi1_2.h:1358
_Out_ DXGI_ADAPTER_DESC * pDesc
Definition: dxgi1_2.h:2079
void(STDMETHODCALLTYPE *ReleaseOwnership)(IDXGIOutput1 *This)
Definition: dxgi1_2.h:149
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0000_v0_0_c_ifspec
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_2.h:2251
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIFactory2 *This)
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:8417
Definition: dxgi1_2.h:1209
SIZE_T DedicatedVideoMemory
Definition: dxgi1_2.h:1985
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_2.h:1712
_In_ UINT _Out_ DXGI_OUTDUPL_FRAME_INFO * pFrameInfo
Definition: dxgi1_2.h:389
EXTERN_C const IID IID_IDXGISurface2
Definition: dxgi1_2.h:535
UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi1_2.h:2072
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0001_v0_0_s_ifspec
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:2214
DXGI_SWAP_EFFECT SwapEffect
Definition: dxgi1_2.h:1196
_In_ UINT _Out_ UINT * pDirtyRectsBufferSizeRequired
Definition: dxgi1_2.h:402
struct DXGI_OUTDUPL_DESC DXGI_OUTDUPL_DESC
Definition: dxgicommon.h:9
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0004_v0_0_c_ifspec
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_2.h:2061
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:756
_In_ const DXGI_SURFACE_DESC * pDesc
Definition: dxgi1_2.h:1020
UINT index
Definition: dxgi1_2.h:824
_In_ UINT MoveRectsBufferSize
Definition: dxgi1_2.h:407
interface IDXGISwapChain1 IDXGISwapChain1
Definition: dxgi1_2.h:79
struct IDXGIDevice2Vtbl IDXGIDevice2Vtbl
Definition: dxgi1_2.h:1978
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_2.h:599
DXGI_MODE_SCANLINE_ORDER
Definition: dxgitype.h:91
interface IDXGISwapChain IDXGISwapChain
Definition: dxgi.h:100
_In_ REFGUID InterfaceName
Definition: dxgi1_2.h:2084
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_2.h:377
_COM_Outptr_ IDXGIAdapter ** pAdapter
Definition: dxgi1_2.h:1015
_Out_ DXGI_ADAPTER_DESC1 * pDesc
Definition: dxgi1_2.h:2091
_In_ REFGUID UINT DataSize
Definition: dxgi1_2.h:2227
_In_ REFIID _COM_Outptr_ void _Out_ UINT * pSubresourceIndex
Definition: dxgi1_2.h:638
Definition: dxgi.h:218
UINT UINT PresentFlags
Definition: dxgi1_2.h:1426
Definition: dxgitype.h:115
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_2.h:372
EXTERN_C const IID IID_IDXGIOutputDuplication
Definition: dxgi1_2.h:275
Definition: dxgi1_2.h:251
HMODULE Module
Definition: dxgi1_2.h:1748
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIOutput1 *This
SIZE_T DedicatedSystemMemory
Definition: dxgi1_2.h:1986
_In_ REFGUID Name
Definition: dxgi1_2.h:769
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_2.h:1008
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIDisplayControl *This)
Definition: dxgi.h:169
BOOL(STDMETHODCALLTYPE *IsTemporaryMonoSupported)(IDXGISwapChain1 *This)
DXGI_SAMPLE_DESC SampleDesc
Definition: dxgi1_2.h:1192
interface IDXGIAdapter1 IDXGIAdapter1
Definition: dxgi.h:128
_In_opt_ const SECURITY_ATTRIBUTES _In_ DWORD _In_opt_ LPCWSTR _Out_ HANDLE * pHandle
Definition: dxgi1_2.h:831
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_2.h:361
Definition: dxgi1_2.h:221
_Out_ DXGI_MAPPED_RECT UINT MapFlags
Definition: dxgi1_2.h:618
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0005_v0_0_c_ifspec
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISwapChain1 *This)
_Out_ DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_2.h:2303
POINT Position
Definition: dxgi1_2.h:230
_In_ HANDLE hResource
Definition: dxgi1_2.h:1795
UINT Output
Definition: dxgi1_2.h:2072
_In_ const DXGI_SURFACE_DESC UINT NumSurfaces
Definition: dxgi1_2.h:1020
void(STDMETHODCALLTYPE *UnregisterStereoStatus)(IDXGIFactory2 *This
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:2029
struct IDXGIOutputDuplicationVtbl IDXGIOutputDuplicationVtbl
_In_ REFGUID Name
Definition: dxgi1_2.h:1308
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: dxgi1_2.h:1740
DXGI_FORMAT Format
Definition: dxgi1_2.h:1172
UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
Definition: dxgi1_2.h:1754
UINT UINT UINT DXGI_FORMAT NewFormat
Definition: dxgi1_2.h:1376
_In_ REFGUID Name
Definition: dxgi1_2.h:2227
_In_ const DXGI_RGBA * pColor
Definition: dxgi1_2.h:1442
DXGI_MODE_SCALING Scaling
Definition: dxgi1_2.h:1205
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:340
_In_ REFGUID UINT DataSize
Definition: dxgi1_2.h:2042
UINT SyncInterval
Definition: dxgi1_2.h:1345
UINT Height
Definition: dxgi1_2.h:246
interface IDXGIFactory2 IDXGIFactory2
Definition: dxgi1_2.h:86
Definition: dxgi1_2.h:519
_In_ REFIID riid
Definition: dxgi1_2.h:2251
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:155
_In_ IDXGIResource * pDestination
Definition: dxgi1_2.h:2341
_In_ IUnknown _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_2.h:1844
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_2.h:583
DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity
Definition: dxgi1_2.h:1991
UINT Revision
Definition: dxgi1_2.h:1984
_In_ REFIID riid
Definition: dxgi1_2.h:1008
_In_ const DXGI_MODE_DESC * pNewTargetParameters
Definition: dxgi1_2.h:1385
BOOL _Out_ HDC * phdc
Definition: dxgi1_2.h:626
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi1_2.h:1339
DXGI_ALPHA_MODE
Definition: dxgi1_2.h:513
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0002_v0_0_s_ifspec
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIOutputDuplication *This
Definition: dxgi1_2.h:1167
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi1_2.h:800
UINT PointerShapeBufferSize
Definition: dxgi1_2.h:260
BOOL enabled
Definition: dxgi1_2.h:170
UINT Width
Definition: dxgi1_2.h:1188
interface IDXGISurface1 IDXGISurface1
Definition: dxgi.h:79
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIResource1 *This)
Definition: dxgi.h:250
struct IDXGIFactory2Vtbl IDXGIFactory2Vtbl
struct DXGI_OUTDUPL_POINTER_SHAPE_INFO DXGI_OUTDUPL_POINTER_SHAPE_INFO
_In_ const DXGI_MODE_DESC1 * pModeToMatch
Definition: dxgi1_2.h:2332
Definition: dxgi1_2.h:556
GLuint index
Definition: glext.h:6671
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:340
UINT Adapter
Definition: dxgi1_2.h:1723
UINT TotalMetadataBufferSize
Definition: dxgi1_2.h:259
DXGI_MODE_SCALING
Definition: dxgitype.h:99
DXGI_FORMAT Format
Definition: dxgi1_2.h:1190
Definition: dxgi.h:197
POINT HotSpot
Definition: dxgi1_2.h:248
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_2.h:784
DXGI_RATIONAL RefreshRate
Definition: dxgi1_2.h:1203
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0007_v0_0_c_ifspec
struct IDXGIOutput1Vtbl IDXGIOutput1Vtbl
Definition: dxgitype.h:82
_DXGI_OFFER_RESOURCE_PRIORITY
Definition: dxgi1_2.h:912
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
Definition: dxgi1_2.h:242
DXGI_USAGE BufferUsage
Definition: dxgi1_2.h:1193
_In_ REFGUID UINT DataSize
Definition: dxgi1_2.h:353
_In_opt_ RECT * pDirtyRect
Definition: dxgi1_2.h:633
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ UINT DirtyRectsBufferSize
Definition: dxgi1_2.h:398
Definition: dxgi1_2.h:517
interface IDXGIDevice1 IDXGIDevice1
Definition: dxgi.h:135
DXGI_RATIONAL RefreshRate
Definition: dxgi1_2.h:1171
_In_ HANDLE hEvent
Definition: dxgi1_2.h:1811
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_2.h:368
UINT Type
Definition: dxgi1_2.h:244
unsigned int BOOL
Definition: gctypes.h:51
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_2.h:2318
RECT * pScrollRect
Definition: dxgi1_2.h:1214
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_2.h:793
Definition: dxgi1_2.h:215
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE _COM_Outptr_ IDXGISurface ** ppSurface
Definition: dxgi1_2.h:1020
UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi1_2.h:1723
DXGI_SWAP_EFFECT
Definition: dxgi.h:258
_Out_opt_ BOOL * pFullscreen
Definition: dxgi1_2.h:1365
_In_opt_ const SECURITY_ATTRIBUTES _In_ DWORD dwAccess
Definition: dxgi1_2.h:831
struct IDXGISwapChain1Vtbl IDXGISwapChain1Vtbl
UINT SubSysId
Definition: dxgi1_2.h:1983
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:971
void(STDMETHODCALLTYPE *GetDesc)(IDXGIOutputDuplication *This
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ REFGUID UINT DataSize
Definition: dxgi1_2.h:575
_In_ UINT _In_ DXGI_OFFER_RESOURCE_PRIORITY Priority
Definition: dxgi1_2.h:1061
Definition: dxgi1_2.h:1674
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_2.h:594
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIAdapter2 *This
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC * pClosestMatch
Definition: dxgi1_2.h:2272
DXGI_MODE_SCANLINE_ORDER ScanlineOrdering
Definition: dxgi1_2.h:1204
_In_opt_ const SECURITY_ATTRIBUTES _In_ DWORD _In_opt_ LPCWSTR lpName
Definition: dxgi1_2.h:831
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_2.h:1701
DXGI_USAGE * pUsage
Definition: dxgi1_2.h:811
Definition: dxgi1_2.h:516
Definition: dxgi1_2.h:1201
_Out_ DXGI_GAMMA_CONTROL_CAPABILITIES * pGammaCaps
Definition: dxgi1_2.h:2293
EXTERN_C const IID IID_IDXGIDevice2
Definition: dxgi1_2.h:932
LARGE_INTEGER LastPresentTime
Definition: dxgi1_2.h:253
interface IDXGIOutput IDXGIOutput
Definition: dxgi.h:93
BOOL(STDMETHODCALLTYPE *IsStereoEnabled)(IDXGIDisplayControl *This)
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi1_2.h:606
Definition: glslang_tab.cpp:135
Definition: dxgi1_2.h:965
RECT DestinationRect
Definition: dxgi1_2.h:218
struct DXGI_ADAPTER_DESC2 DXGI_ADAPTER_DESC2
_In_ HANDLE _Out_ LUID * pLuid
Definition: dxgi1_2.h:1795
Definition: dxgi.h:227
HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi1_2.h:1748
BOOL _In_opt_ IDXGIOutput * pTarget
Definition: dxgi1_2.h:1358
_Out_ DXGI_SURFACE_DESC * pDesc
Definition: dxgi1_2.h:613
enum _DXGI_OFFER_RESOURCE_PRIORITY DXGI_OFFER_RESOURCE_PRIORITY
Definition: glslang_tab.cpp:136
EXTERN_C const IID IID_IDXGIFactory2
Definition: dxgi1_2.h:1581
UINT Height
Definition: dxgi1_2.h:1189
INT Priority
Definition: dxgi1_2.h:1038
DXGI_RESIDENCY
Definition: dxgi.h:242
Definition: dxgi1_2.h:917
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:155
Definition: dxgi1_2.h:334
UINT UINT UINT Height
Definition: dxgi1_2.h:1376
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi1_2.h:1740
_In_ UINT _Out_writes_all_opt_(NumResources) BOOL *pDiscarded)
BOOL ProtectedContentMaskedOut
Definition: dxgi1_2.h:257
BOOL DesktopImageInSystemMemory
Definition: dxgi1_2.h:225
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_2.h:1003
EXTERN_C const IID IID_IDXGISwapChain1
Definition: dxgi1_2.h:1230
_Out_ HWND * pHwnd
Definition: dxgi1_2.h:1415
HWND UINT Flags
Definition: dxgi1_2.h:1729
DXGI_MODE_ROTATION
Definition: dxgitype.h:106
_In_ IUnknown * pDevice
Definition: dxgi1_2.h:2284
BOOL Stereo
Definition: dxgi1_2.h:1175
_In_ REFGUID Name
Definition: dxgi1_2.h:575
interface IDXGIAdapter IDXGIAdapter
Definition: dxgi.h:86
_In_ REFGUID Name
Definition: dxgi1_2.h:2042
UINT DirtyRectsCount
Definition: dxgi1_2.h:1211
interface IDXGIResource1 IDXGIResource1
Definition: dxgi1_2.h:65
Definition: dxgi1_2.h:518
UINT Height
Definition: dxgi1_2.h:1170
_In_ REFGUID UINT DataSize
Definition: dxgi1_2.h:769
struct IDXGIAdapter2Vtbl IDXGIAdapter2Vtbl
_Out_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi1_2.h:1372
UINT EvictionPriority
Definition: dxgi1_2.h:815
UINT UINT UINT DXGI_FORMAT UINT SwapChainFlags
Definition: dxgi1_2.h:1376
_Out_ DXGI_MODE_ROTATION * pRotation
Definition: dxgi1_2.h:1457
_In_ REFGUID Name
Definition: dxgi1_2.h:1693
POINT * pScrollOffset
Definition: dxgi1_2.h:1215
DXGI_FORMAT UINT Flags
Definition: dxgi1_2.h:2262
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_2.h:1395
BOOL Discard
Definition: dxgi1_2.h:626
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_2.h:1295
UINT BufferCount
Definition: dxgi1_2.h:1376
Definition: dxgi1_2.h:1289
_In_ IUnknown BOOL Exclusive
Definition: dxgi1_2.h:2284
LARGE_INTEGER LastMouseUpdateTime
Definition: dxgi1_2.h:254
interface IDXGIDevice2 IDXGIDevice2
Definition: dxgi1_2.h:72
_In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition: dxgi1_2.h:2084
Definition: dxgi1_2.h:1182
_In_ REFIID riid
Definition: dxgi1_2.h:377
_Out_ IDXGIOutput ** ppRestrictToOutput
Definition: dxgi1_2.h:1437
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIDevice2 *This
_Out_ HANDLE * pSharedHandle
Definition: dxgi1_2.h:807
Definition: dxgi1_2.h:1181
_Out_ DXGI_SWAP_CHAIN_FULLSCREEN_DESC * pDesc
Definition: dxgi1_2.h:1410
Definition: dxgi1_2.h:1186
_In_ IDXGISurface * pScanoutSurface
Definition: dxgi1_2.h:2308
_Out_ UINT * pMaxLatency
Definition: dxgi1_2.h:1052
DXGI_SCALING Scaling
Definition: dxgi1_2.h:1195
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_2.h:1316
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC1 * pDesc
Definition: dxgi1_2.h:2327
_In_opt_ const SECURITY_ATTRIBUTES * pAttributes
Definition: dxgi1_2.h:831
struct DXGI_SWAP_CHAIN_DESC1 DXGI_SWAP_CHAIN_DESC1
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0009_v0_0_s_ifspec
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIDevice2 *This)
_In_ REFIID _COM_Outptr_ void ** ppUnk
Definition: dxgi1_2.h:1420
interface IDXGISurface2 IDXGISurface2
Definition: dxgi1_2.h:58
_In_ REFIID riid
Definition: dxgi1_2.h:1717
_In_ UINT _Out_ UINT * pMoveRectsBufferSizeRequired
Definition: dxgi1_2.h:411
DXGI_ALPHA_MODE AlphaMode
Definition: dxgi1_2.h:1197
UINT _In_ REFIID _COM_Outptr_ void ** ppSurface
Definition: dxgi1_2.h:1350
LUID AdapterLuid
Definition: dxgi1_2.h:1988
struct DXGI_OUTDUPL_FRAME_INFO DXGI_OUTDUPL_FRAME_INFO
_Out_ INT * pPriority
Definition: dxgi1_2.h:1043
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_2.h:1680
EXTERN_C const IID IID_IDXGIOutput1
Definition: dxgi1_2.h:2169
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_2.h:999
The text renderer interface represents a set of application-defined callbacks that perform rendering ...
Definition: d3d8types.h:57
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_2.h:1708
DXGI_GRAPHICS_PREEMPTION_GRANULARITY
Definition: dxgi1_2.h:1958
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIOutputDuplication *This)
interface IDXGIObject IDXGIObject
Definition: dxgi.h:44
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_2.h:2057
struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC DXGI_SWAP_CHAIN_FULLSCREEN_DESC
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC * pDesc
Definition: dxgi1_2.h:2267
_Out_ UINT * pEvictionPriority
Definition: dxgi1_2.h:820
_In_ UINT TimeoutInMilliseconds
Definition: dxgi1_2.h:389
UINT DeviceId
Definition: dxgi1_2.h:1982
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_2.h:590
RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0000_v0_0_s_ifspec
struct IDXGIResource1Vtbl IDXGIResource1Vtbl