RetroArch
dxgi1_4.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_4_h__
34 #define __dxgi1_4_h__
35 
36 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
37 #pragma once
38 #endif
39 
40 /* Forward Declarations */
41 
42 #ifndef __IDXGISwapChain3_FWD_DEFINED__
43 #define __IDXGISwapChain3_FWD_DEFINED__
44 typedef interface IDXGISwapChain3 IDXGISwapChain3;
45 
46 #endif /* __IDXGISwapChain3_FWD_DEFINED__ */
47 
48 
49 #ifndef __IDXGIOutput4_FWD_DEFINED__
50 #define __IDXGIOutput4_FWD_DEFINED__
51 typedef interface IDXGIOutput4 IDXGIOutput4;
52 
53 #endif /* __IDXGIOutput4_FWD_DEFINED__ */
54 
55 
56 #ifndef __IDXGIFactory4_FWD_DEFINED__
57 #define __IDXGIFactory4_FWD_DEFINED__
58 typedef interface IDXGIFactory4 IDXGIFactory4;
59 
60 #endif /* __IDXGIFactory4_FWD_DEFINED__ */
61 
62 
63 #ifndef __IDXGIAdapter3_FWD_DEFINED__
64 #define __IDXGIAdapter3_FWD_DEFINED__
65 typedef interface IDXGIAdapter3 IDXGIAdapter3;
66 
67 #endif /* __IDXGIAdapter3_FWD_DEFINED__ */
68 
69 
70 /* header files for imported files */
71 #include "dxgi1_3.h"
72 
73 #ifdef __cplusplus
74 extern "C"{
75 #endif
76 
77 
78 /* interface __MIDL_itf_dxgi1_4_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  {
90 
91 
92 
95 
96 #ifndef __IDXGISwapChain3_INTERFACE_DEFINED__
97 #define __IDXGISwapChain3_INTERFACE_DEFINED__
98 
99 /* interface IDXGISwapChain3 */
100 /* [unique][local][uuid][object] */
101 
102 
103 EXTERN_C const IID IID_IDXGISwapChain3;
104 
105 #if defined(__cplusplus) && !defined(CINTERFACE)
106 
107  MIDL_INTERFACE("94d99bdb-f1f8-4ab0-b236-7da0170edab1")
109  {
110  public:
111  virtual UINT STDMETHODCALLTYPE GetCurrentBackBufferIndex( void) = 0;
112 
113  virtual HRESULT STDMETHODCALLTYPE CheckColorSpaceSupport(
114  /* [annotation][in] */
115  _In_ DXGI_COLOR_SPACE_TYPE ColorSpace,
116  /* [annotation][out] */
117  _Out_ UINT *pColorSpaceSupport) = 0;
118 
119  virtual HRESULT STDMETHODCALLTYPE SetColorSpace1(
120  /* [annotation][in] */
121  _In_ DXGI_COLOR_SPACE_TYPE ColorSpace) = 0;
122 
123  virtual HRESULT STDMETHODCALLTYPE ResizeBuffers1(
124  /* [annotation][in] */
125  _In_ UINT BufferCount,
126  /* [annotation][in] */
127  _In_ UINT Width,
128  /* [annotation][in] */
129  _In_ UINT Height,
130  /* [annotation][in] */
131  _In_ DXGI_FORMAT Format,
132  /* [annotation][in] */
133  _In_ UINT SwapChainFlags,
134  /* [annotation][in] */
135  _In_reads_(BufferCount) const UINT *pCreationNodeMask,
136  /* [annotation][in] */
137  _In_reads_(BufferCount) IUnknown *const *ppPresentQueue) = 0;
138 
139  };
140 
141 
142 #else /* C style interface */
143 
144  typedef struct IDXGISwapChain3Vtbl
145  {
146  BEGIN_INTERFACE
147 
148  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
149  IDXGISwapChain3 * This,
150  /* [in] */ REFIID riid,
151  /* [annotation][iid_is][out] */
152  _COM_Outptr_ void **ppvObject);
153 
154  ULONG ( STDMETHODCALLTYPE *AddRef )(
155  IDXGISwapChain3 * This);
156 
157  ULONG ( STDMETHODCALLTYPE *Release )(
158  IDXGISwapChain3 * This);
159 
160  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
161  IDXGISwapChain3 * This,
162  /* [annotation][in] */
163  _In_ REFGUID Name,
164  /* [in] */ UINT DataSize,
165  /* [annotation][in] */
166  _In_reads_bytes_(DataSize) const void *pData);
167 
168  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
169  IDXGISwapChain3 * This,
170  /* [annotation][in] */
171  _In_ REFGUID Name,
172  /* [annotation][in] */
173  _In_opt_ const IUnknown *pUnknown);
174 
175  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
176  IDXGISwapChain3 * This,
177  /* [annotation][in] */
178  _In_ REFGUID Name,
179  /* [annotation][out][in] */
180  _Inout_ UINT *pDataSize,
181  /* [annotation][out] */
182  _Out_writes_bytes_(*pDataSize) void *pData);
183 
184  HRESULT ( STDMETHODCALLTYPE *GetParent )(
185  IDXGISwapChain3 * This,
186  /* [annotation][in] */
187  _In_ REFIID riid,
188  /* [annotation][retval][out] */
189  _COM_Outptr_ void **ppParent);
190 
191  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
192  IDXGISwapChain3 * This,
193  /* [annotation][in] */
194  _In_ REFIID riid,
195  /* [annotation][retval][out] */
196  _COM_Outptr_ void **ppDevice);
197 
198  HRESULT ( STDMETHODCALLTYPE *Present )(
199  IDXGISwapChain3 * This,
200  /* [in] */ UINT SyncInterval,
201  /* [in] */ UINT Flags);
202 
203  HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
204  IDXGISwapChain3 * This,
205  /* [in] */ UINT Buffer,
206  /* [annotation][in] */
207  _In_ REFIID riid,
208  /* [annotation][out][in] */
209  _COM_Outptr_ void **ppSurface);
210 
211  HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )(
212  IDXGISwapChain3 * This,
213  /* [in] */ BOOL Fullscreen,
214  /* [annotation][in] */
215  _In_opt_ IDXGIOutput *pTarget);
216 
217  HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )(
218  IDXGISwapChain3 * This,
219  /* [annotation][out] */
220  _Out_opt_ BOOL *pFullscreen,
221  /* [annotation][out] */
222  _COM_Outptr_opt_result_maybenull_ IDXGIOutput **ppTarget);
223 
224  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
225  IDXGISwapChain3 * This,
226  /* [annotation][out] */
228 
229  HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )(
230  IDXGISwapChain3 * This,
231  /* [in] */ UINT BufferCount,
232  /* [in] */ UINT Width,
233  /* [in] */ UINT Height,
234  /* [in] */ DXGI_FORMAT NewFormat,
235  /* [in] */ UINT SwapChainFlags);
236 
237  HRESULT ( STDMETHODCALLTYPE *ResizeTarget )(
238  IDXGISwapChain3 * This,
239  /* [annotation][in] */
241 
242  HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )(
243  IDXGISwapChain3 * This,
244  /* [annotation][out] */
245  _COM_Outptr_ IDXGIOutput **ppOutput);
246 
247  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
248  IDXGISwapChain3 * This,
249  /* [annotation][out] */
251 
252  HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )(
253  IDXGISwapChain3 * This,
254  /* [annotation][out] */
256 
257  HRESULT ( STDMETHODCALLTYPE *GetDesc1 )(
258  IDXGISwapChain3 * This,
259  /* [annotation][out] */
261 
262  HRESULT ( STDMETHODCALLTYPE *GetFullscreenDesc )(
263  IDXGISwapChain3 * This,
264  /* [annotation][out] */
266 
267  HRESULT ( STDMETHODCALLTYPE *GetHwnd )(
268  IDXGISwapChain3 * This,
269  /* [annotation][out] */
270  _Out_ HWND *pHwnd);
271 
272  HRESULT ( STDMETHODCALLTYPE *GetCoreWindow )(
273  IDXGISwapChain3 * This,
274  /* [annotation][in] */
275  _In_ REFIID refiid,
276  /* [annotation][out] */
277  _COM_Outptr_ void **ppUnk);
278 
279  HRESULT ( STDMETHODCALLTYPE *Present1 )(
280  IDXGISwapChain3 * This,
281  /* [in] */ UINT SyncInterval,
282  /* [in] */ UINT PresentFlags,
283  /* [annotation][in] */
285 
286  BOOL ( STDMETHODCALLTYPE *IsTemporaryMonoSupported )(
287  IDXGISwapChain3 * This);
288 
289  HRESULT ( STDMETHODCALLTYPE *GetRestrictToOutput )(
290  IDXGISwapChain3 * This,
291  /* [annotation][out] */
293 
294  HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )(
295  IDXGISwapChain3 * This,
296  /* [annotation][in] */
297  _In_ const DXGI_RGBA *pColor);
298 
299  HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )(
300  IDXGISwapChain3 * This,
301  /* [annotation][out] */
302  _Out_ DXGI_RGBA *pColor);
303 
304  HRESULT ( STDMETHODCALLTYPE *SetRotation )(
305  IDXGISwapChain3 * This,
306  /* [annotation][in] */
308 
309  HRESULT ( STDMETHODCALLTYPE *GetRotation )(
310  IDXGISwapChain3 * This,
311  /* [annotation][out] */
313 
314  HRESULT ( STDMETHODCALLTYPE *SetSourceSize )(
315  IDXGISwapChain3 * This,
317  UINT Height);
318 
319  HRESULT ( STDMETHODCALLTYPE *GetSourceSize )(
320  IDXGISwapChain3 * This,
321  /* [annotation][out] */
322  _Out_ UINT *pWidth,
323  /* [annotation][out] */
324  _Out_ UINT *pHeight);
325 
326  HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )(
327  IDXGISwapChain3 * This,
329 
330  HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )(
331  IDXGISwapChain3 * This,
332  /* [annotation][out] */
333  _Out_ UINT *pMaxLatency);
334 
335  HANDLE ( STDMETHODCALLTYPE *GetFrameLatencyWaitableObject )(
336  IDXGISwapChain3 * This);
337 
338  HRESULT ( STDMETHODCALLTYPE *SetMatrixTransform )(
339  IDXGISwapChain3 * This,
341 
342  HRESULT ( STDMETHODCALLTYPE *GetMatrixTransform )(
343  IDXGISwapChain3 * This,
344  /* [annotation][out] */
346 
347  UINT ( STDMETHODCALLTYPE *GetCurrentBackBufferIndex )(
348  IDXGISwapChain3 * This);
349 
350  HRESULT ( STDMETHODCALLTYPE *CheckColorSpaceSupport )(
351  IDXGISwapChain3 * This,
352  /* [annotation][in] */
354  /* [annotation][out] */
355  _Out_ UINT *pColorSpaceSupport);
356 
357  HRESULT ( STDMETHODCALLTYPE *SetColorSpace1 )(
358  IDXGISwapChain3 * This,
359  /* [annotation][in] */
361 
362  HRESULT ( STDMETHODCALLTYPE *ResizeBuffers1 )(
363  IDXGISwapChain3 * This,
364  /* [annotation][in] */
366  /* [annotation][in] */
367  _In_ UINT Width,
368  /* [annotation][in] */
369  _In_ UINT Height,
370  /* [annotation][in] */
371  _In_ DXGI_FORMAT Format,
372  /* [annotation][in] */
373  _In_ UINT SwapChainFlags,
374  /* [annotation][in] */
375  _In_reads_(BufferCount) const UINT *pCreationNodeMask,
376  /* [annotation][in] */
377  _In_reads_(BufferCount) IUnknown *const *ppPresentQueue);
378 
379  END_INTERFACE
381 
382  interface IDXGISwapChain3
383  {
384  CONST_VTBL struct IDXGISwapChain3Vtbl *lpVtbl;
385  };
386 
387 
388 
389 #ifdef COBJMACROS
390 
391 
392 #define IDXGISwapChain3_QueryInterface(This,riid,ppvObject) \
393  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
394 
395 #define IDXGISwapChain3_AddRef(This) \
396  ( (This)->lpVtbl -> AddRef(This) )
397 
398 #define IDXGISwapChain3_Release(This) \
399  ( (This)->lpVtbl -> Release(This) )
400 
401 
402 #define IDXGISwapChain3_SetPrivateData(This,Name,DataSize,pData) \
403  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
404 
405 #define IDXGISwapChain3_SetPrivateDataInterface(This,Name,pUnknown) \
406  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
407 
408 #define IDXGISwapChain3_GetPrivateData(This,Name,pDataSize,pData) \
409  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
410 
411 #define IDXGISwapChain3_GetParent(This,riid,ppParent) \
412  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
413 
414 
415 #define IDXGISwapChain3_GetDevice(This,riid,ppDevice) \
416  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
417 
418 
419 #define IDXGISwapChain3_Present(This,SyncInterval,Flags) \
420  ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) )
421 
422 #define IDXGISwapChain3_GetBuffer(This,Buffer,riid,ppSurface) \
423  ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) )
424 
425 #define IDXGISwapChain3_SetFullscreenState(This,Fullscreen,pTarget) \
426  ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) )
427 
428 #define IDXGISwapChain3_GetFullscreenState(This,pFullscreen,ppTarget) \
429  ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) )
430 
431 #define IDXGISwapChain3_GetDesc(This,pDesc) \
432  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
433 
434 #define IDXGISwapChain3_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) \
435  ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) )
436 
437 #define IDXGISwapChain3_ResizeTarget(This,pNewTargetParameters) \
438  ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) )
439 
440 #define IDXGISwapChain3_GetContainingOutput(This,ppOutput) \
441  ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) )
442 
443 #define IDXGISwapChain3_GetFrameStatistics(This,pStats) \
444  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
445 
446 #define IDXGISwapChain3_GetLastPresentCount(This,pLastPresentCount) \
447  ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) )
448 
449 
450 #define IDXGISwapChain3_GetDesc1(This,pDesc) \
451  ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
452 
453 #define IDXGISwapChain3_GetFullscreenDesc(This,pDesc) \
454  ( (This)->lpVtbl -> GetFullscreenDesc(This,pDesc) )
455 
456 #define IDXGISwapChain3_GetHwnd(This,pHwnd) \
457  ( (This)->lpVtbl -> GetHwnd(This,pHwnd) )
458 
459 #define IDXGISwapChain3_GetCoreWindow(This,refiid,ppUnk) \
460  ( (This)->lpVtbl -> GetCoreWindow(This,refiid,ppUnk) )
461 
462 #define IDXGISwapChain3_Present1(This,SyncInterval,PresentFlags,pPresentParameters) \
463  ( (This)->lpVtbl -> Present1(This,SyncInterval,PresentFlags,pPresentParameters) )
464 
465 #define IDXGISwapChain3_IsTemporaryMonoSupported(This) \
466  ( (This)->lpVtbl -> IsTemporaryMonoSupported(This) )
467 
468 #define IDXGISwapChain3_GetRestrictToOutput(This,ppRestrictToOutput) \
469  ( (This)->lpVtbl -> GetRestrictToOutput(This,ppRestrictToOutput) )
470 
471 #define IDXGISwapChain3_SetBackgroundColor(This,pColor) \
472  ( (This)->lpVtbl -> SetBackgroundColor(This,pColor) )
473 
474 #define IDXGISwapChain3_GetBackgroundColor(This,pColor) \
475  ( (This)->lpVtbl -> GetBackgroundColor(This,pColor) )
476 
477 #define IDXGISwapChain3_SetRotation(This,Rotation) \
478  ( (This)->lpVtbl -> SetRotation(This,Rotation) )
479 
480 #define IDXGISwapChain3_GetRotation(This,pRotation) \
481  ( (This)->lpVtbl -> GetRotation(This,pRotation) )
482 
483 
484 #define IDXGISwapChain3_SetSourceSize(This,Width,Height) \
485  ( (This)->lpVtbl -> SetSourceSize(This,Width,Height) )
486 
487 #define IDXGISwapChain3_GetSourceSize(This,pWidth,pHeight) \
488  ( (This)->lpVtbl -> GetSourceSize(This,pWidth,pHeight) )
489 
490 #define IDXGISwapChain3_SetMaximumFrameLatency(This,MaxLatency) \
491  ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) )
492 
493 #define IDXGISwapChain3_GetMaximumFrameLatency(This,pMaxLatency) \
494  ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) )
495 
496 #define IDXGISwapChain3_GetFrameLatencyWaitableObject(This) \
497  ( (This)->lpVtbl -> GetFrameLatencyWaitableObject(This) )
498 
499 #define IDXGISwapChain3_SetMatrixTransform(This,pMatrix) \
500  ( (This)->lpVtbl -> SetMatrixTransform(This,pMatrix) )
501 
502 #define IDXGISwapChain3_GetMatrixTransform(This,pMatrix) \
503  ( (This)->lpVtbl -> GetMatrixTransform(This,pMatrix) )
504 
505 
506 #define IDXGISwapChain3_GetCurrentBackBufferIndex(This) \
507  ( (This)->lpVtbl -> GetCurrentBackBufferIndex(This) )
508 
509 #define IDXGISwapChain3_CheckColorSpaceSupport(This,ColorSpace,pColorSpaceSupport) \
510  ( (This)->lpVtbl -> CheckColorSpaceSupport(This,ColorSpace,pColorSpaceSupport) )
511 
512 #define IDXGISwapChain3_SetColorSpace1(This,ColorSpace) \
513  ( (This)->lpVtbl -> SetColorSpace1(This,ColorSpace) )
514 
515 #define IDXGISwapChain3_ResizeBuffers1(This,BufferCount,Width,Height,Format,SwapChainFlags,pCreationNodeMask,ppPresentQueue) \
516  ( (This)->lpVtbl -> ResizeBuffers1(This,BufferCount,Width,Height,Format,SwapChainFlags,pCreationNodeMask,ppPresentQueue) )
517 
518 #endif /* COBJMACROS */
519 
520 
521 #endif /* C style interface */
522 
523 
524 
525 
526 #endif /* __IDXGISwapChain3_INTERFACE_DEFINED__ */
527 
528 
529 /* interface __MIDL_itf_dxgi1_4_0000_0001 */
530 /* [local] */
531 
532 typedef
534  {
537 
538 
539 
540 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0001_v0_0_c_ifspec;
541 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0001_v0_0_s_ifspec;
542 
543 #ifndef __IDXGIOutput4_INTERFACE_DEFINED__
544 #define __IDXGIOutput4_INTERFACE_DEFINED__
545 
546 /* interface IDXGIOutput4 */
547 /* [unique][local][uuid][object] */
548 
549 
550 EXTERN_C const IID IID_IDXGIOutput4;
551 
552 #if defined(__cplusplus) && !defined(CINTERFACE)
553 
554  MIDL_INTERFACE("dc7dca35-2196-414d-9F53-617884032a60")
555  IDXGIOutput4 : public IDXGIOutput3
556  {
557  public:
558  virtual HRESULT STDMETHODCALLTYPE CheckOverlayColorSpaceSupport(
559  /* [annotation][in] */
560  _In_ DXGI_FORMAT Format,
561  /* [annotation][in] */
563  /* [annotation][in] */
564  _In_ IUnknown *pConcernedDevice,
565  /* [annotation][out] */
566  _Out_ UINT *pFlags) = 0;
567 
568  };
569 
570 
571 #else /* C style interface */
572 
573  typedef struct IDXGIOutput4Vtbl
574  {
575  BEGIN_INTERFACE
576 
577  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
578  IDXGIOutput4 * This,
579  /* [in] */ REFIID riid,
580  /* [annotation][iid_is][out] */
581  _COM_Outptr_ void **ppvObject);
582 
583  ULONG ( STDMETHODCALLTYPE *AddRef )(
584  IDXGIOutput4 * This);
585 
586  ULONG ( STDMETHODCALLTYPE *Release )(
587  IDXGIOutput4 * This);
588 
589  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
590  IDXGIOutput4 * This,
591  /* [annotation][in] */
592  _In_ REFGUID Name,
593  /* [in] */ UINT DataSize,
594  /* [annotation][in] */
595  _In_reads_bytes_(DataSize) const void *pData);
596 
597  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
598  IDXGIOutput4 * This,
599  /* [annotation][in] */
600  _In_ REFGUID Name,
601  /* [annotation][in] */
602  _In_opt_ const IUnknown *pUnknown);
603 
604  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
605  IDXGIOutput4 * This,
606  /* [annotation][in] */
607  _In_ REFGUID Name,
608  /* [annotation][out][in] */
609  _Inout_ UINT *pDataSize,
610  /* [annotation][out] */
611  _Out_writes_bytes_(*pDataSize) void *pData);
612 
613  HRESULT ( STDMETHODCALLTYPE *GetParent )(
614  IDXGIOutput4 * This,
615  /* [annotation][in] */
616  _In_ REFIID riid,
617  /* [annotation][retval][out] */
618  _COM_Outptr_ void **ppParent);
619 
620  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
621  IDXGIOutput4 * This,
622  /* [annotation][out] */
624 
625  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )(
626  IDXGIOutput4 * This,
628  /* [in] */ UINT Flags,
629  /* [annotation][out][in] */
630  _Inout_ UINT *pNumModes,
631  /* [annotation][out] */
632  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC *pDesc);
633 
634  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )(
635  IDXGIOutput4 * This,
636  /* [annotation][in] */
638  /* [annotation][out] */
640  /* [annotation][in] */
641  _In_opt_ IUnknown *pConcernedDevice);
642 
643  HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )(
644  IDXGIOutput4 * This);
645 
646  HRESULT ( STDMETHODCALLTYPE *TakeOwnership )(
647  IDXGIOutput4 * This,
648  /* [annotation][in] */
649  _In_ IUnknown *pDevice,
650  BOOL Exclusive);
651 
652  void ( STDMETHODCALLTYPE *ReleaseOwnership )(
653  IDXGIOutput4 * This);
654 
655  HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )(
656  IDXGIOutput4 * This,
657  /* [annotation][out] */
659 
660  HRESULT ( STDMETHODCALLTYPE *SetGammaControl )(
661  IDXGIOutput4 * This,
662  /* [annotation][in] */
664 
665  HRESULT ( STDMETHODCALLTYPE *GetGammaControl )(
666  IDXGIOutput4 * This,
667  /* [annotation][out] */
669 
670  HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )(
671  IDXGIOutput4 * This,
672  /* [annotation][in] */
674 
675  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )(
676  IDXGIOutput4 * This,
677  /* [annotation][in] */
679 
680  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
681  IDXGIOutput4 * This,
682  /* [annotation][out] */
684 
685  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )(
686  IDXGIOutput4 * This,
687  /* [in] */ DXGI_FORMAT EnumFormat,
688  /* [in] */ UINT Flags,
689  /* [annotation][out][in] */
690  _Inout_ UINT *pNumModes,
691  /* [annotation][out] */
692  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC1 *pDesc);
693 
694  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )(
695  IDXGIOutput4 * This,
696  /* [annotation][in] */
698  /* [annotation][out] */
700  /* [annotation][in] */
701  _In_opt_ IUnknown *pConcernedDevice);
702 
703  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )(
704  IDXGIOutput4 * This,
705  /* [annotation][in] */
707 
708  HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )(
709  IDXGIOutput4 * This,
710  /* [annotation][in] */
711  _In_ IUnknown *pDevice,
712  /* [annotation][out] */
714 
715  BOOL ( STDMETHODCALLTYPE *SupportsOverlays )(
716  IDXGIOutput4 * This);
717 
718  HRESULT ( STDMETHODCALLTYPE *CheckOverlaySupport )(
719  IDXGIOutput4 * This,
720  /* [annotation][in] */
722  /* [annotation][out] */
723  _In_ IUnknown *pConcernedDevice,
724  /* [annotation][out] */
725  _Out_ UINT *pFlags);
726 
727  HRESULT ( STDMETHODCALLTYPE *CheckOverlayColorSpaceSupport )(
728  IDXGIOutput4 * This,
729  /* [annotation][in] */
731  /* [annotation][in] */
733  /* [annotation][in] */
734  _In_ IUnknown *pConcernedDevice,
735  /* [annotation][out] */
736  _Out_ UINT *pFlags);
737 
738  END_INTERFACE
740 
741  interface IDXGIOutput4
742  {
743  CONST_VTBL struct IDXGIOutput4Vtbl *lpVtbl;
744  };
745 
746 
747 
748 #ifdef COBJMACROS
749 
750 
751 #define IDXGIOutput4_QueryInterface(This,riid,ppvObject) \
752  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
753 
754 #define IDXGIOutput4_AddRef(This) \
755  ( (This)->lpVtbl -> AddRef(This) )
756 
757 #define IDXGIOutput4_Release(This) \
758  ( (This)->lpVtbl -> Release(This) )
759 
760 
761 #define IDXGIOutput4_SetPrivateData(This,Name,DataSize,pData) \
762  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
763 
764 #define IDXGIOutput4_SetPrivateDataInterface(This,Name,pUnknown) \
765  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
766 
767 #define IDXGIOutput4_GetPrivateData(This,Name,pDataSize,pData) \
768  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
769 
770 #define IDXGIOutput4_GetParent(This,riid,ppParent) \
771  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
772 
773 
774 #define IDXGIOutput4_GetDesc(This,pDesc) \
775  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
776 
777 #define IDXGIOutput4_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) \
778  ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) )
779 
780 #define IDXGIOutput4_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
781  ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
782 
783 #define IDXGIOutput4_WaitForVBlank(This) \
784  ( (This)->lpVtbl -> WaitForVBlank(This) )
785 
786 #define IDXGIOutput4_TakeOwnership(This,pDevice,Exclusive) \
787  ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) )
788 
789 #define IDXGIOutput4_ReleaseOwnership(This) \
790  ( (This)->lpVtbl -> ReleaseOwnership(This) )
791 
792 #define IDXGIOutput4_GetGammaControlCapabilities(This,pGammaCaps) \
793  ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) )
794 
795 #define IDXGIOutput4_SetGammaControl(This,pArray) \
796  ( (This)->lpVtbl -> SetGammaControl(This,pArray) )
797 
798 #define IDXGIOutput4_GetGammaControl(This,pArray) \
799  ( (This)->lpVtbl -> GetGammaControl(This,pArray) )
800 
801 #define IDXGIOutput4_SetDisplaySurface(This,pScanoutSurface) \
802  ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) )
803 
804 #define IDXGIOutput4_GetDisplaySurfaceData(This,pDestination) \
805  ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) )
806 
807 #define IDXGIOutput4_GetFrameStatistics(This,pStats) \
808  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
809 
810 
811 #define IDXGIOutput4_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) \
812  ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) )
813 
814 #define IDXGIOutput4_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
815  ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
816 
817 #define IDXGIOutput4_GetDisplaySurfaceData1(This,pDestination) \
818  ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) )
819 
820 #define IDXGIOutput4_DuplicateOutput(This,pDevice,ppOutputDuplication) \
821  ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) )
822 
823 
824 #define IDXGIOutput4_SupportsOverlays(This) \
825  ( (This)->lpVtbl -> SupportsOverlays(This) )
826 
827 
828 #define IDXGIOutput4_CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags) \
829  ( (This)->lpVtbl -> CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags) )
830 
831 
832 #define IDXGIOutput4_CheckOverlayColorSpaceSupport(This,Format,ColorSpace,pConcernedDevice,pFlags) \
833  ( (This)->lpVtbl -> CheckOverlayColorSpaceSupport(This,Format,ColorSpace,pConcernedDevice,pFlags) )
834 
835 #endif /* COBJMACROS */
836 
837 
838 #endif /* C style interface */
839 
840 
841 
842 
843 #endif /* __IDXGIOutput4_INTERFACE_DEFINED__ */
844 
845 
846 #ifndef __IDXGIFactory4_INTERFACE_DEFINED__
847 #define __IDXGIFactory4_INTERFACE_DEFINED__
848 
849 /* interface IDXGIFactory4 */
850 /* [unique][local][uuid][object] */
851 
852 
853 EXTERN_C const IID IID_IDXGIFactory4;
854 
855 #if defined(__cplusplus) && !defined(CINTERFACE)
856 
857  MIDL_INTERFACE("1bc6ea02-ef36-464f-bf0c-21ca39e5168a")
859  {
860  public:
861  virtual HRESULT STDMETHODCALLTYPE EnumAdapterByLuid(
862  /* [annotation] */
863  _In_ LUID AdapterLuid,
864  /* [annotation] */
865  _In_ REFIID riid,
866  /* [annotation] */
867  _COM_Outptr_ void **ppvAdapter) = 0;
868 
869  virtual HRESULT STDMETHODCALLTYPE EnumWarpAdapter(
870  /* [annotation] */
871  _In_ REFIID riid,
872  /* [annotation] */
873  _COM_Outptr_ void **ppvAdapter) = 0;
874 
875  };
876 
877 
878 #else /* C style interface */
879 
880  typedef struct IDXGIFactory4Vtbl
881  {
882  BEGIN_INTERFACE
883 
884  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
885  IDXGIFactory4 * This,
886  /* [in] */ REFIID riid,
887  /* [annotation][iid_is][out] */
888  _COM_Outptr_ void **ppvObject);
889 
890  ULONG ( STDMETHODCALLTYPE *AddRef )(
891  IDXGIFactory4 * This);
892 
893  ULONG ( STDMETHODCALLTYPE *Release )(
894  IDXGIFactory4 * This);
895 
896  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
897  IDXGIFactory4 * This,
898  /* [annotation][in] */
899  _In_ REFGUID Name,
900  /* [in] */ UINT DataSize,
901  /* [annotation][in] */
902  _In_reads_bytes_(DataSize) const void *pData);
903 
904  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
905  IDXGIFactory4 * This,
906  /* [annotation][in] */
907  _In_ REFGUID Name,
908  /* [annotation][in] */
909  _In_opt_ const IUnknown *pUnknown);
910 
911  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
912  IDXGIFactory4 * This,
913  /* [annotation][in] */
914  _In_ REFGUID Name,
915  /* [annotation][out][in] */
916  _Inout_ UINT *pDataSize,
917  /* [annotation][out] */
918  _Out_writes_bytes_(*pDataSize) void *pData);
919 
920  HRESULT ( STDMETHODCALLTYPE *GetParent )(
921  IDXGIFactory4 * This,
922  /* [annotation][in] */
923  _In_ REFIID riid,
924  /* [annotation][retval][out] */
925  _COM_Outptr_ void **ppParent);
926 
927  HRESULT ( STDMETHODCALLTYPE *EnumAdapters )(
928  IDXGIFactory4 * This,
929  /* [in] */ UINT Adapter,
930  /* [annotation][out] */
931  _COM_Outptr_ IDXGIAdapter **ppAdapter);
932 
933  HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )(
934  IDXGIFactory4 * This,
936  UINT Flags);
937 
938  HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )(
939  IDXGIFactory4 * This,
940  /* [annotation][out] */
941  _Out_ HWND *pWindowHandle);
942 
943  HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )(
944  IDXGIFactory4 * This,
945  /* [annotation][in] */
946  _In_ IUnknown *pDevice,
947  /* [annotation][in] */
949  /* [annotation][out] */
950  _COM_Outptr_ IDXGISwapChain **ppSwapChain);
951 
952  HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )(
953  IDXGIFactory4 * This,
954  /* [in] */ HMODULE Module,
955  /* [annotation][out] */
956  _COM_Outptr_ IDXGIAdapter **ppAdapter);
957 
958  HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )(
959  IDXGIFactory4 * This,
960  /* [in] */ UINT Adapter,
961  /* [annotation][out] */
962  _COM_Outptr_ IDXGIAdapter1 **ppAdapter);
963 
964  BOOL ( STDMETHODCALLTYPE *IsCurrent )(
965  IDXGIFactory4 * This);
966 
967  BOOL ( STDMETHODCALLTYPE *IsWindowedStereoEnabled )(
968  IDXGIFactory4 * This);
969 
970  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForHwnd )(
971  IDXGIFactory4 * This,
972  /* [annotation][in] */
973  _In_ IUnknown *pDevice,
974  /* [annotation][in] */
975  _In_ HWND hWnd,
976  /* [annotation][in] */
977  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
978  /* [annotation][in] */
980  /* [annotation][in] */
981  _In_opt_ IDXGIOutput *pRestrictToOutput,
982  /* [annotation][out] */
983  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
984 
985  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCoreWindow )(
986  IDXGIFactory4 * This,
987  /* [annotation][in] */
988  _In_ IUnknown *pDevice,
989  /* [annotation][in] */
990  _In_ IUnknown *pWindow,
991  /* [annotation][in] */
992  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
993  /* [annotation][in] */
994  _In_opt_ IDXGIOutput *pRestrictToOutput,
995  /* [annotation][out] */
996  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
997 
998  HRESULT ( STDMETHODCALLTYPE *GetSharedResourceAdapterLuid )(
999  IDXGIFactory4 * This,
1000  /* [annotation] */
1001  _In_ HANDLE hResource,
1002  /* [annotation] */
1003  _Out_ LUID *pLuid);
1004 
1005  HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusWindow )(
1006  IDXGIFactory4 * This,
1007  /* [annotation][in] */
1008  _In_ HWND WindowHandle,
1009  /* [annotation][in] */
1010  _In_ UINT wMsg,
1011  /* [annotation][out] */
1012  _Out_ DWORD *pdwCookie);
1013 
1014  HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusEvent )(
1015  IDXGIFactory4 * This,
1016  /* [annotation][in] */
1017  _In_ HANDLE hEvent,
1018  /* [annotation][out] */
1019  _Out_ DWORD *pdwCookie);
1020 
1021  void ( STDMETHODCALLTYPE *UnregisterStereoStatus )(
1022  IDXGIFactory4 * This,
1023  /* [annotation][in] */
1024  _In_ DWORD dwCookie);
1025 
1026  HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusWindow )(
1027  IDXGIFactory4 * This,
1028  /* [annotation][in] */
1029  _In_ HWND WindowHandle,
1030  /* [annotation][in] */
1031  _In_ UINT wMsg,
1032  /* [annotation][out] */
1033  _Out_ DWORD *pdwCookie);
1034 
1035  HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusEvent )(
1036  IDXGIFactory4 * This,
1037  /* [annotation][in] */
1038  _In_ HANDLE hEvent,
1039  /* [annotation][out] */
1040  _Out_ DWORD *pdwCookie);
1041 
1042  void ( STDMETHODCALLTYPE *UnregisterOcclusionStatus )(
1043  IDXGIFactory4 * This,
1044  /* [annotation][in] */
1045  _In_ DWORD dwCookie);
1046 
1047  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForComposition )(
1048  IDXGIFactory4 * This,
1049  /* [annotation][in] */
1050  _In_ IUnknown *pDevice,
1051  /* [annotation][in] */
1052  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1053  /* [annotation][in] */
1054  _In_opt_ IDXGIOutput *pRestrictToOutput,
1055  /* [annotation][out] */
1056  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1057 
1058  UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
1059  IDXGIFactory4 * This);
1060 
1061  HRESULT ( STDMETHODCALLTYPE *EnumAdapterByLuid )(
1062  IDXGIFactory4 * This,
1063  /* [annotation] */
1064  _In_ LUID AdapterLuid,
1065  /* [annotation] */
1066  _In_ REFIID riid,
1067  /* [annotation] */
1068  _COM_Outptr_ void **ppvAdapter);
1069 
1070  HRESULT ( STDMETHODCALLTYPE *EnumWarpAdapter )(
1071  IDXGIFactory4 * This,
1072  /* [annotation] */
1073  _In_ REFIID riid,
1074  /* [annotation] */
1075  _COM_Outptr_ void **ppvAdapter);
1076 
1077  END_INTERFACE
1079 
1080  interface IDXGIFactory4
1081  {
1082  CONST_VTBL struct IDXGIFactory4Vtbl *lpVtbl;
1083  };
1084 
1085 
1086 
1087 #ifdef COBJMACROS
1088 
1089 
1090 #define IDXGIFactory4_QueryInterface(This,riid,ppvObject) \
1091  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1092 
1093 #define IDXGIFactory4_AddRef(This) \
1094  ( (This)->lpVtbl -> AddRef(This) )
1095 
1096 #define IDXGIFactory4_Release(This) \
1097  ( (This)->lpVtbl -> Release(This) )
1098 
1099 
1100 #define IDXGIFactory4_SetPrivateData(This,Name,DataSize,pData) \
1101  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1102 
1103 #define IDXGIFactory4_SetPrivateDataInterface(This,Name,pUnknown) \
1104  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1105 
1106 #define IDXGIFactory4_GetPrivateData(This,Name,pDataSize,pData) \
1107  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1108 
1109 #define IDXGIFactory4_GetParent(This,riid,ppParent) \
1110  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1111 
1112 
1113 #define IDXGIFactory4_EnumAdapters(This,Adapter,ppAdapter) \
1114  ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) )
1115 
1116 #define IDXGIFactory4_MakeWindowAssociation(This,WindowHandle,Flags) \
1117  ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) )
1118 
1119 #define IDXGIFactory4_GetWindowAssociation(This,pWindowHandle) \
1120  ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) )
1121 
1122 #define IDXGIFactory4_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \
1123  ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) )
1124 
1125 #define IDXGIFactory4_CreateSoftwareAdapter(This,Module,ppAdapter) \
1126  ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) )
1127 
1128 
1129 #define IDXGIFactory4_EnumAdapters1(This,Adapter,ppAdapter) \
1130  ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) )
1131 
1132 #define IDXGIFactory4_IsCurrent(This) \
1133  ( (This)->lpVtbl -> IsCurrent(This) )
1134 
1135 
1136 #define IDXGIFactory4_IsWindowedStereoEnabled(This) \
1137  ( (This)->lpVtbl -> IsWindowedStereoEnabled(This) )
1138 
1139 #define IDXGIFactory4_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) \
1140  ( (This)->lpVtbl -> CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) )
1141 
1142 #define IDXGIFactory4_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) \
1143  ( (This)->lpVtbl -> CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) )
1144 
1145 #define IDXGIFactory4_GetSharedResourceAdapterLuid(This,hResource,pLuid) \
1146  ( (This)->lpVtbl -> GetSharedResourceAdapterLuid(This,hResource,pLuid) )
1147 
1148 #define IDXGIFactory4_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) \
1149  ( (This)->lpVtbl -> RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) )
1150 
1151 #define IDXGIFactory4_RegisterStereoStatusEvent(This,hEvent,pdwCookie) \
1152  ( (This)->lpVtbl -> RegisterStereoStatusEvent(This,hEvent,pdwCookie) )
1153 
1154 #define IDXGIFactory4_UnregisterStereoStatus(This,dwCookie) \
1155  ( (This)->lpVtbl -> UnregisterStereoStatus(This,dwCookie) )
1156 
1157 #define IDXGIFactory4_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) \
1158  ( (This)->lpVtbl -> RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) )
1159 
1160 #define IDXGIFactory4_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) \
1161  ( (This)->lpVtbl -> RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) )
1162 
1163 #define IDXGIFactory4_UnregisterOcclusionStatus(This,dwCookie) \
1164  ( (This)->lpVtbl -> UnregisterOcclusionStatus(This,dwCookie) )
1165 
1166 #define IDXGIFactory4_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) \
1167  ( (This)->lpVtbl -> CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) )
1168 
1169 
1170 #define IDXGIFactory4_GetCreationFlags(This) \
1171  ( (This)->lpVtbl -> GetCreationFlags(This) )
1172 
1173 
1174 #define IDXGIFactory4_EnumAdapterByLuid(This,AdapterLuid,riid,ppvAdapter) \
1175  ( (This)->lpVtbl -> EnumAdapterByLuid(This,AdapterLuid,riid,ppvAdapter) )
1176 
1177 #define IDXGIFactory4_EnumWarpAdapter(This,riid,ppvAdapter) \
1178  ( (This)->lpVtbl -> EnumWarpAdapter(This,riid,ppvAdapter) )
1179 
1180 #endif /* COBJMACROS */
1181 
1182 
1183 #endif /* C style interface */
1184 
1185 
1186 
1187 
1188 #endif /* __IDXGIFactory4_INTERFACE_DEFINED__ */
1189 
1190 
1191 /* interface __MIDL_itf_dxgi1_4_0000_0003 */
1192 /* [local] */
1193 
1194 typedef
1196  {
1200 
1202  {
1208 
1209 
1210 
1211 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0003_v0_0_c_ifspec;
1212 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0003_v0_0_s_ifspec;
1213 
1214 #ifndef __IDXGIAdapter3_INTERFACE_DEFINED__
1215 #define __IDXGIAdapter3_INTERFACE_DEFINED__
1216 
1217 /* interface IDXGIAdapter3 */
1218 /* [unique][local][uuid][object] */
1219 
1220 
1221 EXTERN_C const IID IID_IDXGIAdapter3;
1222 
1223 #if defined(__cplusplus) && !defined(CINTERFACE)
1224 
1225  MIDL_INTERFACE("645967A4-1392-4310-A798-8053CE3E93FD")
1226  IDXGIAdapter3 : public IDXGIAdapter2
1227  {
1228  public:
1229  virtual HRESULT STDMETHODCALLTYPE RegisterHardwareContentProtectionTeardownStatusEvent(
1230  /* [annotation][in] */
1231  _In_ HANDLE hEvent,
1232  /* [annotation][out] */
1233  _Out_ DWORD *pdwCookie) = 0;
1234 
1235  virtual void STDMETHODCALLTYPE UnregisterHardwareContentProtectionTeardownStatus(
1236  /* [annotation][in] */
1237  _In_ DWORD dwCookie) = 0;
1238 
1239  virtual HRESULT STDMETHODCALLTYPE QueryVideoMemoryInfo(
1240  /* [annotation][in] */
1241  _In_ UINT NodeIndex,
1242  /* [annotation][in] */
1243  _In_ DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,
1244  /* [annotation][out] */
1245  _Out_ DXGI_QUERY_VIDEO_MEMORY_INFO *pVideoMemoryInfo) = 0;
1246 
1247  virtual HRESULT STDMETHODCALLTYPE SetVideoMemoryReservation(
1248  /* [annotation][in] */
1249  _In_ UINT NodeIndex,
1250  /* [annotation][in] */
1251  _In_ DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,
1252  /* [annotation][in] */
1253  _In_ UINT64 Reservation) = 0;
1254 
1255  virtual HRESULT STDMETHODCALLTYPE RegisterVideoMemoryBudgetChangeNotificationEvent(
1256  /* [annotation][in] */
1257  _In_ HANDLE hEvent,
1258  /* [annotation][out] */
1259  _Out_ DWORD *pdwCookie) = 0;
1260 
1261  virtual void STDMETHODCALLTYPE UnregisterVideoMemoryBudgetChangeNotification(
1262  /* [annotation][in] */
1263  _In_ DWORD dwCookie) = 0;
1264 
1265  };
1266 
1267 
1268 #else /* C style interface */
1269 
1270  typedef struct IDXGIAdapter3Vtbl
1271  {
1272  BEGIN_INTERFACE
1273 
1274  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1275  IDXGIAdapter3 * This,
1276  /* [in] */ REFIID riid,
1277  /* [annotation][iid_is][out] */
1278  _COM_Outptr_ void **ppvObject);
1279 
1280  ULONG ( STDMETHODCALLTYPE *AddRef )(
1281  IDXGIAdapter3 * This);
1282 
1283  ULONG ( STDMETHODCALLTYPE *Release )(
1284  IDXGIAdapter3 * This);
1285 
1286  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1287  IDXGIAdapter3 * This,
1288  /* [annotation][in] */
1289  _In_ REFGUID Name,
1290  /* [in] */ UINT DataSize,
1291  /* [annotation][in] */
1292  _In_reads_bytes_(DataSize) const void *pData);
1293 
1294  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1295  IDXGIAdapter3 * This,
1296  /* [annotation][in] */
1297  _In_ REFGUID Name,
1298  /* [annotation][in] */
1299  _In_opt_ const IUnknown *pUnknown);
1300 
1301  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1302  IDXGIAdapter3 * This,
1303  /* [annotation][in] */
1304  _In_ REFGUID Name,
1305  /* [annotation][out][in] */
1306  _Inout_ UINT *pDataSize,
1307  /* [annotation][out] */
1308  _Out_writes_bytes_(*pDataSize) void *pData);
1309 
1310  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1311  IDXGIAdapter3 * This,
1312  /* [annotation][in] */
1313  _In_ REFIID riid,
1314  /* [annotation][retval][out] */
1315  _COM_Outptr_ void **ppParent);
1316 
1317  HRESULT ( STDMETHODCALLTYPE *EnumOutputs )(
1318  IDXGIAdapter3 * This,
1319  /* [in] */ UINT Output,
1320  /* [annotation][out][in] */
1321  _COM_Outptr_ IDXGIOutput **ppOutput);
1322 
1323  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1324  IDXGIAdapter3 * This,
1325  /* [annotation][out] */
1327 
1328  HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )(
1329  IDXGIAdapter3 * This,
1330  /* [annotation][in] */
1331  _In_ REFGUID InterfaceName,
1332  /* [annotation][out] */
1333  _Out_ LARGE_INTEGER *pUMDVersion);
1334 
1335  HRESULT ( STDMETHODCALLTYPE *GetDesc1 )(
1336  IDXGIAdapter3 * This,
1337  /* [annotation][out] */
1339 
1340  HRESULT ( STDMETHODCALLTYPE *GetDesc2 )(
1341  IDXGIAdapter3 * This,
1342  /* [annotation][out] */
1344 
1345  HRESULT ( STDMETHODCALLTYPE *RegisterHardwareContentProtectionTeardownStatusEvent )(
1346  IDXGIAdapter3 * This,
1347  /* [annotation][in] */
1348  _In_ HANDLE hEvent,
1349  /* [annotation][out] */
1350  _Out_ DWORD *pdwCookie);
1351 
1352  void ( STDMETHODCALLTYPE *UnregisterHardwareContentProtectionTeardownStatus )(
1353  IDXGIAdapter3 * This,
1354  /* [annotation][in] */
1355  _In_ DWORD dwCookie);
1356 
1357  HRESULT ( STDMETHODCALLTYPE *QueryVideoMemoryInfo )(
1358  IDXGIAdapter3 * This,
1359  /* [annotation][in] */
1361  /* [annotation][in] */
1363  /* [annotation][out] */
1365 
1366  HRESULT ( STDMETHODCALLTYPE *SetVideoMemoryReservation )(
1367  IDXGIAdapter3 * This,
1368  /* [annotation][in] */
1370  /* [annotation][in] */
1372  /* [annotation][in] */
1373  _In_ UINT64 Reservation);
1374 
1375  HRESULT ( STDMETHODCALLTYPE *RegisterVideoMemoryBudgetChangeNotificationEvent )(
1376  IDXGIAdapter3 * This,
1377  /* [annotation][in] */
1378  _In_ HANDLE hEvent,
1379  /* [annotation][out] */
1380  _Out_ DWORD *pdwCookie);
1381 
1382  void ( STDMETHODCALLTYPE *UnregisterVideoMemoryBudgetChangeNotification )(
1383  IDXGIAdapter3 * This,
1384  /* [annotation][in] */
1385  _In_ DWORD dwCookie);
1386 
1387  END_INTERFACE
1389 
1390  interface IDXGIAdapter3
1391  {
1392  CONST_VTBL struct IDXGIAdapter3Vtbl *lpVtbl;
1393  };
1394 
1395 
1396 
1397 #ifdef COBJMACROS
1398 
1399 
1400 #define IDXGIAdapter3_QueryInterface(This,riid,ppvObject) \
1401  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1402 
1403 #define IDXGIAdapter3_AddRef(This) \
1404  ( (This)->lpVtbl -> AddRef(This) )
1405 
1406 #define IDXGIAdapter3_Release(This) \
1407  ( (This)->lpVtbl -> Release(This) )
1408 
1409 
1410 #define IDXGIAdapter3_SetPrivateData(This,Name,DataSize,pData) \
1411  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1412 
1413 #define IDXGIAdapter3_SetPrivateDataInterface(This,Name,pUnknown) \
1414  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1415 
1416 #define IDXGIAdapter3_GetPrivateData(This,Name,pDataSize,pData) \
1417  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1418 
1419 #define IDXGIAdapter3_GetParent(This,riid,ppParent) \
1420  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1421 
1422 
1423 #define IDXGIAdapter3_EnumOutputs(This,Output,ppOutput) \
1424  ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) )
1425 
1426 #define IDXGIAdapter3_GetDesc(This,pDesc) \
1427  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
1428 
1429 #define IDXGIAdapter3_CheckInterfaceSupport(This,InterfaceName,pUMDVersion) \
1430  ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) )
1431 
1432 
1433 #define IDXGIAdapter3_GetDesc1(This,pDesc) \
1434  ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
1435 
1436 
1437 #define IDXGIAdapter3_GetDesc2(This,pDesc) \
1438  ( (This)->lpVtbl -> GetDesc2(This,pDesc) )
1439 
1440 
1441 #define IDXGIAdapter3_RegisterHardwareContentProtectionTeardownStatusEvent(This,hEvent,pdwCookie) \
1442  ( (This)->lpVtbl -> RegisterHardwareContentProtectionTeardownStatusEvent(This,hEvent,pdwCookie) )
1443 
1444 #define IDXGIAdapter3_UnregisterHardwareContentProtectionTeardownStatus(This,dwCookie) \
1445  ( (This)->lpVtbl -> UnregisterHardwareContentProtectionTeardownStatus(This,dwCookie) )
1446 
1447 #define IDXGIAdapter3_QueryVideoMemoryInfo(This,NodeIndex,MemorySegmentGroup,pVideoMemoryInfo) \
1448  ( (This)->lpVtbl -> QueryVideoMemoryInfo(This,NodeIndex,MemorySegmentGroup,pVideoMemoryInfo) )
1449 
1450 #define IDXGIAdapter3_SetVideoMemoryReservation(This,NodeIndex,MemorySegmentGroup,Reservation) \
1451  ( (This)->lpVtbl -> SetVideoMemoryReservation(This,NodeIndex,MemorySegmentGroup,Reservation) )
1452 
1453 #define IDXGIAdapter3_RegisterVideoMemoryBudgetChangeNotificationEvent(This,hEvent,pdwCookie) \
1454  ( (This)->lpVtbl -> RegisterVideoMemoryBudgetChangeNotificationEvent(This,hEvent,pdwCookie) )
1455 
1456 #define IDXGIAdapter3_UnregisterVideoMemoryBudgetChangeNotification(This,dwCookie) \
1457  ( (This)->lpVtbl -> UnregisterVideoMemoryBudgetChangeNotification(This,dwCookie) )
1458 
1459 #endif /* COBJMACROS */
1460 
1461 
1462 #endif /* C style interface */
1463 
1464 
1465 
1466 
1467 #endif /* __IDXGIAdapter3_INTERFACE_DEFINED__ */
1468 
1469 
1470 /* interface __MIDL_itf_dxgi1_4_0000_0004 */
1471 /* [local] */
1472 
1473 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
1474 /*#pragma endregion*/
1475 DEFINE_GUID(IID_IDXGISwapChain3,0x94d99bdb,0xf1f8,0x4ab0,0xb2,0x36,0x7d,0xa0,0x17,0x0e,0xda,0xb1);
1476 DEFINE_GUID(IID_IDXGIOutput4,0xdc7dca35,0x2196,0x414d,0x9F,0x53,0x61,0x78,0x84,0x03,0x2a,0x60);
1477 DEFINE_GUID(IID_IDXGIFactory4,0x1bc6ea02,0xef36,0x464f,0xbf,0x0c,0x21,0xca,0x39,0xe5,0x16,0x8a);
1478 DEFINE_GUID(IID_IDXGIAdapter3,0x645967A4,0x1392,0x4310,0xA7,0x98,0x80,0x53,0xCE,0x3E,0x93,0xFD);
1479 
1480 
1481 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0004_v0_0_c_ifspec;
1482 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0004_v0_0_s_ifspec;
1483 
1484 /* Additional Prototypes for ALL interfaces */
1485 
1486 /* end of Additional Prototypes */
1487 
1488 #ifdef __cplusplus
1489 }
1490 #endif
1491 
1492 #endif
1493 
1494 
BOOL _In_opt_ IDXGIOutput * pTarget
Definition: dxgi1_4.h:213
_In_ const DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_4.h:663
RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0004_v0_0_c_ifspec
_In_ const DXGI_MODE_DESC1 * pModeToMatch
Definition: dxgi1_4.h:697
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_4.h:150
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIAdapter3 *This
UINT BufferCount
Definition: dxgi1_4.h:231
_COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi1_4.h:245
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_4.h:914
DEFINE_GUID(IID_IDXGISwapChain3, 0x94d99bdb, 0xf1f8, 0x4ab0, 0xb2, 0x36, 0x7d, 0xa0, 0x17, 0x0e, 0xda, 0xb1)
EXTERN_C const IID IID_IDXGIAdapter3
Definition: dxgi1_4.h:1221
_In_ HANDLE _Out_ DWORD * pdwCookie
Definition: dxgi1_4.h:1017
_Out_ IDXGIOutput ** ppRestrictToOutput
Definition: dxgi1_4.h:292
struct IDXGIOutput4Vtbl IDXGIOutput4Vtbl
_In_ HANDLE _Out_ LUID * pLuid
Definition: dxgi1_4.h:1001
_In_ IUnknown _COM_Outptr_ IDXGIOutputDuplication ** ppOutputDuplication
Definition: dxgi1_4.h:711
RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0001_v0_0_s_ifspec
UINT64 Budget
Definition: dxgi1_4.h:1203
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_4.h:607
_In_ REFGUID UINT DataSize
Definition: dxgi1_4.h:1289
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIOutput4 *This
UINT UINT PresentFlags
Definition: dxgi1_4.h:281
_In_ REFIID _COM_Outptr_ void ** ppUnk
Definition: dxgi1_4.h:275
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_4.h:150
_In_ const DXGI_MODE_DESC * pModeToMatch
Definition: dxgi1_4.h:637
_In_ DWORD dwCookie
Definition: dxgi1_4.h:1355
_In_ IUnknown BOOL Exclusive
Definition: dxgi1_4.h:649
_In_ HWND _In_ UINT _Out_ DWORD * pdwCookie
Definition: dxgi1_4.h:1008
_In_ LUID _In_ REFIID _COM_Outptr_ void ** ppvAdapter
Definition: dxgi1_4.h:1064
UINT UINT _In_ const DXGI_PRESENT_PARAMETERS * pPresentParameters
Definition: dxgi1_4.h:281
_Out_ DXGI_RGBA * pColor
Definition: dxgi1_4.h:302
interface IDXGIOutputDuplication IDXGIOutputDuplication
Definition: dxgi1_2.h:51
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_4.h:1313
interface IDXGIResource IDXGIResource
Definition: dxgi.h:58
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ HANDLE hEvent
Definition: dxgi1_4.h:1348
_In_ REFGUID Name
Definition: dxgi1_4.h:1289
_In_ DXGI_FORMAT _In_ DXGI_COLOR_SPACE_TYPE ColorSpace
Definition: dxgi1_4.h:730
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi1_4.h:194
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_4.h:579
interface IDXGIFactory4 IDXGIFactory4
Definition: dxgi1_4.h:58
_Out_opt_ BOOL * pFullscreen
Definition: dxgi1_4.h:220
BOOL Fullscreen
Definition: dxgi1_4.h:213
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC * pDesc
Definition: dxgi1_4.h:632
uint64_t UINT64
Definition: coretypes.h:8
_Out_ UINT * pLastPresentCount
Definition: dxgi1_4.h:255
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISwapChain3 *This)
RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0001_v0_0_c_ifspec
UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
Definition: dxgi1_4.h:960
_In_ IUnknown _In_ HWND hWnd
Definition: dxgi1_4.h:973
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_4.h:1276
const DXGI_MATRIX_3X2_F * pMatrix
Definition: dxgi1_4.h:340
_In_ HANDLE hResource
Definition: dxgi1_4.h:1001
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC * pClosestMatch
Definition: dxgi1_4.h:637
_Out_ UINT _Out_ UINT * pHeight
Definition: dxgi1_4.h:322
_In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition: dxgi1_4.h:1331
_In_ LUID _In_ REFIID riid
Definition: dxgi1_4.h:1064
HMODULE Module
Definition: dxgi1_4.h:954
UINT _In_ REFIID _COM_Outptr_ void ** ppSurface
Definition: dxgi1_4.h:205
UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi1_4.h:1319
_In_ REFGUID UINT DataSize
Definition: dxgi1_4.h:163
_In_ LUID AdapterLuid
Definition: dxgi1_4.h:1064
_Out_ DXGI_ADAPTER_DESC * pDesc
Definition: dxgi1_4.h:1326
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_4.h:1276
Definition: dxgi1_4.h:1198
_In_ UINT _In_ UINT _In_ UINT _In_ DXGI_FORMAT Format
Definition: dxgi1_4.h:365
Definition: dxgitype.h:75
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
HWND WindowHandle
Definition: dxgi1_4.h:935
interface IDXGISwapChain2 IDXGISwapChain2
Definition: dxgi1_3.h:51
interface IDXGIOutput3 IDXGIOutput3
Definition: dxgi1_3.h:93
_Out_ DXGI_OUTPUT_DESC * pDesc
Definition: dxgi1_4.h:623
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIFactory4 *This)
BOOL(STDMETHODCALLTYPE *IsCurrent)(IDXGIFactory4 *This)
UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi1_4.h:929
Definition: dxgi1_3.h:343
Definition: dxgi.h:2376
Definition: dxgi.h:285
_In_ UINT _In_ DXGI_MEMORY_SEGMENT_GROUP _In_ UINT64 Reservation
Definition: dxgi1_4.h:1369
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi1_4.h:946
_In_ IDXGISurface * pDestination
Definition: dxgi1_4.h:678
Definition: dxgi1_4.h:1201
_In_ IUnknown * pDevice
Definition: dxgi1_4.h:946
UINT(STDMETHODCALLTYPE *GetCurrentBackBufferIndex)(IDXGISwapChain3 *This)
_In_ REFGUID Name
Definition: dxgi1_4.h:163
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIFactory4 *This
struct IDXGISwapChain3Vtbl IDXGISwapChain3Vtbl
_Out_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi1_4.h:227
_In_ UINT _In_ DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup
Definition: dxgi1_4.h:1360
_In_ REFGUID UINT DataSize
Definition: dxgi1_4.h:899
BOOL(STDMETHODCALLTYPE *SupportsOverlays)(IDXGIOutput4 *This)
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: dxgi1_4.h:946
UINT UINT UINT Height
Definition: dxgi1_4.h:231
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_4.h:182
BOOL(STDMETHODCALLTYPE *IsTemporaryMonoSupported)(IDXGISwapChain3 *This)
interface IDXGIAdapter2 IDXGIAdapter2
Definition: dxgi1_2.h:93
DXGI_FORMAT
Definition: dxgiformat.h:10
_In_ IUnknown _In_ HWND _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_4.h:973
RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0000_v0_0_s_ifspec
UINT UINT UINT DXGI_FORMAT UINT SwapChainFlags
Definition: dxgi1_4.h:231
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIAdapter3 *This)
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_4.h:886
RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0004_v0_0_s_ifspec
interface IDXGISurface IDXGISurface
Definition: d2d1.h:53
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIOutput4 *This)
Definition: dxgi1_2.h:1209
_Out_ DXGI_ADAPTER_DESC1 * pDesc
Definition: dxgi1_4.h:1338
_Out_ UINT * pMaxLatency
Definition: dxgi1_4.h:333
UINT UINT Width
Definition: dxgi1_4.h:231
EXTERN_C const IID IID_IDXGIOutput4
Definition: dxgi1_4.h:550
_In_ IUnknown _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_4.h:1050
_In_ REFGUID Name
Definition: dxgi1_4.h:899
interface IDXGISwapChain1 IDXGISwapChain1
Definition: dxgi1_2.h:79
UINT UINT UINT DXGI_FORMAT NewFormat
Definition: dxgi1_4.h:231
Definition: dxgi1_4.h:1197
UINT MaxLatency
Definition: dxgi1_4.h:328
_Out_ UINT * pWidth
Definition: dxgi1_4.h:322
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_4.h:923
Definition: dxgi1_2.h:1978
_Out_ DXGI_GAMMA_CONTROL_CAPABILITIES * pGammaCaps
Definition: dxgi1_4.h:658
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_4.h:1297
interface IDXGISwapChain IDXGISwapChain
Definition: dxgi.h:100
EXTERN_C const IID IID_IDXGISwapChain3
Definition: dxgi1_4.h:103
_In_ REFIID riid
Definition: dxgi1_4.h:616
HANDLE(STDMETHODCALLTYPE *GetFrameLatencyWaitableObject)(IDXGISwapChain3 *This)
UINT(STDMETHODCALLTYPE *GetCreationFlags)(IDXGIFactory4 *This)
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_4.h:250
Definition: dxgi.h:218
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_4.h:611
Definition: dxgitype.h:115
_Out_ DXGI_SWAP_CHAIN_FULLSCREEN_DESC * pDesc
Definition: dxgi1_4.h:265
Definition: dxgi1_4.h:144
_In_ DXGI_COLOR_SPACE_TYPE ColorSpace
Definition: dxgi1_4.h:353
DXGI_FORMAT UINT _Inout_ UINT * pNumModes
Definition: dxgi1_4.h:627
struct IDXGIAdapter3Vtbl IDXGIAdapter3Vtbl
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_4.h:886
_In_ IUnknown _In_ HWND _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC * pFullscreenDesc
Definition: dxgi1_4.h:973
Definition: dxgi.h:169
interface IDXGIAdapter1 IDXGIAdapter1
Definition: dxgi.h:128
_In_ IDXGISurface * pScanoutSurface
Definition: dxgi1_4.h:673
_Out_ DXGI_MATRIX_3X2_F * pMatrix
Definition: dxgi1_4.h:345
_Out_ DXGI_SWAP_CHAIN_DESC1 * pDesc
Definition: dxgi1_4.h:260
DXGI_FORMAT UINT Flags
Definition: dxgi1_4.h:627
_Out_ HWND * pHwnd
Definition: dxgi1_4.h:270
_In_ UINT _In_ DXGI_MEMORY_SEGMENT_GROUP _Out_ DXGI_QUERY_VIDEO_MEMORY_INFO * pVideoMemoryInfo
Definition: dxgi1_4.h:1360
DXGI_MEMORY_SEGMENT_GROUP
Definition: dxgi1_4.h:1194
_In_ HANDLE _Out_ DWORD * pdwCookie
Definition: dxgi1_4.h:1348
void(STDMETHODCALLTYPE *UnregisterHardwareContentProtectionTeardownStatus)(IDXGIAdapter3 *This
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_4.h:683
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_4.h:918
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_4.h:171
_In_ UINT NodeIndex
Definition: dxgi1_4.h:1360
UINT Adapter
Definition: dxgi1_4.h:929
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_4.h:616
DXGI_FORMAT EnumFormat
Definition: dxgi1_4.h:627
_Out_ DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_4.h:668
interface IDXGISwapChain3 IDXGISwapChain3
Definition: dxgi1_4.h:44
UINT Width
Definition: dxgi1_4.h:316
_In_ REFGUID InterfaceName
Definition: dxgi1_4.h:1331
_In_ DXGI_FORMAT _In_ IUnknown _Out_ UINT * pFlags
Definition: dxgi1_4.h:721
_In_ REFGUID UINT DataSize
Definition: dxgi1_4.h:592
Definition: dxgi1_2.h:1167
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_4.h:907
_Out_ DXGI_MODE_ROTATION * pRotation
Definition: dxgi1_4.h:312
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
Definition: dxgi1_4.h:880
_In_ DXGI_FORMAT Format
Definition: dxgi1_4.h:730
interface IDXGIFactory3 IDXGIFactory3
Definition: dxgi1_3.h:65
HWND UINT Flags
Definition: dxgi1_4.h:935
Definition: dxgi.h:197
_In_ DWORD dwCookie
Definition: dxgi1_4.h:1024
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_4.h:1308
Definition: dxgitype.h:82
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
UINT _In_ REFIID riid
Definition: dxgi1_4.h:205
_In_ IUnknown * pDevice
Definition: dxgi1_4.h:649
_Out_ HWND * pWindowHandle
Definition: dxgi1_4.h:941
_In_ REFIID _COM_Outptr_ void ** ppvAdapter
Definition: dxgi1_4.h:1073
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_4.h:178
void(STDMETHODCALLTYPE *ReleaseOwnership)(IDXGIOutput4 *This)
unsigned int BOOL
Definition: gctypes.h:51
_In_ DXGI_COLOR_SPACE_TYPE _Out_ UINT * pColorSpaceSupport
Definition: dxgi1_4.h:353
_Out_ DXGI_ADAPTER_DESC2 * pDesc
Definition: dxgi1_4.h:1343
RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0000_v0_0_c_ifspec
UINT SyncInterval
Definition: dxgi1_4.h:200
struct IDXGIFactory4Vtbl IDXGIFactory4Vtbl
DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG
Definition: dxgi1_4.h:532
_In_ UINT _In_ UINT Width
Definition: dxgi1_4.h:365
UINT Buffer
Definition: dxgi1_4.h:205
_In_ IDXGIResource * pDestination
Definition: dxgi1_4.h:706
Definition: dxgi1_2.h:1201
interface IDXGIOutput IDXGIOutput
Definition: dxgi.h:93
Definition: dxgi1_4.h:1270
UINT64 AvailableForReservation
Definition: dxgi1_4.h:1205
Format
Definition: vulkan.hpp:7957
struct DXGI_QUERY_VIDEO_MEMORY_INFO DXGI_QUERY_VIDEO_MEMORY_INFO
UINT64 CurrentUsage
Definition: dxgi1_4.h:1204
Definition: glslang_tab.cpp:136
Definition: dxgi1_4.h:573
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISwapChain3 *This
DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG
Definition: dxgi1_4.h:84
_In_ DXGI_FORMAT _In_ DXGI_COLOR_SPACE_TYPE _In_ IUnknown _Out_ UINT * pFlags
Definition: dxgi1_4.h:730
DXGI_COLOR_SPACE_TYPE
Definition: dxgicommon.h:25
UINT Output
Definition: dxgi1_4.h:1319
_In_ const DXGI_MODE_DESC * pNewTargetParameters
Definition: dxgi1_4.h:240
_In_ REFGUID Name
Definition: dxgi1_4.h:592
DXGI_MODE_ROTATION
Definition: dxgitype.h:106
interface IDXGIAdapter IDXGIAdapter
Definition: dxgi.h:86
_In_ UINT _In_ UINT _In_ UINT _In_ DXGI_FORMAT _In_ UINT _In_reads_(BufferCount) const UINT *pCreationNodeMask
void(STDMETHODCALLTYPE *UnregisterStereoStatus)(IDXGIFactory4 *This
RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0003_v0_0_c_ifspec
_In_ const DXGI_RGBA * pColor
Definition: dxgi1_4.h:297
_Out_opt_ BOOL _COM_Outptr_opt_result_maybenull_ IDXGIOutput ** ppTarget
Definition: dxgi1_4.h:220
_In_ HANDLE hEvent
Definition: dxgi1_4.h:1017
EXTERN_C const IID IID_IDXGIFactory4
Definition: dxgi1_4.h:853
RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0003_v0_0_s_ifspec
Definition: dxgi1_2.h:1186
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_4.h:600
_In_ REFIID refiid
Definition: dxgi1_4.h:275
interface IDXGIAdapter3 IDXGIAdapter3
Definition: dxgi1_4.h:65
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_4.h:1304
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_4.h:579
HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi1_4.h:954
UINT64 CurrentReservation
Definition: dxgi1_4.h:1206
_In_ REFIID riid
Definition: dxgi1_4.h:1313
_In_ DXGI_MODE_ROTATION Rotation
Definition: dxgi1_4.h:307
UINT UINT Flags
Definition: dxgi1_4.h:200
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
The text renderer interface represents a set of application-defined callbacks that perform rendering ...
Definition: d3d8types.h:57
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC _In_opt_ IUnknown * pConcernedDevice
Definition: dxgi1_4.h:637
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC1 * pDesc
Definition: dxgi1_4.h:692
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_4.h:187
_In_ IUnknown _In_ IUnknown * pWindow
Definition: dxgi1_4.h:988
interface IDXGIOutput4 IDXGIOutput4
Definition: dxgi1_4.h:51
_In_ HWND _In_ UINT wMsg
Definition: dxgi1_4.h:1008