RetroArch
dxgi1_5.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_5_h__
34 #define __dxgi1_5_h__
35 
36 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
37 #pragma once
38 #endif
39 
40 /* Forward Declarations */
41 
42 #ifndef __IDXGIOutput5_FWD_DEFINED__
43 #define __IDXGIOutput5_FWD_DEFINED__
44 typedef interface IDXGIOutput5 IDXGIOutput5;
45 
46 #endif /* __IDXGIOutput5_FWD_DEFINED__ */
47 
48 
49 #ifndef __IDXGISwapChain4_FWD_DEFINED__
50 #define __IDXGISwapChain4_FWD_DEFINED__
51 typedef interface IDXGISwapChain4 IDXGISwapChain4;
52 
53 #endif /* __IDXGISwapChain4_FWD_DEFINED__ */
54 
55 
56 #ifndef __IDXGIDevice4_FWD_DEFINED__
57 #define __IDXGIDevice4_FWD_DEFINED__
58 typedef interface IDXGIDevice4 IDXGIDevice4;
59 
60 #endif /* __IDXGIDevice4_FWD_DEFINED__ */
61 
62 
63 #ifndef __IDXGIFactory5_FWD_DEFINED__
64 #define __IDXGIFactory5_FWD_DEFINED__
65 typedef interface IDXGIFactory5 IDXGIFactory5;
66 
67 #endif /* __IDXGIFactory5_FWD_DEFINED__ */
68 
69 
70 /* header files for imported files */
71 #include "dxgi1_4.h"
72 
73 #ifdef __cplusplus
74 extern "C"{
75 #endif
76 
77 
78 /* interface __MIDL_itf_dxgi1_5_0000_0000 */
79 /* [local] */
80 
81 /*#include <winapifamily.h>*/
82 /*#pragma region App Family*/
83 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
84 typedef
86  {
89 
90 
91 
94 
95 #ifndef __IDXGIOutput5_INTERFACE_DEFINED__
96 #define __IDXGIOutput5_INTERFACE_DEFINED__
97 
98 /* interface IDXGIOutput5 */
99 /* [unique][local][uuid][object] */
100 
101 
102 EXTERN_C const IID IID_IDXGIOutput5;
103 
104 #if defined(__cplusplus) && !defined(CINTERFACE)
105 
106  MIDL_INTERFACE("80A07424-AB52-42EB-833C-0C42FD282D98")
107  IDXGIOutput5 : public IDXGIOutput4
108  {
109  public:
110  virtual HRESULT STDMETHODCALLTYPE DuplicateOutput1(
111  /* [annotation][in] */
112  _In_ IUnknown *pDevice,
113  /* [in] */ UINT Flags,
114  /* [annotation][in] */
115  _In_ UINT SupportedFormatsCount,
116  /* [annotation][in] */
117  _In_reads_(SupportedFormatsCount) const DXGI_FORMAT *pSupportedFormats,
118  /* [annotation][out] */
119  _COM_Outptr_ IDXGIOutputDuplication **ppOutputDuplication) = 0;
120 
121  };
122 
123 
124 #else /* C style interface */
125 
126  typedef struct IDXGIOutput5Vtbl
127  {
128  BEGIN_INTERFACE
129 
130  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
131  IDXGIOutput5 * This,
132  /* [in] */ REFIID riid,
133  /* [annotation][iid_is][out] */
134  _COM_Outptr_ void **ppvObject);
135 
136  ULONG ( STDMETHODCALLTYPE *AddRef )(
137  IDXGIOutput5 * This);
138 
139  ULONG ( STDMETHODCALLTYPE *Release )(
140  IDXGIOutput5 * This);
141 
142  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
143  IDXGIOutput5 * This,
144  /* [annotation][in] */
145  _In_ REFGUID Name,
146  /* [in] */ UINT DataSize,
147  /* [annotation][in] */
148  _In_reads_bytes_(DataSize) const void *pData);
149 
150  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
151  IDXGIOutput5 * This,
152  /* [annotation][in] */
153  _In_ REFGUID Name,
154  /* [annotation][in] */
155  _In_opt_ const IUnknown *pUnknown);
156 
157  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
158  IDXGIOutput5 * This,
159  /* [annotation][in] */
160  _In_ REFGUID Name,
161  /* [annotation][out][in] */
162  _Inout_ UINT *pDataSize,
163  /* [annotation][out] */
164  _Out_writes_bytes_(*pDataSize) void *pData);
165 
166  HRESULT ( STDMETHODCALLTYPE *GetParent )(
167  IDXGIOutput5 * This,
168  /* [annotation][in] */
169  _In_ REFIID riid,
170  /* [annotation][retval][out] */
171  _COM_Outptr_ void **ppParent);
172 
173  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
174  IDXGIOutput5 * This,
175  /* [annotation][out] */
177 
178  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )(
179  IDXGIOutput5 * This,
181  /* [in] */ UINT Flags,
182  /* [annotation][out][in] */
183  _Inout_ UINT *pNumModes,
184  /* [annotation][out] */
185  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC *pDesc);
186 
187  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )(
188  IDXGIOutput5 * This,
189  /* [annotation][in] */
191  /* [annotation][out] */
193  /* [annotation][in] */
194  _In_opt_ IUnknown *pConcernedDevice);
195 
196  HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )(
197  IDXGIOutput5 * This);
198 
199  HRESULT ( STDMETHODCALLTYPE *TakeOwnership )(
200  IDXGIOutput5 * This,
201  /* [annotation][in] */
202  _In_ IUnknown *pDevice,
203  BOOL Exclusive);
204 
205  void ( STDMETHODCALLTYPE *ReleaseOwnership )(
206  IDXGIOutput5 * This);
207 
208  HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )(
209  IDXGIOutput5 * This,
210  /* [annotation][out] */
212 
213  HRESULT ( STDMETHODCALLTYPE *SetGammaControl )(
214  IDXGIOutput5 * This,
215  /* [annotation][in] */
217 
218  HRESULT ( STDMETHODCALLTYPE *GetGammaControl )(
219  IDXGIOutput5 * This,
220  /* [annotation][out] */
222 
223  HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )(
224  IDXGIOutput5 * This,
225  /* [annotation][in] */
227 
228  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )(
229  IDXGIOutput5 * This,
230  /* [annotation][in] */
232 
233  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
234  IDXGIOutput5 * This,
235  /* [annotation][out] */
237 
238  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )(
239  IDXGIOutput5 * This,
240  /* [in] */ DXGI_FORMAT EnumFormat,
241  /* [in] */ UINT Flags,
242  /* [annotation][out][in] */
243  _Inout_ UINT *pNumModes,
244  /* [annotation][out] */
245  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC1 *pDesc);
246 
247  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )(
248  IDXGIOutput5 * This,
249  /* [annotation][in] */
251  /* [annotation][out] */
253  /* [annotation][in] */
254  _In_opt_ IUnknown *pConcernedDevice);
255 
256  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )(
257  IDXGIOutput5 * This,
258  /* [annotation][in] */
260 
261  HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )(
262  IDXGIOutput5 * This,
263  /* [annotation][in] */
264  _In_ IUnknown *pDevice,
265  /* [annotation][out] */
267 
268  BOOL ( STDMETHODCALLTYPE *SupportsOverlays )(
269  IDXGIOutput5 * This);
270 
271  HRESULT ( STDMETHODCALLTYPE *CheckOverlaySupport )(
272  IDXGIOutput5 * This,
273  /* [annotation][in] */
275  /* [annotation][out] */
276  _In_ IUnknown *pConcernedDevice,
277  /* [annotation][out] */
278  _Out_ UINT *pFlags);
279 
280  HRESULT ( STDMETHODCALLTYPE *CheckOverlayColorSpaceSupport )(
281  IDXGIOutput5 * This,
282  /* [annotation][in] */
284  /* [annotation][in] */
286  /* [annotation][in] */
287  _In_ IUnknown *pConcernedDevice,
288  /* [annotation][out] */
289  _Out_ UINT *pFlags);
290 
291  HRESULT ( STDMETHODCALLTYPE *DuplicateOutput1 )(
292  IDXGIOutput5 * This,
293  /* [annotation][in] */
294  _In_ IUnknown *pDevice,
295  /* [in] */ UINT Flags,
296  /* [annotation][in] */
298  /* [annotation][in] */
299  _In_reads_(SupportedFormatsCount) const DXGI_FORMAT *pSupportedFormats,
300  /* [annotation][out] */
302 
303  END_INTERFACE
305 
306  interface IDXGIOutput5
307  {
308  CONST_VTBL struct IDXGIOutput5Vtbl *lpVtbl;
309  };
310 
311 
312 
313 #ifdef COBJMACROS
314 
315 
316 #define IDXGIOutput5_QueryInterface(This,riid,ppvObject) \
317  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
318 
319 #define IDXGIOutput5_AddRef(This) \
320  ( (This)->lpVtbl -> AddRef(This) )
321 
322 #define IDXGIOutput5_Release(This) \
323  ( (This)->lpVtbl -> Release(This) )
324 
325 
326 #define IDXGIOutput5_SetPrivateData(This,Name,DataSize,pData) \
327  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
328 
329 #define IDXGIOutput5_SetPrivateDataInterface(This,Name,pUnknown) \
330  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
331 
332 #define IDXGIOutput5_GetPrivateData(This,Name,pDataSize,pData) \
333  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
334 
335 #define IDXGIOutput5_GetParent(This,riid,ppParent) \
336  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
337 
338 
339 #define IDXGIOutput5_GetDesc(This,pDesc) \
340  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
341 
342 #define IDXGIOutput5_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) \
343  ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) )
344 
345 #define IDXGIOutput5_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
346  ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
347 
348 #define IDXGIOutput5_WaitForVBlank(This) \
349  ( (This)->lpVtbl -> WaitForVBlank(This) )
350 
351 #define IDXGIOutput5_TakeOwnership(This,pDevice,Exclusive) \
352  ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) )
353 
354 #define IDXGIOutput5_ReleaseOwnership(This) \
355  ( (This)->lpVtbl -> ReleaseOwnership(This) )
356 
357 #define IDXGIOutput5_GetGammaControlCapabilities(This,pGammaCaps) \
358  ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) )
359 
360 #define IDXGIOutput5_SetGammaControl(This,pArray) \
361  ( (This)->lpVtbl -> SetGammaControl(This,pArray) )
362 
363 #define IDXGIOutput5_GetGammaControl(This,pArray) \
364  ( (This)->lpVtbl -> GetGammaControl(This,pArray) )
365 
366 #define IDXGIOutput5_SetDisplaySurface(This,pScanoutSurface) \
367  ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) )
368 
369 #define IDXGIOutput5_GetDisplaySurfaceData(This,pDestination) \
370  ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) )
371 
372 #define IDXGIOutput5_GetFrameStatistics(This,pStats) \
373  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
374 
375 
376 #define IDXGIOutput5_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) \
377  ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) )
378 
379 #define IDXGIOutput5_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
380  ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
381 
382 #define IDXGIOutput5_GetDisplaySurfaceData1(This,pDestination) \
383  ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) )
384 
385 #define IDXGIOutput5_DuplicateOutput(This,pDevice,ppOutputDuplication) \
386  ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) )
387 
388 
389 #define IDXGIOutput5_SupportsOverlays(This) \
390  ( (This)->lpVtbl -> SupportsOverlays(This) )
391 
392 
393 #define IDXGIOutput5_CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags) \
394  ( (This)->lpVtbl -> CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags) )
395 
396 
397 #define IDXGIOutput5_CheckOverlayColorSpaceSupport(This,Format,ColorSpace,pConcernedDevice,pFlags) \
398  ( (This)->lpVtbl -> CheckOverlayColorSpaceSupport(This,Format,ColorSpace,pConcernedDevice,pFlags) )
399 
400 
401 #define IDXGIOutput5_DuplicateOutput1(This,pDevice,Flags,SupportedFormatsCount,pSupportedFormats,ppOutputDuplication) \
402  ( (This)->lpVtbl -> DuplicateOutput1(This,pDevice,Flags,SupportedFormatsCount,pSupportedFormats,ppOutputDuplication) )
403 
404 #endif /* COBJMACROS */
405 
406 
407 #endif /* C style interface */
408 
409 
410 
411 
412 #endif /* __IDXGIOutput5_INTERFACE_DEFINED__ */
413 
414 
415 /* interface __MIDL_itf_dxgi1_5_0000_0001 */
416 /* [local] */
417 
418 typedef
420  {
424 
426  {
436 
437 
438 
439 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0001_v0_0_c_ifspec;
440 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0001_v0_0_s_ifspec;
441 
442 #ifndef __IDXGISwapChain4_INTERFACE_DEFINED__
443 #define __IDXGISwapChain4_INTERFACE_DEFINED__
444 
445 /* interface IDXGISwapChain4 */
446 /* [unique][local][uuid][object] */
447 
448 
449 EXTERN_C const IID IID_IDXGISwapChain4;
450 
451 #if defined(__cplusplus) && !defined(CINTERFACE)
452 
453  MIDL_INTERFACE("3D585D5A-BD4A-489E-B1F4-3DBCB6452FFB")
455  {
456  public:
457  virtual HRESULT STDMETHODCALLTYPE SetHDRMetaData(
458  /* [annotation][in] */
460  /* [annotation][in] */
461  _In_ UINT Size,
462  /* [annotation][size_is][in] */
463  _In_reads_opt_(Size) void *pMetaData) = 0;
464 
465  };
466 
467 
468 #else /* C style interface */
469 
470  typedef struct IDXGISwapChain4Vtbl
471  {
472  BEGIN_INTERFACE
473 
474  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
475  IDXGISwapChain4 * This,
476  /* [in] */ REFIID riid,
477  /* [annotation][iid_is][out] */
478  _COM_Outptr_ void **ppvObject);
479 
480  ULONG ( STDMETHODCALLTYPE *AddRef )(
481  IDXGISwapChain4 * This);
482 
483  ULONG ( STDMETHODCALLTYPE *Release )(
484  IDXGISwapChain4 * This);
485 
486  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
487  IDXGISwapChain4 * This,
488  /* [annotation][in] */
489  _In_ REFGUID Name,
490  /* [in] */ UINT DataSize,
491  /* [annotation][in] */
492  _In_reads_bytes_(DataSize) const void *pData);
493 
494  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
495  IDXGISwapChain4 * This,
496  /* [annotation][in] */
497  _In_ REFGUID Name,
498  /* [annotation][in] */
499  _In_opt_ const IUnknown *pUnknown);
500 
501  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
502  IDXGISwapChain4 * This,
503  /* [annotation][in] */
504  _In_ REFGUID Name,
505  /* [annotation][out][in] */
506  _Inout_ UINT *pDataSize,
507  /* [annotation][out] */
508  _Out_writes_bytes_(*pDataSize) void *pData);
509 
510  HRESULT ( STDMETHODCALLTYPE *GetParent )(
511  IDXGISwapChain4 * This,
512  /* [annotation][in] */
513  _In_ REFIID riid,
514  /* [annotation][retval][out] */
515  _COM_Outptr_ void **ppParent);
516 
517  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
518  IDXGISwapChain4 * This,
519  /* [annotation][in] */
520  _In_ REFIID riid,
521  /* [annotation][retval][out] */
522  _COM_Outptr_ void **ppDevice);
523 
524  HRESULT ( STDMETHODCALLTYPE *Present )(
525  IDXGISwapChain4 * This,
526  /* [in] */ UINT SyncInterval,
527  /* [in] */ UINT Flags);
528 
529  HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
530  IDXGISwapChain4 * This,
531  /* [in] */ UINT Buffer,
532  /* [annotation][in] */
533  _In_ REFIID riid,
534  /* [annotation][out][in] */
535  _COM_Outptr_ void **ppSurface);
536 
537  HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )(
538  IDXGISwapChain4 * This,
539  /* [in] */ BOOL Fullscreen,
540  /* [annotation][in] */
541  _In_opt_ IDXGIOutput *pTarget);
542 
543  HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )(
544  IDXGISwapChain4 * This,
545  /* [annotation][out] */
546  _Out_opt_ BOOL *pFullscreen,
547  /* [annotation][out] */
548  _COM_Outptr_opt_result_maybenull_ IDXGIOutput **ppTarget);
549 
550  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
551  IDXGISwapChain4 * This,
552  /* [annotation][out] */
554 
555  HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )(
556  IDXGISwapChain4 * This,
557  /* [in] */ UINT BufferCount,
558  /* [in] */ UINT Width,
559  /* [in] */ UINT Height,
560  /* [in] */ DXGI_FORMAT NewFormat,
561  /* [in] */ UINT SwapChainFlags);
562 
563  HRESULT ( STDMETHODCALLTYPE *ResizeTarget )(
564  IDXGISwapChain4 * This,
565  /* [annotation][in] */
567 
568  HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )(
569  IDXGISwapChain4 * This,
570  /* [annotation][out] */
571  _COM_Outptr_ IDXGIOutput **ppOutput);
572 
573  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
574  IDXGISwapChain4 * This,
575  /* [annotation][out] */
577 
578  HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )(
579  IDXGISwapChain4 * This,
580  /* [annotation][out] */
582 
583  HRESULT ( STDMETHODCALLTYPE *GetDesc1 )(
584  IDXGISwapChain4 * This,
585  /* [annotation][out] */
587 
588  HRESULT ( STDMETHODCALLTYPE *GetFullscreenDesc )(
589  IDXGISwapChain4 * This,
590  /* [annotation][out] */
592 
593  HRESULT ( STDMETHODCALLTYPE *GetHwnd )(
594  IDXGISwapChain4 * This,
595  /* [annotation][out] */
596  _Out_ HWND *pHwnd);
597 
598  HRESULT ( STDMETHODCALLTYPE *GetCoreWindow )(
599  IDXGISwapChain4 * This,
600  /* [annotation][in] */
601  _In_ REFIID refiid,
602  /* [annotation][out] */
603  _COM_Outptr_ void **ppUnk);
604 
605  HRESULT ( STDMETHODCALLTYPE *Present1 )(
606  IDXGISwapChain4 * This,
607  /* [in] */ UINT SyncInterval,
608  /* [in] */ UINT PresentFlags,
609  /* [annotation][in] */
611 
612  BOOL ( STDMETHODCALLTYPE *IsTemporaryMonoSupported )(
613  IDXGISwapChain4 * This);
614 
615  HRESULT ( STDMETHODCALLTYPE *GetRestrictToOutput )(
616  IDXGISwapChain4 * This,
617  /* [annotation][out] */
619 
620  HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )(
621  IDXGISwapChain4 * This,
622  /* [annotation][in] */
623  _In_ const DXGI_RGBA *pColor);
624 
625  HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )(
626  IDXGISwapChain4 * This,
627  /* [annotation][out] */
628  _Out_ DXGI_RGBA *pColor);
629 
630  HRESULT ( STDMETHODCALLTYPE *SetRotation )(
631  IDXGISwapChain4 * This,
632  /* [annotation][in] */
634 
635  HRESULT ( STDMETHODCALLTYPE *GetRotation )(
636  IDXGISwapChain4 * This,
637  /* [annotation][out] */
639 
640  HRESULT ( STDMETHODCALLTYPE *SetSourceSize )(
641  IDXGISwapChain4 * This,
643  UINT Height);
644 
645  HRESULT ( STDMETHODCALLTYPE *GetSourceSize )(
646  IDXGISwapChain4 * This,
647  /* [annotation][out] */
648  _Out_ UINT *pWidth,
649  /* [annotation][out] */
650  _Out_ UINT *pHeight);
651 
652  HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )(
653  IDXGISwapChain4 * This,
655 
656  HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )(
657  IDXGISwapChain4 * This,
658  /* [annotation][out] */
659  _Out_ UINT *pMaxLatency);
660 
661  HANDLE ( STDMETHODCALLTYPE *GetFrameLatencyWaitableObject )(
662  IDXGISwapChain4 * This);
663 
664  HRESULT ( STDMETHODCALLTYPE *SetMatrixTransform )(
665  IDXGISwapChain4 * This,
667 
668  HRESULT ( STDMETHODCALLTYPE *GetMatrixTransform )(
669  IDXGISwapChain4 * This,
670  /* [annotation][out] */
672 
673  UINT ( STDMETHODCALLTYPE *GetCurrentBackBufferIndex )(
674  IDXGISwapChain4 * This);
675 
676  HRESULT ( STDMETHODCALLTYPE *CheckColorSpaceSupport )(
677  IDXGISwapChain4 * This,
678  /* [annotation][in] */
680  /* [annotation][out] */
681  _Out_ UINT *pColorSpaceSupport);
682 
683  HRESULT ( STDMETHODCALLTYPE *SetColorSpace1 )(
684  IDXGISwapChain4 * This,
685  /* [annotation][in] */
687 
688  HRESULT ( STDMETHODCALLTYPE *ResizeBuffers1 )(
689  IDXGISwapChain4 * This,
690  /* [annotation][in] */
692  /* [annotation][in] */
693  _In_ UINT Width,
694  /* [annotation][in] */
695  _In_ UINT Height,
696  /* [annotation][in] */
697  _In_ DXGI_FORMAT Format,
698  /* [annotation][in] */
699  _In_ UINT SwapChainFlags,
700  /* [annotation][in] */
701  _In_reads_(BufferCount) const UINT *pCreationNodeMask,
702  /* [annotation][in] */
703  _In_reads_(BufferCount) IUnknown *const *ppPresentQueue);
704 
705  HRESULT ( STDMETHODCALLTYPE *SetHDRMetaData )(
706  IDXGISwapChain4 * This,
707  /* [annotation][in] */
709  /* [annotation][in] */
710  _In_ UINT Size,
711  /* [annotation][size_is][in] */
712  _In_reads_opt_(Size) void *pMetaData);
713 
714  END_INTERFACE
716 
717  interface IDXGISwapChain4
718  {
719  CONST_VTBL struct IDXGISwapChain4Vtbl *lpVtbl;
720  };
721 
722 
723 
724 #ifdef COBJMACROS
725 
726 
727 #define IDXGISwapChain4_QueryInterface(This,riid,ppvObject) \
728  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
729 
730 #define IDXGISwapChain4_AddRef(This) \
731  ( (This)->lpVtbl -> AddRef(This) )
732 
733 #define IDXGISwapChain4_Release(This) \
734  ( (This)->lpVtbl -> Release(This) )
735 
736 
737 #define IDXGISwapChain4_SetPrivateData(This,Name,DataSize,pData) \
738  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
739 
740 #define IDXGISwapChain4_SetPrivateDataInterface(This,Name,pUnknown) \
741  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
742 
743 #define IDXGISwapChain4_GetPrivateData(This,Name,pDataSize,pData) \
744  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
745 
746 #define IDXGISwapChain4_GetParent(This,riid,ppParent) \
747  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
748 
749 
750 #define IDXGISwapChain4_GetDevice(This,riid,ppDevice) \
751  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
752 
753 
754 #define IDXGISwapChain4_Present(This,SyncInterval,Flags) \
755  ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) )
756 
757 #define IDXGISwapChain4_GetBuffer(This,Buffer,riid,ppSurface) \
758  ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) )
759 
760 #define IDXGISwapChain4_SetFullscreenState(This,Fullscreen,pTarget) \
761  ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) )
762 
763 #define IDXGISwapChain4_GetFullscreenState(This,pFullscreen,ppTarget) \
764  ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) )
765 
766 #define IDXGISwapChain4_GetDesc(This,pDesc) \
767  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
768 
769 #define IDXGISwapChain4_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) \
770  ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) )
771 
772 #define IDXGISwapChain4_ResizeTarget(This,pNewTargetParameters) \
773  ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) )
774 
775 #define IDXGISwapChain4_GetContainingOutput(This,ppOutput) \
776  ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) )
777 
778 #define IDXGISwapChain4_GetFrameStatistics(This,pStats) \
779  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
780 
781 #define IDXGISwapChain4_GetLastPresentCount(This,pLastPresentCount) \
782  ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) )
783 
784 
785 #define IDXGISwapChain4_GetDesc1(This,pDesc) \
786  ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
787 
788 #define IDXGISwapChain4_GetFullscreenDesc(This,pDesc) \
789  ( (This)->lpVtbl -> GetFullscreenDesc(This,pDesc) )
790 
791 #define IDXGISwapChain4_GetHwnd(This,pHwnd) \
792  ( (This)->lpVtbl -> GetHwnd(This,pHwnd) )
793 
794 #define IDXGISwapChain4_GetCoreWindow(This,refiid,ppUnk) \
795  ( (This)->lpVtbl -> GetCoreWindow(This,refiid,ppUnk) )
796 
797 #define IDXGISwapChain4_Present1(This,SyncInterval,PresentFlags,pPresentParameters) \
798  ( (This)->lpVtbl -> Present1(This,SyncInterval,PresentFlags,pPresentParameters) )
799 
800 #define IDXGISwapChain4_IsTemporaryMonoSupported(This) \
801  ( (This)->lpVtbl -> IsTemporaryMonoSupported(This) )
802 
803 #define IDXGISwapChain4_GetRestrictToOutput(This,ppRestrictToOutput) \
804  ( (This)->lpVtbl -> GetRestrictToOutput(This,ppRestrictToOutput) )
805 
806 #define IDXGISwapChain4_SetBackgroundColor(This,pColor) \
807  ( (This)->lpVtbl -> SetBackgroundColor(This,pColor) )
808 
809 #define IDXGISwapChain4_GetBackgroundColor(This,pColor) \
810  ( (This)->lpVtbl -> GetBackgroundColor(This,pColor) )
811 
812 #define IDXGISwapChain4_SetRotation(This,Rotation) \
813  ( (This)->lpVtbl -> SetRotation(This,Rotation) )
814 
815 #define IDXGISwapChain4_GetRotation(This,pRotation) \
816  ( (This)->lpVtbl -> GetRotation(This,pRotation) )
817 
818 
819 #define IDXGISwapChain4_SetSourceSize(This,Width,Height) \
820  ( (This)->lpVtbl -> SetSourceSize(This,Width,Height) )
821 
822 #define IDXGISwapChain4_GetSourceSize(This,pWidth,pHeight) \
823  ( (This)->lpVtbl -> GetSourceSize(This,pWidth,pHeight) )
824 
825 #define IDXGISwapChain4_SetMaximumFrameLatency(This,MaxLatency) \
826  ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) )
827 
828 #define IDXGISwapChain4_GetMaximumFrameLatency(This,pMaxLatency) \
829  ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) )
830 
831 #define IDXGISwapChain4_GetFrameLatencyWaitableObject(This) \
832  ( (This)->lpVtbl -> GetFrameLatencyWaitableObject(This) )
833 
834 #define IDXGISwapChain4_SetMatrixTransform(This,pMatrix) \
835  ( (This)->lpVtbl -> SetMatrixTransform(This,pMatrix) )
836 
837 #define IDXGISwapChain4_GetMatrixTransform(This,pMatrix) \
838  ( (This)->lpVtbl -> GetMatrixTransform(This,pMatrix) )
839 
840 
841 #define IDXGISwapChain4_GetCurrentBackBufferIndex(This) \
842  ( (This)->lpVtbl -> GetCurrentBackBufferIndex(This) )
843 
844 #define IDXGISwapChain4_CheckColorSpaceSupport(This,ColorSpace,pColorSpaceSupport) \
845  ( (This)->lpVtbl -> CheckColorSpaceSupport(This,ColorSpace,pColorSpaceSupport) )
846 
847 #define IDXGISwapChain4_SetColorSpace1(This,ColorSpace) \
848  ( (This)->lpVtbl -> SetColorSpace1(This,ColorSpace) )
849 
850 #define IDXGISwapChain4_ResizeBuffers1(This,BufferCount,Width,Height,Format,SwapChainFlags,pCreationNodeMask,ppPresentQueue) \
851  ( (This)->lpVtbl -> ResizeBuffers1(This,BufferCount,Width,Height,Format,SwapChainFlags,pCreationNodeMask,ppPresentQueue) )
852 
853 
854 #define IDXGISwapChain4_SetHDRMetaData(This,Type,Size,pMetaData) \
855  ( (This)->lpVtbl -> SetHDRMetaData(This,Type,Size,pMetaData) )
856 
857 #endif /* COBJMACROS */
858 
859 
860 #endif /* C style interface */
861 
862 
863 
864 
865 #endif /* __IDXGISwapChain4_INTERFACE_DEFINED__ */
866 
867 
868 /* interface __MIDL_itf_dxgi1_5_0000_0002 */
869 /* [local] */
870 
871 typedef
873  {
876 
877 typedef
879  {
884 
885 
886 
887 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0002_v0_0_c_ifspec;
888 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0002_v0_0_s_ifspec;
889 
890 #ifndef __IDXGIDevice4_INTERFACE_DEFINED__
891 #define __IDXGIDevice4_INTERFACE_DEFINED__
892 
893 /* interface IDXGIDevice4 */
894 /* [unique][local][uuid][object] */
895 
896 
897 EXTERN_C const IID IID_IDXGIDevice4;
898 
899 #if defined(__cplusplus) && !defined(CINTERFACE)
900 
901  MIDL_INTERFACE("95B4F95F-D8DA-4CA4-9EE6-3B76D5968A10")
902  IDXGIDevice4 : public IDXGIDevice3
903  {
904  public:
905  virtual HRESULT STDMETHODCALLTYPE OfferResources1(
906  /* [annotation][in] */
907  _In_ UINT NumResources,
908  /* [annotation][size_is][in] */
909  _In_reads_(NumResources) IDXGIResource *const *ppResources,
910  /* [annotation][in] */
911  _In_ DXGI_OFFER_RESOURCE_PRIORITY Priority,
912  /* [annotation][in] */
913  _In_ UINT Flags) = 0;
914 
915  virtual HRESULT STDMETHODCALLTYPE ReclaimResources1(
916  /* [annotation][in] */
917  _In_ UINT NumResources,
918  /* [annotation][size_is][in] */
919  _In_reads_(NumResources) IDXGIResource *const *ppResources,
920  /* [annotation][size_is][out] */
921  _Out_writes_all_(NumResources) DXGI_RECLAIM_RESOURCE_RESULTS *pResults) = 0;
922 
923  };
924 
925 
926 #else /* C style interface */
927 
928  typedef struct IDXGIDevice4Vtbl
929  {
930  BEGIN_INTERFACE
931 
932  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
933  IDXGIDevice4 * This,
934  /* [in] */ REFIID riid,
935  /* [annotation][iid_is][out] */
936  _COM_Outptr_ void **ppvObject);
937 
938  ULONG ( STDMETHODCALLTYPE *AddRef )(
939  IDXGIDevice4 * This);
940 
941  ULONG ( STDMETHODCALLTYPE *Release )(
942  IDXGIDevice4 * This);
943 
944  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
945  IDXGIDevice4 * This,
946  /* [annotation][in] */
947  _In_ REFGUID Name,
948  /* [in] */ UINT DataSize,
949  /* [annotation][in] */
950  _In_reads_bytes_(DataSize) const void *pData);
951 
952  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
953  IDXGIDevice4 * This,
954  /* [annotation][in] */
955  _In_ REFGUID Name,
956  /* [annotation][in] */
957  _In_opt_ const IUnknown *pUnknown);
958 
959  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
960  IDXGIDevice4 * This,
961  /* [annotation][in] */
962  _In_ REFGUID Name,
963  /* [annotation][out][in] */
964  _Inout_ UINT *pDataSize,
965  /* [annotation][out] */
966  _Out_writes_bytes_(*pDataSize) void *pData);
967 
968  HRESULT ( STDMETHODCALLTYPE *GetParent )(
969  IDXGIDevice4 * This,
970  /* [annotation][in] */
971  _In_ REFIID riid,
972  /* [annotation][retval][out] */
973  _COM_Outptr_ void **ppParent);
974 
975  HRESULT ( STDMETHODCALLTYPE *GetAdapter )(
976  IDXGIDevice4 * This,
977  /* [annotation][out] */
978  _COM_Outptr_ IDXGIAdapter **pAdapter);
979 
980  HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
981  IDXGIDevice4 * This,
982  /* [annotation][in] */
984  /* [in] */ UINT NumSurfaces,
985  /* [in] */ DXGI_USAGE Usage,
986  /* [annotation][in] */
987  _In_opt_ const DXGI_SHARED_RESOURCE *pSharedResource,
988  /* [annotation][out] */
989  _COM_Outptr_ IDXGISurface **ppSurface);
990 
991  HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )(
992  IDXGIDevice4 * This,
993  /* [annotation][size_is][in] */
994  _In_reads_(NumResources) IUnknown *const *ppResources,
995  /* [annotation][size_is][out] */
996  _Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus,
997  /* [in] */ UINT NumResources);
998 
999  HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )(
1000  IDXGIDevice4 * This,
1001  /* [in] */ INT Priority);
1002 
1003  HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )(
1004  IDXGIDevice4 * This,
1005  /* [annotation][retval][out] */
1006  _Out_ INT *pPriority);
1007 
1008  HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )(
1009  IDXGIDevice4 * This,
1010  /* [in] */ UINT MaxLatency);
1011 
1012  HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )(
1013  IDXGIDevice4 * This,
1014  /* [annotation][out] */
1016 
1017  HRESULT ( STDMETHODCALLTYPE *OfferResources )(
1018  IDXGIDevice4 * This,
1019  /* [annotation][in] */
1021  /* [annotation][size_is][in] */
1022  _In_reads_(NumResources) IDXGIResource *const *ppResources,
1023  /* [annotation][in] */
1025 
1026  HRESULT ( STDMETHODCALLTYPE *ReclaimResources )(
1027  IDXGIDevice4 * This,
1028  /* [annotation][in] */
1029  _In_ UINT NumResources,
1030  /* [annotation][size_is][in] */
1031  _In_reads_(NumResources) IDXGIResource *const *ppResources,
1032  /* [annotation][size_is][out] */
1033  _Out_writes_all_opt_(NumResources) BOOL *pDiscarded);
1034 
1035  HRESULT ( STDMETHODCALLTYPE *EnqueueSetEvent )(
1036  IDXGIDevice4 * This,
1037  /* [annotation][in] */
1038  _In_ HANDLE hEvent);
1039 
1040  void ( STDMETHODCALLTYPE *Trim )(
1041  IDXGIDevice4 * This);
1042 
1043  HRESULT ( STDMETHODCALLTYPE *OfferResources1 )(
1044  IDXGIDevice4 * This,
1045  /* [annotation][in] */
1046  _In_ UINT NumResources,
1047  /* [annotation][size_is][in] */
1048  _In_reads_(NumResources) IDXGIResource *const *ppResources,
1049  /* [annotation][in] */
1051  /* [annotation][in] */
1052  _In_ UINT Flags);
1053 
1054  HRESULT ( STDMETHODCALLTYPE *ReclaimResources1 )(
1055  IDXGIDevice4 * This,
1056  /* [annotation][in] */
1057  _In_ UINT NumResources,
1058  /* [annotation][size_is][in] */
1059  _In_reads_(NumResources) IDXGIResource *const *ppResources,
1060  /* [annotation][size_is][out] */
1062 
1063  END_INTERFACE
1064  } IDXGIDevice4Vtbl;
1065 
1066  interface IDXGIDevice4
1067  {
1068  CONST_VTBL struct IDXGIDevice4Vtbl *lpVtbl;
1069  };
1070 
1071 
1072 
1073 #ifdef COBJMACROS
1074 
1075 
1076 #define IDXGIDevice4_QueryInterface(This,riid,ppvObject) \
1077  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1078 
1079 #define IDXGIDevice4_AddRef(This) \
1080  ( (This)->lpVtbl -> AddRef(This) )
1081 
1082 #define IDXGIDevice4_Release(This) \
1083  ( (This)->lpVtbl -> Release(This) )
1084 
1085 
1086 #define IDXGIDevice4_SetPrivateData(This,Name,DataSize,pData) \
1087  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1088 
1089 #define IDXGIDevice4_SetPrivateDataInterface(This,Name,pUnknown) \
1090  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1091 
1092 #define IDXGIDevice4_GetPrivateData(This,Name,pDataSize,pData) \
1093  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1094 
1095 #define IDXGIDevice4_GetParent(This,riid,ppParent) \
1096  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1097 
1098 
1099 #define IDXGIDevice4_GetAdapter(This,pAdapter) \
1100  ( (This)->lpVtbl -> GetAdapter(This,pAdapter) )
1101 
1102 #define IDXGIDevice4_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \
1103  ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) )
1104 
1105 #define IDXGIDevice4_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \
1106  ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) )
1107 
1108 #define IDXGIDevice4_SetGPUThreadPriority(This,Priority) \
1109  ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) )
1110 
1111 #define IDXGIDevice4_GetGPUThreadPriority(This,pPriority) \
1112  ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) )
1113 
1114 
1115 #define IDXGIDevice4_SetMaximumFrameLatency(This,MaxLatency) \
1116  ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) )
1117 
1118 #define IDXGIDevice4_GetMaximumFrameLatency(This,pMaxLatency) \
1119  ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) )
1120 
1121 
1122 #define IDXGIDevice4_OfferResources(This,NumResources,ppResources,Priority) \
1123  ( (This)->lpVtbl -> OfferResources(This,NumResources,ppResources,Priority) )
1124 
1125 #define IDXGIDevice4_ReclaimResources(This,NumResources,ppResources,pDiscarded) \
1126  ( (This)->lpVtbl -> ReclaimResources(This,NumResources,ppResources,pDiscarded) )
1127 
1128 #define IDXGIDevice4_EnqueueSetEvent(This,hEvent) \
1129  ( (This)->lpVtbl -> EnqueueSetEvent(This,hEvent) )
1130 
1131 
1132 #define IDXGIDevice4_Trim(This) \
1133  ( (This)->lpVtbl -> Trim(This) )
1134 
1135 
1136 #define IDXGIDevice4_OfferResources1(This,NumResources,ppResources,Priority,Flags) \
1137  ( (This)->lpVtbl -> OfferResources1(This,NumResources,ppResources,Priority,Flags) )
1138 
1139 #define IDXGIDevice4_ReclaimResources1(This,NumResources,ppResources,pResults) \
1140  ( (This)->lpVtbl -> ReclaimResources1(This,NumResources,ppResources,pResults) )
1141 
1142 #endif /* COBJMACROS */
1143 
1144 
1145 #endif /* C style interface */
1146 
1147 
1148 
1149 
1150 #endif /* __IDXGIDevice4_INTERFACE_DEFINED__ */
1151 
1152 
1153 /* interface __MIDL_itf_dxgi1_5_0000_0003 */
1154 /* [local] */
1155 
1156 typedef
1157 enum DXGI_FEATURE
1158  {
1160  } DXGI_FEATURE;
1161 
1162 
1163 
1164 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0003_v0_0_c_ifspec;
1165 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0003_v0_0_s_ifspec;
1166 
1167 #ifndef __IDXGIFactory5_INTERFACE_DEFINED__
1168 #define __IDXGIFactory5_INTERFACE_DEFINED__
1169 
1170 /* interface IDXGIFactory5 */
1171 /* [unique][local][uuid][object] */
1172 
1173 
1174 EXTERN_C const IID IID_IDXGIFactory5;
1175 
1176 #if defined(__cplusplus) && !defined(CINTERFACE)
1177 
1178  MIDL_INTERFACE("7632e1f5-ee65-4dca-87fd-84cd75f8838d")
1179  IDXGIFactory5 : public IDXGIFactory4
1180  {
1181  public:
1182  virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
1183  DXGI_FEATURE Feature,
1184  /* [annotation] */
1185  _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
1186  UINT FeatureSupportDataSize) = 0;
1187 
1188  };
1189 
1190 
1191 #else /* C style interface */
1192 
1193  typedef struct IDXGIFactory5Vtbl
1194  {
1195  BEGIN_INTERFACE
1196 
1197  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1198  IDXGIFactory5 * This,
1199  /* [in] */ REFIID riid,
1200  /* [annotation][iid_is][out] */
1201  _COM_Outptr_ void **ppvObject);
1202 
1203  ULONG ( STDMETHODCALLTYPE *AddRef )(
1204  IDXGIFactory5 * This);
1205 
1206  ULONG ( STDMETHODCALLTYPE *Release )(
1207  IDXGIFactory5 * This);
1208 
1209  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1210  IDXGIFactory5 * This,
1211  /* [annotation][in] */
1212  _In_ REFGUID Name,
1213  /* [in] */ UINT DataSize,
1214  /* [annotation][in] */
1215  _In_reads_bytes_(DataSize) const void *pData);
1216 
1217  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1218  IDXGIFactory5 * This,
1219  /* [annotation][in] */
1220  _In_ REFGUID Name,
1221  /* [annotation][in] */
1222  _In_opt_ const IUnknown *pUnknown);
1223 
1224  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1225  IDXGIFactory5 * This,
1226  /* [annotation][in] */
1227  _In_ REFGUID Name,
1228  /* [annotation][out][in] */
1229  _Inout_ UINT *pDataSize,
1230  /* [annotation][out] */
1231  _Out_writes_bytes_(*pDataSize) void *pData);
1232 
1233  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1234  IDXGIFactory5 * This,
1235  /* [annotation][in] */
1236  _In_ REFIID riid,
1237  /* [annotation][retval][out] */
1238  _COM_Outptr_ void **ppParent);
1239 
1240  HRESULT ( STDMETHODCALLTYPE *EnumAdapters )(
1241  IDXGIFactory5 * This,
1242  /* [in] */ UINT Adapter,
1243  /* [annotation][out] */
1244  _COM_Outptr_ IDXGIAdapter **ppAdapter);
1245 
1246  HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )(
1247  IDXGIFactory5 * This,
1249  UINT Flags);
1250 
1251  HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )(
1252  IDXGIFactory5 * This,
1253  /* [annotation][out] */
1254  _Out_ HWND *pWindowHandle);
1255 
1256  HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )(
1257  IDXGIFactory5 * This,
1258  /* [annotation][in] */
1259  _In_ IUnknown *pDevice,
1260  /* [annotation][in] */
1262  /* [annotation][out] */
1263  _COM_Outptr_ IDXGISwapChain **ppSwapChain);
1264 
1265  HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )(
1266  IDXGIFactory5 * This,
1267  /* [in] */ HMODULE Module,
1268  /* [annotation][out] */
1269  _COM_Outptr_ IDXGIAdapter **ppAdapter);
1270 
1271  HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )(
1272  IDXGIFactory5 * This,
1273  /* [in] */ UINT Adapter,
1274  /* [annotation][out] */
1275  _COM_Outptr_ IDXGIAdapter1 **ppAdapter);
1276 
1277  BOOL ( STDMETHODCALLTYPE *IsCurrent )(
1278  IDXGIFactory5 * This);
1279 
1280  BOOL ( STDMETHODCALLTYPE *IsWindowedStereoEnabled )(
1281  IDXGIFactory5 * This);
1282 
1283  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForHwnd )(
1284  IDXGIFactory5 * This,
1285  /* [annotation][in] */
1286  _In_ IUnknown *pDevice,
1287  /* [annotation][in] */
1288  _In_ HWND hWnd,
1289  /* [annotation][in] */
1290  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1291  /* [annotation][in] */
1293  /* [annotation][in] */
1294  _In_opt_ IDXGIOutput *pRestrictToOutput,
1295  /* [annotation][out] */
1296  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1297 
1298  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCoreWindow )(
1299  IDXGIFactory5 * This,
1300  /* [annotation][in] */
1301  _In_ IUnknown *pDevice,
1302  /* [annotation][in] */
1303  _In_ IUnknown *pWindow,
1304  /* [annotation][in] */
1305  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1306  /* [annotation][in] */
1307  _In_opt_ IDXGIOutput *pRestrictToOutput,
1308  /* [annotation][out] */
1309  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1310 
1311  HRESULT ( STDMETHODCALLTYPE *GetSharedResourceAdapterLuid )(
1312  IDXGIFactory5 * This,
1313  /* [annotation] */
1314  _In_ HANDLE hResource,
1315  /* [annotation] */
1316  _Out_ LUID *pLuid);
1317 
1318  HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusWindow )(
1319  IDXGIFactory5 * This,
1320  /* [annotation][in] */
1321  _In_ HWND WindowHandle,
1322  /* [annotation][in] */
1323  _In_ UINT wMsg,
1324  /* [annotation][out] */
1325  _Out_ DWORD *pdwCookie);
1326 
1327  HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusEvent )(
1328  IDXGIFactory5 * This,
1329  /* [annotation][in] */
1330  _In_ HANDLE hEvent,
1331  /* [annotation][out] */
1332  _Out_ DWORD *pdwCookie);
1333 
1334  void ( STDMETHODCALLTYPE *UnregisterStereoStatus )(
1335  IDXGIFactory5 * This,
1336  /* [annotation][in] */
1337  _In_ DWORD dwCookie);
1338 
1339  HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusWindow )(
1340  IDXGIFactory5 * This,
1341  /* [annotation][in] */
1342  _In_ HWND WindowHandle,
1343  /* [annotation][in] */
1344  _In_ UINT wMsg,
1345  /* [annotation][out] */
1346  _Out_ DWORD *pdwCookie);
1347 
1348  HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusEvent )(
1349  IDXGIFactory5 * This,
1350  /* [annotation][in] */
1351  _In_ HANDLE hEvent,
1352  /* [annotation][out] */
1353  _Out_ DWORD *pdwCookie);
1354 
1355  void ( STDMETHODCALLTYPE *UnregisterOcclusionStatus )(
1356  IDXGIFactory5 * This,
1357  /* [annotation][in] */
1358  _In_ DWORD dwCookie);
1359 
1360  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForComposition )(
1361  IDXGIFactory5 * This,
1362  /* [annotation][in] */
1363  _In_ IUnknown *pDevice,
1364  /* [annotation][in] */
1365  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1366  /* [annotation][in] */
1367  _In_opt_ IDXGIOutput *pRestrictToOutput,
1368  /* [annotation][out] */
1369  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1370 
1371  UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
1372  IDXGIFactory5 * This);
1373 
1374  HRESULT ( STDMETHODCALLTYPE *EnumAdapterByLuid )(
1375  IDXGIFactory5 * This,
1376  /* [annotation] */
1377  _In_ LUID AdapterLuid,
1378  /* [annotation] */
1379  _In_ REFIID riid,
1380  /* [annotation] */
1381  _COM_Outptr_ void **ppvAdapter);
1382 
1383  HRESULT ( STDMETHODCALLTYPE *EnumWarpAdapter )(
1384  IDXGIFactory5 * This,
1385  /* [annotation] */
1386  _In_ REFIID riid,
1387  /* [annotation] */
1388  _COM_Outptr_ void **ppvAdapter);
1389 
1390  HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
1391  IDXGIFactory5 * This,
1393  /* [annotation] */
1394  _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
1396 
1397  END_INTERFACE
1399 
1400  interface IDXGIFactory5
1401  {
1402  CONST_VTBL struct IDXGIFactory5Vtbl *lpVtbl;
1403  };
1404 
1405 
1406 
1407 #ifdef COBJMACROS
1408 
1409 
1410 #define IDXGIFactory5_QueryInterface(This,riid,ppvObject) \
1411  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1412 
1413 #define IDXGIFactory5_AddRef(This) \
1414  ( (This)->lpVtbl -> AddRef(This) )
1415 
1416 #define IDXGIFactory5_Release(This) \
1417  ( (This)->lpVtbl -> Release(This) )
1418 
1419 
1420 #define IDXGIFactory5_SetPrivateData(This,Name,DataSize,pData) \
1421  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1422 
1423 #define IDXGIFactory5_SetPrivateDataInterface(This,Name,pUnknown) \
1424  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1425 
1426 #define IDXGIFactory5_GetPrivateData(This,Name,pDataSize,pData) \
1427  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1428 
1429 #define IDXGIFactory5_GetParent(This,riid,ppParent) \
1430  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1431 
1432 
1433 #define IDXGIFactory5_EnumAdapters(This,Adapter,ppAdapter) \
1434  ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) )
1435 
1436 #define IDXGIFactory5_MakeWindowAssociation(This,WindowHandle,Flags) \
1437  ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) )
1438 
1439 #define IDXGIFactory5_GetWindowAssociation(This,pWindowHandle) \
1440  ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) )
1441 
1442 #define IDXGIFactory5_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \
1443  ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) )
1444 
1445 #define IDXGIFactory5_CreateSoftwareAdapter(This,Module,ppAdapter) \
1446  ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) )
1447 
1448 
1449 #define IDXGIFactory5_EnumAdapters1(This,Adapter,ppAdapter) \
1450  ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) )
1451 
1452 #define IDXGIFactory5_IsCurrent(This) \
1453  ( (This)->lpVtbl -> IsCurrent(This) )
1454 
1455 
1456 #define IDXGIFactory5_IsWindowedStereoEnabled(This) \
1457  ( (This)->lpVtbl -> IsWindowedStereoEnabled(This) )
1458 
1459 #define IDXGIFactory5_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) \
1460  ( (This)->lpVtbl -> CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) )
1461 
1462 #define IDXGIFactory5_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) \
1463  ( (This)->lpVtbl -> CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) )
1464 
1465 #define IDXGIFactory5_GetSharedResourceAdapterLuid(This,hResource,pLuid) \
1466  ( (This)->lpVtbl -> GetSharedResourceAdapterLuid(This,hResource,pLuid) )
1467 
1468 #define IDXGIFactory5_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) \
1469  ( (This)->lpVtbl -> RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) )
1470 
1471 #define IDXGIFactory5_RegisterStereoStatusEvent(This,hEvent,pdwCookie) \
1472  ( (This)->lpVtbl -> RegisterStereoStatusEvent(This,hEvent,pdwCookie) )
1473 
1474 #define IDXGIFactory5_UnregisterStereoStatus(This,dwCookie) \
1475  ( (This)->lpVtbl -> UnregisterStereoStatus(This,dwCookie) )
1476 
1477 #define IDXGIFactory5_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) \
1478  ( (This)->lpVtbl -> RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) )
1479 
1480 #define IDXGIFactory5_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) \
1481  ( (This)->lpVtbl -> RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) )
1482 
1483 #define IDXGIFactory5_UnregisterOcclusionStatus(This,dwCookie) \
1484  ( (This)->lpVtbl -> UnregisterOcclusionStatus(This,dwCookie) )
1485 
1486 #define IDXGIFactory5_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) \
1487  ( (This)->lpVtbl -> CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) )
1488 
1489 
1490 #define IDXGIFactory5_GetCreationFlags(This) \
1491  ( (This)->lpVtbl -> GetCreationFlags(This) )
1492 
1493 
1494 #define IDXGIFactory5_EnumAdapterByLuid(This,AdapterLuid,riid,ppvAdapter) \
1495  ( (This)->lpVtbl -> EnumAdapterByLuid(This,AdapterLuid,riid,ppvAdapter) )
1496 
1497 #define IDXGIFactory5_EnumWarpAdapter(This,riid,ppvAdapter) \
1498  ( (This)->lpVtbl -> EnumWarpAdapter(This,riid,ppvAdapter) )
1499 
1500 
1501 #define IDXGIFactory5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
1502  ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
1503 
1504 #endif /* COBJMACROS */
1505 
1506 
1507 #endif /* C style interface */
1508 
1509 
1510 
1511 
1512 #endif /* __IDXGIFactory5_INTERFACE_DEFINED__ */
1513 
1514 
1515 /* interface __MIDL_itf_dxgi1_5_0000_0004 */
1516 /* [local] */
1517 
1518 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
1519 /*#pragma endregion*/
1520 DEFINE_GUID(IID_IDXGIOutput5,0x80A07424,0xAB52,0x42EB,0x83,0x3C,0x0C,0x42,0xFD,0x28,0x2D,0x98);
1521 DEFINE_GUID(IID_IDXGISwapChain4,0x3D585D5A,0xBD4A,0x489E,0xB1,0xF4,0x3D,0xBC,0xB6,0x45,0x2F,0xFB);
1522 DEFINE_GUID(IID_IDXGIDevice4,0x95B4F95F,0xD8DA,0x4CA4,0x9E,0xE6,0x3B,0x76,0xD5,0x96,0x8A,0x10);
1523 DEFINE_GUID(IID_IDXGIFactory5,0x7632e1f5,0xee65,0x4dca,0x87,0xfd,0x84,0xcd,0x75,0xf8,0x83,0x8d);
1524 
1525 
1526 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0004_v0_0_c_ifspec;
1527 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0004_v0_0_s_ifspec;
1528 
1529 /* Additional Prototypes for ALL interfaces */
1530 
1531 /* end of Additional Prototypes */
1532 
1533 #ifdef __cplusplus
1534 }
1535 #endif
1536 
1537 #endif
1538 
1539 
_In_ UINT _In_ UINT _In_ UINT _In_ DXGI_FORMAT _In_ UINT _In_reads_(BufferCount) const UINT *pCreationNodeMask
_In_ DXGI_COLOR_SPACE_TYPE ColorSpace
Definition: dxgi1_5.h:679
struct IDXGISwapChain4Vtbl IDXGISwapChain4Vtbl
_In_ HANDLE hEvent
Definition: dxgi1_5.h:1038
_COM_Outptr_ IDXGIAdapter ** pAdapter
Definition: dxgi1_5.h:978
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_5.h:132
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_5.h:1231
UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi1_5.h:1242
_In_ IUnknown _In_ HWND _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_5.h:1286
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_5.h:1236
UINT UINT _In_ const DXGI_PRESENT_PARAMETERS * pPresentParameters
Definition: dxgi1_5.h:607
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIOutput5 *This)
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_5.h:1199
struct IDXGIDevice4Vtbl IDXGIDevice4Vtbl
_In_ const DXGI_SURFACE_DESC * pDesc
Definition: dxgi1_5.h:983
_DXGI_RECLAIM_RESOURCE_RESULTS
Definition: dxgi1_5.h:877
_In_ REFGUID Name
Definition: dxgi1_5.h:145
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIOutput5 *This
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0002_v0_0_c_ifspec
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_5.h:934
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Port Mapping Successful No arguments supplied and no menu displaying help Waiting for client You have joined as player u Player *s has left the game *s has joined with input devices *s The netplay peer is running an old version of RetroArch Cannot connect A netplay peer is running a different core Cannot connect This core does not support inter architecture netplay between these systems Enter netplay server Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Resume Achievements Hardcore Mode Scan Content Import content Ask Block Frames Audio Driver Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control Audio Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Start Search For New Cheat Code Cheat File Load Cheat Load Cheat Save Cheat File As Description Leaderboards Locked Locked Test Unofficial Achievements Unlocked Verbose Mode Close Content Load Configuration Save Configuration on Exit Database History List Size Quick Menu Downloads Core Counters Core Information Categories Core name Permissions System manufacturer Controls Install or Restore a Core Core installation succesful Core Automatically extract downloaded archive Core Updater CPU CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download a Core DPI Override Enable Driver Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Include Memory Details Sync to Exact Content Frame Throttle Load Content Specific Core Options Automatically Save Game options file Audio Video Troubleshooting Basic Menu Controls Loading Content What Is A Core History Image Information All Users Control Menu Left analog Left analog Left Analog Y Left analog Right Analog X Right analog Right Analog Y Right analog Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right Analog Stick Deadzone Bind All Bind Timeout Hide Unbound Core Input Descriptors Device Index Mouse Index Duty Cycle Keyboard Gamepad Mapping Enable B Down D pad L3 L Left D pad R3 R Right D pad Start button X Y Mouse Mouse Mouse Wheel Down Wheel Right Max Users Cheat index Cheat toggle Disk next Enable hotkeys Fast forward toggle FPS toggle Grab mouse toggle Desktop menu toggle Menu toggle Audio mute toggle On screen keyboard toggle Pause toggle Reset game Cheat Details Save state Next shader Slow motion hold Savestate slot Volume Display Overlay Show Inputs On Overlay Poll Type Behavior Late Prefer Front Touch Remap Binds Enable Input Touch Enable Turbo Period Latency Input Autoconfig Services Dutch Esperanto German Japanese Polish Russian Vietnamese Greek Core Core Logging Level Load Archive Load Content Allow Location Logging Main Menu Menu Color Theme Blue Grey Green Red Footer Opacity Menu Driver Settings Horizontal Animation Background Missing Mouse Support Music Navigation Wrap Around Netplay Netplay Check Frames Input Latency Frames Range Disconnect from netplay host Connect to netplay host Stop netplay host Scan local network Username Publicly Announce Netplay Disallow Non Slave Mode Clients Analog Input Sharing Average Share Vote No preference Netplay Stateless Mode Netplay Spectator Enable Netplay NAT Traversal Network Command Port Network Gamepad Network None No achievements to display No cores available No core options available No history available No items No networks found No playlists No settings found OFF Online Onscreen Display Adjust Bezels and Onscreen controls Adjust the Onscreen Notifications Optional Autoload Preferred Overlay Overlay Opacity Overlay Scale Use PAL60 Mode Pause when menu activated Performance Counters Playlist Touch Support Present MIDI Analog supported CERO Rating CRC32 Developer Edge Magazine Rating ELSPA Rating ESRB Rating Franchise MD5 Origin Publisher Releasedate Year Serial Start Content Reboot Recording Output Custom Record Config Record Driver Enable Recording Save Recordings in Output Dir Load Remap File Save Content Directory Remap File Delete Core Remap File Delete Game Content Directory Remap File Restart Resume RetroKeyboard RetroPad w Analog Rewind Enable Auto Apply Cheats During Game Load Rewind Buffer Size(MB)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_REWIND_BUFFER_SIZE_STEP
DXGI_FORMAT UINT Flags
Definition: dxgi1_5.h:180
_Out_ UINT * pMaxLatency
Definition: dxgi1_5.h:659
UINT MinMasteringLuminance
Definition: dxgi1_5.h:432
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_5.h:1227
interface IDXGIOutputDuplication IDXGIOutputDuplication
Definition: dxgi1_2.h:51
_In_ IUnknown _In_ HWND _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC * pFullscreenDesc
Definition: dxgi1_5.h:1286
_In_ IDXGIResource * pDestination
Definition: dxgi1_5.h:259
_Out_opt_ BOOL _COM_Outptr_opt_result_maybenull_ IDXGIOutput ** ppTarget
Definition: dxgi1_5.h:546
interface IDXGIResource IDXGIResource
Definition: dxgi.h:58
UINT UINT UINT Height
Definition: dxgi1_5.h:557
_Out_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi1_5.h:553
_In_ IUnknown _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_5.h:1363
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE _COM_Outptr_ IDXGISurface ** ppSurface
Definition: dxgi1_5.h:983
UINT MaxLatency
Definition: dxgi1_5.h:654
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_5.h:169
_Out_ HWND * pHwnd
Definition: dxgi1_5.h:596
_In_ IDXGISurface * pScanoutSurface
Definition: dxgi1_5.h:226
_Out_opt_ BOOL * pFullscreen
Definition: dxgi1_5.h:546
interface IDXGIFactory4 IDXGIFactory4
Definition: dxgi1_4.h:58
_In_ IUnknown _COM_Outptr_ IDXGIOutputDuplication ** ppOutputDuplication
Definition: dxgi1_5.h:264
_In_ UINT _Out_writes_all_(NumResources) DXGI_RECLAIM_RESOURCE_RESULTS *pResults)
interface IDXGIOutput5 IDXGIOutput5
Definition: dxgi1_5.h:44
_Out_ UINT * pWidth
Definition: dxgi1_5.h:648
Definition: dxgi1_5.h:422
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0003_v0_0_c_ifspec
_In_ IDXGISurface * pDestination
Definition: dxgi1_5.h:231
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0002_v0_0_s_ifspec
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE * pSharedResource
Definition: dxgi1_5.h:983
_In_ HWND _In_ UINT wMsg
Definition: dxgi1_5.h:1321
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0000_v0_0_s_ifspec
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_5.h:132
DXGI_FEATURE Feature
Definition: dxgi1_5.h:1392
UINT16 MaxContentLightLevel
Definition: dxgi1_5.h:433
DEFINE_GUID(IID_IDXGIOutput5, 0x80A07424, 0xAB52, 0x42EB, 0x83, 0x3C, 0x0C, 0x42, 0xFD, 0x28, 0x2D, 0x98)
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE Usage
Definition: dxgi1_5.h:983
_In_ DXGI_HDR_METADATA_TYPE _In_ UINT Size
Definition: dxgi1_5.h:708
Definition: dxgitype.h:75
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
_In_ IUnknown _In_ IUnknown * pWindow
Definition: dxgi1_5.h:1301
BOOL(STDMETHODCALLTYPE *IsCurrent)(IDXGIFactory5 *This)
_In_ HANDLE _Out_ LUID * pLuid
Definition: dxgi1_5.h:1314
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_5.h:476
_In_reads_(NumResources) IUnknown *const *ppResources
_Out_ UINT _Out_ UINT * pHeight
Definition: dxgi1_5.h:648
DXGI_HDR_METADATA_TYPE
Definition: dxgi1_5.h:418
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0004_v0_0_c_ifspec
_In_ DXGI_HDR_METADATA_TYPE _In_ UINT _In_reads_opt_(Size) void *pMetaData)
UINT16 MaxFrameAverageLightLevel
Definition: dxgi1_5.h:434
UINT DXGI_USAGE
Definition: dxgi.h:167
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_5.h:513
_In_ REFIID riid
Definition: dxgi1_5.h:169
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0003_v0_0_s_ifspec
UINT Adapter
Definition: dxgi1_5.h:1242
Definition: dxgi1_3.h:343
_Out_ DXGI_SWAP_CHAIN_FULLSCREEN_DESC * pDesc
Definition: dxgi1_5.h:591
_In_ IUnknown * pDevice
Definition: dxgi1_5.h:1259
Definition: dxgi.h:285
_In_ const DXGI_MODE_DESC1 * pModeToMatch
Definition: dxgi1_5.h:250
_In_ REFGUID UINT DataSize
Definition: dxgi1_5.h:1212
HMODULE Module
Definition: dxgi1_5.h:1267
_Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus
_In_ HANDLE _Out_ DWORD * pdwCookie
Definition: dxgi1_5.h:1330
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_5.h:934
BOOL(STDMETHODCALLTYPE *IsTemporaryMonoSupported)(IDXGISwapChain4 *This)
_In_ HANDLE hResource
Definition: dxgi1_5.h:1314
UINT _In_ REFIID riid
Definition: dxgi1_5.h:531
HANDLE(STDMETHODCALLTYPE *GetFrameLatencyWaitableObject)(IDXGISwapChain4 *This)
DXGI_FORMAT
Definition: dxgiformat.h:10
_In_ REFIID _COM_Outptr_ void ** ppvAdapter
Definition: dxgi1_5.h:1386
_Out_ DXGI_MATRIX_3X2_F * pMatrix
Definition: dxgi1_5.h:671
UINT UINT UINT DXGI_FORMAT NewFormat
Definition: dxgi1_5.h:557
_In_ UINT _Out_writes_all_opt_(NumResources) BOOL *pDiscarded)
interface IDXGISurface IDXGISurface
Definition: d2d1.h:53
interface IDXGIDevice3 IDXGIDevice3
Definition: dxgi1_3.h:44
enum _DXGI_RECLAIM_RESOURCE_RESULTS DXGI_RECLAIM_RESOURCE_RESULTS
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_5.h:153
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: dxgi1_5.h:1259
UINT NumResources
Definition: dxgi1_5.h:997
Definition: dxgi1_5.h:928
Definition: dxgi1_2.h:1209
_Out_ DXGI_RGBA * pColor
Definition: dxgi1_5.h:628
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_5.h:160
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_5.h:476
void(STDMETHODCALLTYPE *UnregisterStereoStatus)(IDXGIFactory5 *This
DXGI_FORMAT UINT _Inout_ UINT * pNumModes
Definition: dxgi1_5.h:180
HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi1_5.h:1267
_In_ const DXGI_SURFACE_DESC UINT NumSurfaces
Definition: dxgi1_5.h:983
struct IDXGIOutput5Vtbl IDXGIOutput5Vtbl
UINT UINT Flags
Definition: dxgi1_5.h:526
DXGI_FORMAT EnumFormat
Definition: dxgi1_5.h:180
_In_ LUID _In_ REFIID riid
Definition: dxgi1_5.h:1377
interface IDXGISwapChain1 IDXGISwapChain1
Definition: dxgi1_2.h:79
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISwapChain4 *This)
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
interface IDXGISwapChain IDXGISwapChain
Definition: dxgi.h:100
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIDevice4 *This)
UINT Buffer
Definition: dxgi1_5.h:531
UINT MaxMasteringLuminance
Definition: dxgi1_5.h:431
Definition: dxgi.h:218
_In_ REFIID refiid
Definition: dxgi1_5.h:601
Definition: dxgitype.h:115
BOOL Fullscreen
Definition: dxgi1_5.h:539
UINT(STDMETHODCALLTYPE *GetCurrentBackBufferIndex)(IDXGISwapChain4 *This)
Definition: dxgi.h:169
interface IDXGIAdapter1 IDXGIAdapter1
Definition: dxgi.h:128
UINT MaxLatency
Definition: dxgi1_5.h:1010
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_5.h:955
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_5.h:962
_In_ REFGUID UINT DataSize
Definition: dxgi1_5.h:947
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
interface IDXGISwapChain4 IDXGISwapChain4
Definition: dxgi1_5.h:51
UINT16 WhitePoint[2]
Definition: dxgi1_5.h:430
UINT(STDMETHODCALLTYPE *GetCreationFlags)(IDXGIFactory5 *This)
DXGI_FEATURE _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData
enum _DXGI_OFFER_RESOURCE_FLAGS DXGI_OFFER_RESOURCE_FLAGS
_In_ DWORD dwCookie
Definition: dxgi1_5.h:1337
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi1_5.h:1259
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi1_5.h:520
_In_ DXGI_HDR_METADATA_TYPE Type
Definition: dxgi1_5.h:708
_In_ REFGUID UINT DataSize
Definition: dxgi1_5.h:489
struct DXGI_HDR_METADATA_HDR10 DXGI_HDR_METADATA_HDR10
_Out_ HWND * pWindowHandle
Definition: dxgi1_5.h:1254
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_5.h:966
interface IDXGISwapChain3 IDXGISwapChain3
Definition: dxgi1_4.h:44
_In_ LUID _In_ REFIID _COM_Outptr_ void ** ppvAdapter
Definition: dxgi1_5.h:1377
_In_ REFGUID Name
Definition: dxgi1_5.h:947
UINT _In_ REFIID _COM_Outptr_ void ** ppSurface
Definition: dxgi1_5.h:531
Definition: dxgi1_5.h:126
Definition: dxgi1_2.h:1167
_Out_ IDXGIOutput ** ppRestrictToOutput
Definition: dxgi1_5.h:618
_In_ UINT _In_ DXGI_OFFER_RESOURCE_PRIORITY _In_ UINT Flags
Definition: dxgi1_5.h:1050
_In_ REFIID riid
Definition: dxgi1_5.h:971
Definition: dxgi.h:250
INT Priority
Definition: dxgi1_5.h:1001
_Out_ INT * pPriority
Definition: dxgi1_5.h:1006
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC1 * pDesc
Definition: dxgi1_5.h:245
_In_ IUnknown UINT _In_ UINT SupportedFormatsCount
Definition: dxgi1_5.h:294
_Out_ DXGI_GAMMA_CONTROL_CAPABILITIES * pGammaCaps
Definition: dxgi1_5.h:211
EXTERN_C const IID IID_IDXGIDevice4
Definition: dxgi1_5.h:897
Definition: dxgitype.h:82
_In_ IUnknown UINT _In_ UINT _COM_Outptr_ IDXGIOutputDuplication ** ppOutputDuplication
Definition: dxgi1_5.h:301
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
_In_ IUnknown UINT _In_ UINT _In_reads_(SupportedFormatsCount) const DXGI_FORMAT *pSupportedFormats
_In_ REFGUID UINT DataSize
Definition: dxgi1_5.h:145
UINT Width
Definition: dxgi1_5.h:642
_In_ HWND _In_ UINT _Out_ DWORD * pdwCookie
Definition: dxgi1_5.h:1321
_Out_ UINT * pLastPresentCount
Definition: dxgi1_5.h:581
HWND WindowHandle
Definition: dxgi1_5.h:1248
unsigned int BOOL
Definition: gctypes.h:51
_In_ DXGI_FORMAT _In_ DXGI_COLOR_SPACE_TYPE _In_ IUnknown _Out_ UINT * pFlags
Definition: dxgi1_5.h:283
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_5.h:1199
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC * pDesc
Definition: dxgi1_5.h:185
_In_ const DXGI_MODE_DESC * pNewTargetParameters
Definition: dxgi1_5.h:566
_Out_ DXGI_MODE_ROTATION * pRotation
Definition: dxgi1_5.h:638
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0000_v0_0_c_ifspec
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0004_v0_0_s_ifspec
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIDevice4 *This
struct IDXGIFactory5Vtbl IDXGIFactory5Vtbl
interface IDXGIFactory5 IDXGIFactory5
Definition: dxgi1_5.h:65
_In_ IUnknown * pDevice
Definition: dxgi1_5.h:202
Definition: dxgi1_5.h:470
Definition: dxgi1_2.h:1201
UINT UINT PresentFlags
Definition: dxgi1_5.h:607
interface IDXGIOutput IDXGIOutput
Definition: dxgi.h:93
Definition: glslang_tab.cpp:135
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_5.h:504
EXTERN_C const IID IID_IDXGISwapChain4
Definition: dxgi1_5.h:449
Definition: dxgi.h:227
enum _DXGI_OFFER_RESOURCE_PRIORITY DXGI_OFFER_RESOURCE_PRIORITY
Definition: glslang_tab.cpp:136
DXGI_RESIDENCY
Definition: dxgi.h:242
_In_ IUnknown _In_ HWND hWnd
Definition: dxgi1_5.h:1286
BOOL _In_opt_ IDXGIOutput * pTarget
Definition: dxgi1_5.h:539
_In_ DXGI_FORMAT _In_ DXGI_COLOR_SPACE_TYPE ColorSpace
Definition: dxgi1_5.h:283
Definition: dxgi1_5.h:880
uint16_t UINT16
Definition: coretypes.h:11
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_5.h:971
DXGI_COLOR_SPACE_TYPE
Definition: dxgicommon.h:25
_Out_ UINT * pMaxLatency
Definition: dxgi1_5.h:1015
_In_ DXGI_FORMAT _In_ IUnknown _Out_ UINT * pFlags
Definition: dxgi1_5.h:274
_In_ IUnknown BOOL Exclusive
Definition: dxgi1_5.h:202
const DXGI_MATRIX_3X2_F * pMatrix
Definition: dxgi1_5.h:666
DXGI_MODE_ROTATION
Definition: dxgitype.h:106
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ LUID AdapterLuid
Definition: dxgi1_5.h:1377
_Out_ DXGI_OUTPUT_DESC * pDesc
Definition: dxgi1_5.h:176
interface IDXGIAdapter IDXGIAdapter
Definition: dxgi.h:86
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIFactory5 *This)
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC * pClosestMatch
Definition: dxgi1_5.h:190
EXTERN_C const IID IID_IDXGIFactory5
Definition: dxgi1_5.h:1174
Definition: dxgi1_5.h:421
_In_ REFIID _COM_Outptr_ void ** ppUnk
Definition: dxgi1_5.h:601
HWND UINT Flags
Definition: dxgi1_5.h:1248
UINT16 RedPrimary[2]
Definition: dxgi1_5.h:427
DXGI_FEATURE
Definition: dxgi1_5.h:1156
UINT BufferCount
Definition: dxgi1_5.h:557
Type
Type of JSON value.
Definition: rapidjson.h:603
_In_ const DXGI_RGBA * pColor
Definition: dxgi1_5.h:623
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_5.h:508
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC _In_opt_ IUnknown * pConcernedDevice
Definition: dxgi1_5.h:190
Definition: dxgi1_5.h:1193
BOOL(STDMETHODCALLTYPE *SupportsOverlays)(IDXGIOutput5 *This)
_In_ DXGI_MODE_ROTATION Rotation
Definition: dxgi1_5.h:633
UINT UINT UINT DXGI_FORMAT UINT SwapChainFlags
Definition: dxgi1_5.h:557
_DXGI_OFFER_RESOURCE_FLAGS
Definition: dxgi1_5.h:871
Definition: dxgi1_5.h:425
Definition: dxgi1_2.h:1186
DXGI_FEATURE UINT FeatureSupportDataSize
Definition: dxgi1_5.h:1395
_In_ UINT _In_ UINT Width
Definition: dxgi1_5.h:691
UINT SyncInterval
Definition: dxgi1_5.h:526
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIFactory5 *This
_Out_ DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_5.h:221
UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
Definition: dxgi1_5.h:1273
_In_ const DXGI_MODE_DESC * pModeToMatch
Definition: dxgi1_5.h:190
_In_ DXGI_COLOR_SPACE_TYPE _Out_ UINT * pColorSpaceSupport
Definition: dxgi1_5.h:679
_Out_ DXGI_SWAP_CHAIN_DESC1 * pDesc
Definition: dxgi1_5.h:586
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_5.h:164
EXTERN_C const IID IID_IDXGIOutput5
Definition: dxgi1_5.h:102
UINT16 BluePrimary[2]
Definition: dxgi1_5.h:429
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0001_v0_0_c_ifspec
RPC_IF_HANDLE __MIDL_itf_dxgi1_5_0000_0001_v0_0_s_ifspec
_In_ REFGUID Name
Definition: dxgi1_5.h:1212
UINT16 GreenPrimary[2]
Definition: dxgi1_5.h:428
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_5.h:576
The text renderer interface represents a set of application-defined callbacks that perform rendering ...
Definition: d3d8types.h:57
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISwapChain4 *This
_In_ DXGI_FORMAT Format
Definition: dxgi1_5.h:283
_In_ const DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_5.h:216
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_5.h:1220
_COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi1_5.h:571
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_5.h:236
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_5.h:497
DXGI_OUTDUPL_FLAG
Definition: dxgi1_5.h:84
_In_ REFGUID Name
Definition: dxgi1_5.h:489
Definition: dxgi1_5.h:1159
interface IDXGIDevice4 IDXGIDevice4
Definition: dxgi1_5.h:58
interface IDXGIOutput4 IDXGIOutput4
Definition: dxgi1_4.h:51
_In_ HANDLE hEvent
Definition: dxgi1_5.h:1330
void(STDMETHODCALLTYPE *Trim)(IDXGIDevice4 *This)
UINT UINT Width
Definition: dxgi1_5.h:557
_In_ UINT _In_ UINT _In_ UINT _In_ DXGI_FORMAT Format
Definition: dxgi1_5.h:691
void(STDMETHODCALLTYPE *ReleaseOwnership)(IDXGIOutput5 *This)