RetroArch
dxgi1_3.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_3_h__
34 #define __dxgi1_3_h__
35 
36 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
37 #pragma once
38 #endif
39 
40 /* Forward Declarations */
41 
42 #ifndef __IDXGIDevice3_FWD_DEFINED__
43 #define __IDXGIDevice3_FWD_DEFINED__
44 typedef interface IDXGIDevice3 IDXGIDevice3;
45 
46 #endif /* __IDXGIDevice3_FWD_DEFINED__ */
47 
48 
49 #ifndef __IDXGISwapChain2_FWD_DEFINED__
50 #define __IDXGISwapChain2_FWD_DEFINED__
51 typedef interface IDXGISwapChain2 IDXGISwapChain2;
52 
53 #endif /* __IDXGISwapChain2_FWD_DEFINED__ */
54 
55 
56 #ifndef __IDXGIOutput2_FWD_DEFINED__
57 #define __IDXGIOutput2_FWD_DEFINED__
58 typedef interface IDXGIOutput2 IDXGIOutput2;
59 
60 #endif /* __IDXGIOutput2_FWD_DEFINED__ */
61 
62 
63 #ifndef __IDXGIFactory3_FWD_DEFINED__
64 #define __IDXGIFactory3_FWD_DEFINED__
65 typedef interface IDXGIFactory3 IDXGIFactory3;
66 
67 #endif /* __IDXGIFactory3_FWD_DEFINED__ */
68 
69 
70 #ifndef __IDXGIDecodeSwapChain_FWD_DEFINED__
71 #define __IDXGIDecodeSwapChain_FWD_DEFINED__
73 
74 #endif /* __IDXGIDecodeSwapChain_FWD_DEFINED__ */
75 
76 
77 #ifndef __IDXGIFactoryMedia_FWD_DEFINED__
78 #define __IDXGIFactoryMedia_FWD_DEFINED__
80 
81 #endif /* __IDXGIFactoryMedia_FWD_DEFINED__ */
82 
83 
84 #ifndef __IDXGISwapChainMedia_FWD_DEFINED__
85 #define __IDXGISwapChainMedia_FWD_DEFINED__
87 
88 #endif /* __IDXGISwapChainMedia_FWD_DEFINED__ */
89 
90 
91 #ifndef __IDXGIOutput3_FWD_DEFINED__
92 #define __IDXGIOutput3_FWD_DEFINED__
93 typedef interface IDXGIOutput3 IDXGIOutput3;
94 
95 #endif /* __IDXGIOutput3_FWD_DEFINED__ */
96 
97 
98 /* header files for imported files */
99 #include "dxgi1_2.h"
100 
101 #ifdef __cplusplus
102 extern "C"{
103 #endif
104 
105 
106 /* interface __MIDL_itf_dxgi1_3_0000_0000 */
107 /* [local] */
108 
109 /*#include <winapifamily.h>*/
110 /*#pragma region App Family*/
111 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
112 #define DXGI_CREATE_FACTORY_DEBUG 0x1
113 HRESULT WINAPI CreateDXGIFactory2(UINT Flags, REFIID riid, _COM_Outptr_ void **ppFactory);
114 HRESULT WINAPI DXGIGetDebugInterface1(UINT Flags, REFIID riid, _COM_Outptr_ void **pDebug);
115 
116 
117 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0000_v0_0_c_ifspec;
118 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0000_v0_0_s_ifspec;
119 
120 #ifndef __IDXGIDevice3_INTERFACE_DEFINED__
121 #define __IDXGIDevice3_INTERFACE_DEFINED__
122 
123 /* interface IDXGIDevice3 */
124 /* [unique][local][uuid][object] */
125 
126 
127 EXTERN_C const IID IID_IDXGIDevice3;
128 
129 #if defined(__cplusplus) && !defined(CINTERFACE)
130 
131  MIDL_INTERFACE("6007896c-3244-4afd-bf18-a6d3beda5023")
132  IDXGIDevice3 : public IDXGIDevice2
133  {
134  public:
135  virtual void STDMETHODCALLTYPE Trim( void) = 0;
136 
137  };
138 
139 
140 #else /* C style interface */
141 
142  typedef struct IDXGIDevice3Vtbl
143  {
144  BEGIN_INTERFACE
145 
146  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
147  IDXGIDevice3 * This,
148  /* [in] */ REFIID riid,
149  /* [annotation][iid_is][out] */
150  _COM_Outptr_ void **ppvObject);
151 
152  ULONG ( STDMETHODCALLTYPE *AddRef )(
153  IDXGIDevice3 * This);
154 
155  ULONG ( STDMETHODCALLTYPE *Release )(
156  IDXGIDevice3 * This);
157 
158  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
159  IDXGIDevice3 * This,
160  /* [annotation][in] */
161  _In_ REFGUID Name,
162  /* [in] */ UINT DataSize,
163  /* [annotation][in] */
164  _In_reads_bytes_(DataSize) const void *pData);
165 
166  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
167  IDXGIDevice3 * This,
168  /* [annotation][in] */
169  _In_ REFGUID Name,
170  /* [annotation][in] */
171  _In_opt_ const IUnknown *pUnknown);
172 
173  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
174  IDXGIDevice3 * This,
175  /* [annotation][in] */
176  _In_ REFGUID Name,
177  /* [annotation][out][in] */
178  _Inout_ UINT *pDataSize,
179  /* [annotation][out] */
180  _Out_writes_bytes_(*pDataSize) void *pData);
181 
182  HRESULT ( STDMETHODCALLTYPE *GetParent )(
183  IDXGIDevice3 * This,
184  /* [annotation][in] */
185  _In_ REFIID riid,
186  /* [annotation][retval][out] */
187  _COM_Outptr_ void **ppParent);
188 
189  HRESULT ( STDMETHODCALLTYPE *GetAdapter )(
190  IDXGIDevice3 * This,
191  /* [annotation][out] */
192  _COM_Outptr_ IDXGIAdapter **pAdapter);
193 
194  HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
195  IDXGIDevice3 * This,
196  /* [annotation][in] */
198  /* [in] */ UINT NumSurfaces,
199  /* [in] */ DXGI_USAGE Usage,
200  /* [annotation][in] */
201  _In_opt_ const DXGI_SHARED_RESOURCE *pSharedResource,
202  /* [annotation][out] */
203  _COM_Outptr_ IDXGISurface **ppSurface);
204 
205  HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )(
206  IDXGIDevice3 * This,
207  /* [annotation][size_is][in] */
208  _In_reads_(NumResources) IUnknown *const *ppResources,
209  /* [annotation][size_is][out] */
210  _Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus,
211  /* [in] */ UINT NumResources);
212 
213  HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )(
214  IDXGIDevice3 * This,
215  /* [in] */ INT Priority);
216 
217  HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )(
218  IDXGIDevice3 * This,
219  /* [annotation][retval][out] */
220  _Out_ INT *pPriority);
221 
222  HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )(
223  IDXGIDevice3 * This,
224  /* [in] */ UINT MaxLatency);
225 
226  HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )(
227  IDXGIDevice3 * This,
228  /* [annotation][out] */
229  _Out_ UINT *pMaxLatency);
230 
231  HRESULT ( STDMETHODCALLTYPE *OfferResources )(
232  IDXGIDevice3 * This,
233  /* [annotation][in] */
235  /* [annotation][size_is][in] */
236  _In_reads_(NumResources) IDXGIResource *const *ppResources,
237  /* [annotation][in] */
239 
240  HRESULT ( STDMETHODCALLTYPE *ReclaimResources )(
241  IDXGIDevice3 * This,
242  /* [annotation][in] */
243  _In_ UINT NumResources,
244  /* [annotation][size_is][in] */
245  _In_reads_(NumResources) IDXGIResource *const *ppResources,
246  /* [annotation][size_is][out] */
247  _Out_writes_all_opt_(NumResources) BOOL *pDiscarded);
248 
249  HRESULT ( STDMETHODCALLTYPE *EnqueueSetEvent )(
250  IDXGIDevice3 * This,
251  /* [annotation][in] */
252  _In_ HANDLE hEvent);
253 
254  void ( STDMETHODCALLTYPE *Trim )(
255  IDXGIDevice3 * This);
256 
257  END_INTERFACE
259 
260  interface IDXGIDevice3
261  {
262  CONST_VTBL struct IDXGIDevice3Vtbl *lpVtbl;
263  };
264 
265 
266 
267 #ifdef COBJMACROS
268 
269 
270 #define IDXGIDevice3_QueryInterface(This,riid,ppvObject) \
271  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
272 
273 #define IDXGIDevice3_AddRef(This) \
274  ( (This)->lpVtbl -> AddRef(This) )
275 
276 #define IDXGIDevice3_Release(This) \
277  ( (This)->lpVtbl -> Release(This) )
278 
279 
280 #define IDXGIDevice3_SetPrivateData(This,Name,DataSize,pData) \
281  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
282 
283 #define IDXGIDevice3_SetPrivateDataInterface(This,Name,pUnknown) \
284  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
285 
286 #define IDXGIDevice3_GetPrivateData(This,Name,pDataSize,pData) \
287  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
288 
289 #define IDXGIDevice3_GetParent(This,riid,ppParent) \
290  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
291 
292 
293 #define IDXGIDevice3_GetAdapter(This,pAdapter) \
294  ( (This)->lpVtbl -> GetAdapter(This,pAdapter) )
295 
296 #define IDXGIDevice3_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \
297  ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) )
298 
299 #define IDXGIDevice3_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \
300  ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) )
301 
302 #define IDXGIDevice3_SetGPUThreadPriority(This,Priority) \
303  ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) )
304 
305 #define IDXGIDevice3_GetGPUThreadPriority(This,pPriority) \
306  ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) )
307 
308 
309 #define IDXGIDevice3_SetMaximumFrameLatency(This,MaxLatency) \
310  ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) )
311 
312 #define IDXGIDevice3_GetMaximumFrameLatency(This,pMaxLatency) \
313  ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) )
314 
315 
316 #define IDXGIDevice3_OfferResources(This,NumResources,ppResources,Priority) \
317  ( (This)->lpVtbl -> OfferResources(This,NumResources,ppResources,Priority) )
318 
319 #define IDXGIDevice3_ReclaimResources(This,NumResources,ppResources,pDiscarded) \
320  ( (This)->lpVtbl -> ReclaimResources(This,NumResources,ppResources,pDiscarded) )
321 
322 #define IDXGIDevice3_EnqueueSetEvent(This,hEvent) \
323  ( (This)->lpVtbl -> EnqueueSetEvent(This,hEvent) )
324 
325 
326 #define IDXGIDevice3_Trim(This) \
327  ( (This)->lpVtbl -> Trim(This) )
328 
329 #endif /* COBJMACROS */
330 
331 
332 #endif /* C style interface */
333 
334 
335 
336 
337 #endif /* __IDXGIDevice3_INTERFACE_DEFINED__ */
338 
339 
340 /* interface __MIDL_itf_dxgi1_3_0000_0001 */
341 /* [local] */
342 
343 typedef struct DXGI_MATRIX_3X2_F
344  {
352 
353 
354 
355 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0001_v0_0_c_ifspec;
356 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0001_v0_0_s_ifspec;
357 
358 #ifndef __IDXGISwapChain2_INTERFACE_DEFINED__
359 #define __IDXGISwapChain2_INTERFACE_DEFINED__
360 
361 /* interface IDXGISwapChain2 */
362 /* [unique][local][uuid][object] */
363 
364 
365 EXTERN_C const IID IID_IDXGISwapChain2;
366 
367 #if defined(__cplusplus) && !defined(CINTERFACE)
368 
369  MIDL_INTERFACE("a8be2ac4-199f-4946-b331-79599fb98de7")
371  {
372  public:
373  virtual HRESULT STDMETHODCALLTYPE SetSourceSize(
374  UINT Width,
375  UINT Height) = 0;
376 
377  virtual HRESULT STDMETHODCALLTYPE GetSourceSize(
378  /* [annotation][out] */
379  _Out_ UINT *pWidth,
380  /* [annotation][out] */
381  _Out_ UINT *pHeight) = 0;
382 
383  virtual HRESULT STDMETHODCALLTYPE SetMaximumFrameLatency(
384  UINT MaxLatency) = 0;
385 
386  virtual HRESULT STDMETHODCALLTYPE GetMaximumFrameLatency(
387  /* [annotation][out] */
388  _Out_ UINT *pMaxLatency) = 0;
389 
390  virtual HANDLE STDMETHODCALLTYPE GetFrameLatencyWaitableObject( void) = 0;
391 
392  virtual HRESULT STDMETHODCALLTYPE SetMatrixTransform(
393  const DXGI_MATRIX_3X2_F *pMatrix) = 0;
394 
395  virtual HRESULT STDMETHODCALLTYPE GetMatrixTransform(
396  /* [annotation][out] */
397  _Out_ DXGI_MATRIX_3X2_F *pMatrix) = 0;
398 
399  };
400 
401 
402 #else /* C style interface */
403 
404  typedef struct IDXGISwapChain2Vtbl
405  {
406  BEGIN_INTERFACE
407 
408  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
409  IDXGISwapChain2 * This,
410  /* [in] */ REFIID riid,
411  /* [annotation][iid_is][out] */
412  _COM_Outptr_ void **ppvObject);
413 
414  ULONG ( STDMETHODCALLTYPE *AddRef )(
415  IDXGISwapChain2 * This);
416 
417  ULONG ( STDMETHODCALLTYPE *Release )(
418  IDXGISwapChain2 * This);
419 
420  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
421  IDXGISwapChain2 * This,
422  /* [annotation][in] */
423  _In_ REFGUID Name,
424  /* [in] */ UINT DataSize,
425  /* [annotation][in] */
426  _In_reads_bytes_(DataSize) const void *pData);
427 
428  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
429  IDXGISwapChain2 * This,
430  /* [annotation][in] */
431  _In_ REFGUID Name,
432  /* [annotation][in] */
433  _In_opt_ const IUnknown *pUnknown);
434 
435  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
436  IDXGISwapChain2 * This,
437  /* [annotation][in] */
438  _In_ REFGUID Name,
439  /* [annotation][out][in] */
440  _Inout_ UINT *pDataSize,
441  /* [annotation][out] */
442  _Out_writes_bytes_(*pDataSize) void *pData);
443 
444  HRESULT ( STDMETHODCALLTYPE *GetParent )(
445  IDXGISwapChain2 * This,
446  /* [annotation][in] */
447  _In_ REFIID riid,
448  /* [annotation][retval][out] */
449  _COM_Outptr_ void **ppParent);
450 
451  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
452  IDXGISwapChain2 * This,
453  /* [annotation][in] */
454  _In_ REFIID riid,
455  /* [annotation][retval][out] */
456  _COM_Outptr_ void **ppDevice);
457 
458  HRESULT ( STDMETHODCALLTYPE *Present )(
459  IDXGISwapChain2 * This,
460  /* [in] */ UINT SyncInterval,
461  /* [in] */ UINT Flags);
462 
463  HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
464  IDXGISwapChain2 * This,
465  /* [in] */ UINT Buffer,
466  /* [annotation][in] */
467  _In_ REFIID riid,
468  /* [annotation][out][in] */
469  _COM_Outptr_ void **ppSurface);
470 
471  HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )(
472  IDXGISwapChain2 * This,
473  /* [in] */ BOOL Fullscreen,
474  /* [annotation][in] */
475  _In_opt_ IDXGIOutput *pTarget);
476 
477  HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )(
478  IDXGISwapChain2 * This,
479  /* [annotation][out] */
480  _Out_opt_ BOOL *pFullscreen,
481  /* [annotation][out] */
482  _COM_Outptr_opt_result_maybenull_ IDXGIOutput **ppTarget);
483 
484  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
485  IDXGISwapChain2 * This,
486  /* [annotation][out] */
488 
489  HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )(
490  IDXGISwapChain2 * This,
491  /* [in] */ UINT BufferCount,
492  /* [in] */ UINT Width,
493  /* [in] */ UINT Height,
494  /* [in] */ DXGI_FORMAT NewFormat,
495  /* [in] */ UINT SwapChainFlags);
496 
497  HRESULT ( STDMETHODCALLTYPE *ResizeTarget )(
498  IDXGISwapChain2 * This,
499  /* [annotation][in] */
501 
502  HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )(
503  IDXGISwapChain2 * This,
504  /* [annotation][out] */
505  _COM_Outptr_ IDXGIOutput **ppOutput);
506 
507  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
508  IDXGISwapChain2 * This,
509  /* [annotation][out] */
511 
512  HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )(
513  IDXGISwapChain2 * This,
514  /* [annotation][out] */
516 
517  HRESULT ( STDMETHODCALLTYPE *GetDesc1 )(
518  IDXGISwapChain2 * This,
519  /* [annotation][out] */
521 
522  HRESULT ( STDMETHODCALLTYPE *GetFullscreenDesc )(
523  IDXGISwapChain2 * This,
524  /* [annotation][out] */
526 
527  HRESULT ( STDMETHODCALLTYPE *GetHwnd )(
528  IDXGISwapChain2 * This,
529  /* [annotation][out] */
530  _Out_ HWND *pHwnd);
531 
532  HRESULT ( STDMETHODCALLTYPE *GetCoreWindow )(
533  IDXGISwapChain2 * This,
534  /* [annotation][in] */
535  _In_ REFIID refiid,
536  /* [annotation][out] */
537  _COM_Outptr_ void **ppUnk);
538 
539  HRESULT ( STDMETHODCALLTYPE *Present1 )(
540  IDXGISwapChain2 * This,
541  /* [in] */ UINT SyncInterval,
542  /* [in] */ UINT PresentFlags,
543  /* [annotation][in] */
545 
546  BOOL ( STDMETHODCALLTYPE *IsTemporaryMonoSupported )(
547  IDXGISwapChain2 * This);
548 
549  HRESULT ( STDMETHODCALLTYPE *GetRestrictToOutput )(
550  IDXGISwapChain2 * This,
551  /* [annotation][out] */
553 
554  HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )(
555  IDXGISwapChain2 * This,
556  /* [annotation][in] */
557  _In_ const DXGI_RGBA *pColor);
558 
559  HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )(
560  IDXGISwapChain2 * This,
561  /* [annotation][out] */
562  _Out_ DXGI_RGBA *pColor);
563 
564  HRESULT ( STDMETHODCALLTYPE *SetRotation )(
565  IDXGISwapChain2 * This,
566  /* [annotation][in] */
568 
569  HRESULT ( STDMETHODCALLTYPE *GetRotation )(
570  IDXGISwapChain2 * This,
571  /* [annotation][out] */
573 
574  HRESULT ( STDMETHODCALLTYPE *SetSourceSize )(
575  IDXGISwapChain2 * This,
577  UINT Height);
578 
579  HRESULT ( STDMETHODCALLTYPE *GetSourceSize )(
580  IDXGISwapChain2 * This,
581  /* [annotation][out] */
582  _Out_ UINT *pWidth,
583  /* [annotation][out] */
584  _Out_ UINT *pHeight);
585 
586  HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )(
587  IDXGISwapChain2 * This,
589 
590  HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )(
591  IDXGISwapChain2 * This,
592  /* [annotation][out] */
593  _Out_ UINT *pMaxLatency);
594 
595  HANDLE ( STDMETHODCALLTYPE *GetFrameLatencyWaitableObject )(
596  IDXGISwapChain2 * This);
597 
598  HRESULT ( STDMETHODCALLTYPE *SetMatrixTransform )(
599  IDXGISwapChain2 * This,
601 
602  HRESULT ( STDMETHODCALLTYPE *GetMatrixTransform )(
603  IDXGISwapChain2 * This,
604  /* [annotation][out] */
606 
607  END_INTERFACE
609 
610  interface IDXGISwapChain2
611  {
612  CONST_VTBL struct IDXGISwapChain2Vtbl *lpVtbl;
613  };
614 
615 
616 
617 #ifdef COBJMACROS
618 
619 
620 #define IDXGISwapChain2_QueryInterface(This,riid,ppvObject) \
621  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
622 
623 #define IDXGISwapChain2_AddRef(This) \
624  ( (This)->lpVtbl -> AddRef(This) )
625 
626 #define IDXGISwapChain2_Release(This) \
627  ( (This)->lpVtbl -> Release(This) )
628 
629 
630 #define IDXGISwapChain2_SetPrivateData(This,Name,DataSize,pData) \
631  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
632 
633 #define IDXGISwapChain2_SetPrivateDataInterface(This,Name,pUnknown) \
634  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
635 
636 #define IDXGISwapChain2_GetPrivateData(This,Name,pDataSize,pData) \
637  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
638 
639 #define IDXGISwapChain2_GetParent(This,riid,ppParent) \
640  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
641 
642 
643 #define IDXGISwapChain2_GetDevice(This,riid,ppDevice) \
644  ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) )
645 
646 
647 #define IDXGISwapChain2_Present(This,SyncInterval,Flags) \
648  ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) )
649 
650 #define IDXGISwapChain2_GetBuffer(This,Buffer,riid,ppSurface) \
651  ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) )
652 
653 #define IDXGISwapChain2_SetFullscreenState(This,Fullscreen,pTarget) \
654  ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) )
655 
656 #define IDXGISwapChain2_GetFullscreenState(This,pFullscreen,ppTarget) \
657  ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) )
658 
659 #define IDXGISwapChain2_GetDesc(This,pDesc) \
660  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
661 
662 #define IDXGISwapChain2_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) \
663  ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) )
664 
665 #define IDXGISwapChain2_ResizeTarget(This,pNewTargetParameters) \
666  ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) )
667 
668 #define IDXGISwapChain2_GetContainingOutput(This,ppOutput) \
669  ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) )
670 
671 #define IDXGISwapChain2_GetFrameStatistics(This,pStats) \
672  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
673 
674 #define IDXGISwapChain2_GetLastPresentCount(This,pLastPresentCount) \
675  ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) )
676 
677 
678 #define IDXGISwapChain2_GetDesc1(This,pDesc) \
679  ( (This)->lpVtbl -> GetDesc1(This,pDesc) )
680 
681 #define IDXGISwapChain2_GetFullscreenDesc(This,pDesc) \
682  ( (This)->lpVtbl -> GetFullscreenDesc(This,pDesc) )
683 
684 #define IDXGISwapChain2_GetHwnd(This,pHwnd) \
685  ( (This)->lpVtbl -> GetHwnd(This,pHwnd) )
686 
687 #define IDXGISwapChain2_GetCoreWindow(This,refiid,ppUnk) \
688  ( (This)->lpVtbl -> GetCoreWindow(This,refiid,ppUnk) )
689 
690 #define IDXGISwapChain2_Present1(This,SyncInterval,PresentFlags,pPresentParameters) \
691  ( (This)->lpVtbl -> Present1(This,SyncInterval,PresentFlags,pPresentParameters) )
692 
693 #define IDXGISwapChain2_IsTemporaryMonoSupported(This) \
694  ( (This)->lpVtbl -> IsTemporaryMonoSupported(This) )
695 
696 #define IDXGISwapChain2_GetRestrictToOutput(This,ppRestrictToOutput) \
697  ( (This)->lpVtbl -> GetRestrictToOutput(This,ppRestrictToOutput) )
698 
699 #define IDXGISwapChain2_SetBackgroundColor(This,pColor) \
700  ( (This)->lpVtbl -> SetBackgroundColor(This,pColor) )
701 
702 #define IDXGISwapChain2_GetBackgroundColor(This,pColor) \
703  ( (This)->lpVtbl -> GetBackgroundColor(This,pColor) )
704 
705 #define IDXGISwapChain2_SetRotation(This,Rotation) \
706  ( (This)->lpVtbl -> SetRotation(This,Rotation) )
707 
708 #define IDXGISwapChain2_GetRotation(This,pRotation) \
709  ( (This)->lpVtbl -> GetRotation(This,pRotation) )
710 
711 
712 #define IDXGISwapChain2_SetSourceSize(This,Width,Height) \
713  ( (This)->lpVtbl -> SetSourceSize(This,Width,Height) )
714 
715 #define IDXGISwapChain2_GetSourceSize(This,pWidth,pHeight) \
716  ( (This)->lpVtbl -> GetSourceSize(This,pWidth,pHeight) )
717 
718 #define IDXGISwapChain2_SetMaximumFrameLatency(This,MaxLatency) \
719  ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) )
720 
721 #define IDXGISwapChain2_GetMaximumFrameLatency(This,pMaxLatency) \
722  ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) )
723 
724 #define IDXGISwapChain2_GetFrameLatencyWaitableObject(This) \
725  ( (This)->lpVtbl -> GetFrameLatencyWaitableObject(This) )
726 
727 #define IDXGISwapChain2_SetMatrixTransform(This,pMatrix) \
728  ( (This)->lpVtbl -> SetMatrixTransform(This,pMatrix) )
729 
730 #define IDXGISwapChain2_GetMatrixTransform(This,pMatrix) \
731  ( (This)->lpVtbl -> GetMatrixTransform(This,pMatrix) )
732 
733 #endif /* COBJMACROS */
734 
735 
736 #endif /* C style interface */
737 
738 
739 
740 
741 #endif /* __IDXGISwapChain2_INTERFACE_DEFINED__ */
742 
743 
744 #ifndef __IDXGIOutput2_INTERFACE_DEFINED__
745 #define __IDXGIOutput2_INTERFACE_DEFINED__
746 
747 /* interface IDXGIOutput2 */
748 /* [unique][local][uuid][object] */
749 
750 
751 EXTERN_C const IID IID_IDXGIOutput2;
752 
753 #if defined(__cplusplus) && !defined(CINTERFACE)
754 
755  MIDL_INTERFACE("595e39d1-2724-4663-99b1-da969de28364")
756  IDXGIOutput2 : public IDXGIOutput1
757  {
758  public:
759  virtual BOOL STDMETHODCALLTYPE SupportsOverlays( void) = 0;
760 
761  };
762 
763 
764 #else /* C style interface */
765 
766  typedef struct IDXGIOutput2Vtbl
767  {
768  BEGIN_INTERFACE
769 
770  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
771  IDXGIOutput2 * This,
772  /* [in] */ REFIID riid,
773  /* [annotation][iid_is][out] */
774  _COM_Outptr_ void **ppvObject);
775 
776  ULONG ( STDMETHODCALLTYPE *AddRef )(
777  IDXGIOutput2 * This);
778 
779  ULONG ( STDMETHODCALLTYPE *Release )(
780  IDXGIOutput2 * This);
781 
782  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
783  IDXGIOutput2 * This,
784  /* [annotation][in] */
785  _In_ REFGUID Name,
786  /* [in] */ UINT DataSize,
787  /* [annotation][in] */
788  _In_reads_bytes_(DataSize) const void *pData);
789 
790  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
791  IDXGIOutput2 * This,
792  /* [annotation][in] */
793  _In_ REFGUID Name,
794  /* [annotation][in] */
795  _In_opt_ const IUnknown *pUnknown);
796 
797  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
798  IDXGIOutput2 * This,
799  /* [annotation][in] */
800  _In_ REFGUID Name,
801  /* [annotation][out][in] */
802  _Inout_ UINT *pDataSize,
803  /* [annotation][out] */
804  _Out_writes_bytes_(*pDataSize) void *pData);
805 
806  HRESULT ( STDMETHODCALLTYPE *GetParent )(
807  IDXGIOutput2 * This,
808  /* [annotation][in] */
809  _In_ REFIID riid,
810  /* [annotation][retval][out] */
811  _COM_Outptr_ void **ppParent);
812 
813  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
814  IDXGIOutput2 * This,
815  /* [annotation][out] */
817 
818  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )(
819  IDXGIOutput2 * This,
821  /* [in] */ UINT Flags,
822  /* [annotation][out][in] */
823  _Inout_ UINT *pNumModes,
824  /* [annotation][out] */
825  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC *pDesc);
826 
827  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )(
828  IDXGIOutput2 * This,
829  /* [annotation][in] */
831  /* [annotation][out] */
833  /* [annotation][in] */
834  _In_opt_ IUnknown *pConcernedDevice);
835 
836  HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )(
837  IDXGIOutput2 * This);
838 
839  HRESULT ( STDMETHODCALLTYPE *TakeOwnership )(
840  IDXGIOutput2 * This,
841  /* [annotation][in] */
842  _In_ IUnknown *pDevice,
843  BOOL Exclusive);
844 
845  void ( STDMETHODCALLTYPE *ReleaseOwnership )(
846  IDXGIOutput2 * This);
847 
848  HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )(
849  IDXGIOutput2 * This,
850  /* [annotation][out] */
852 
853  HRESULT ( STDMETHODCALLTYPE *SetGammaControl )(
854  IDXGIOutput2 * This,
855  /* [annotation][in] */
857 
858  HRESULT ( STDMETHODCALLTYPE *GetGammaControl )(
859  IDXGIOutput2 * This,
860  /* [annotation][out] */
862 
863  HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )(
864  IDXGIOutput2 * This,
865  /* [annotation][in] */
867 
868  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )(
869  IDXGIOutput2 * This,
870  /* [annotation][in] */
872 
873  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
874  IDXGIOutput2 * This,
875  /* [annotation][out] */
877 
878  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )(
879  IDXGIOutput2 * This,
880  /* [in] */ DXGI_FORMAT EnumFormat,
881  /* [in] */ UINT Flags,
882  /* [annotation][out][in] */
883  _Inout_ UINT *pNumModes,
884  /* [annotation][out] */
885  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC1 *pDesc);
886 
887  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )(
888  IDXGIOutput2 * This,
889  /* [annotation][in] */
891  /* [annotation][out] */
893  /* [annotation][in] */
894  _In_opt_ IUnknown *pConcernedDevice);
895 
896  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )(
897  IDXGIOutput2 * This,
898  /* [annotation][in] */
900 
901  HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )(
902  IDXGIOutput2 * This,
903  /* [annotation][in] */
904  _In_ IUnknown *pDevice,
905  /* [annotation][out] */
907 
908  BOOL ( STDMETHODCALLTYPE *SupportsOverlays )(
909  IDXGIOutput2 * This);
910 
911  END_INTERFACE
913 
914  interface IDXGIOutput2
915  {
916  CONST_VTBL struct IDXGIOutput2Vtbl *lpVtbl;
917  };
918 
919 
920 
921 #ifdef COBJMACROS
922 
923 
924 #define IDXGIOutput2_QueryInterface(This,riid,ppvObject) \
925  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
926 
927 #define IDXGIOutput2_AddRef(This) \
928  ( (This)->lpVtbl -> AddRef(This) )
929 
930 #define IDXGIOutput2_Release(This) \
931  ( (This)->lpVtbl -> Release(This) )
932 
933 
934 #define IDXGIOutput2_SetPrivateData(This,Name,DataSize,pData) \
935  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
936 
937 #define IDXGIOutput2_SetPrivateDataInterface(This,Name,pUnknown) \
938  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
939 
940 #define IDXGIOutput2_GetPrivateData(This,Name,pDataSize,pData) \
941  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
942 
943 #define IDXGIOutput2_GetParent(This,riid,ppParent) \
944  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
945 
946 
947 #define IDXGIOutput2_GetDesc(This,pDesc) \
948  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
949 
950 #define IDXGIOutput2_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) \
951  ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) )
952 
953 #define IDXGIOutput2_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
954  ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
955 
956 #define IDXGIOutput2_WaitForVBlank(This) \
957  ( (This)->lpVtbl -> WaitForVBlank(This) )
958 
959 #define IDXGIOutput2_TakeOwnership(This,pDevice,Exclusive) \
960  ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) )
961 
962 #define IDXGIOutput2_ReleaseOwnership(This) \
963  ( (This)->lpVtbl -> ReleaseOwnership(This) )
964 
965 #define IDXGIOutput2_GetGammaControlCapabilities(This,pGammaCaps) \
966  ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) )
967 
968 #define IDXGIOutput2_SetGammaControl(This,pArray) \
969  ( (This)->lpVtbl -> SetGammaControl(This,pArray) )
970 
971 #define IDXGIOutput2_GetGammaControl(This,pArray) \
972  ( (This)->lpVtbl -> GetGammaControl(This,pArray) )
973 
974 #define IDXGIOutput2_SetDisplaySurface(This,pScanoutSurface) \
975  ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) )
976 
977 #define IDXGIOutput2_GetDisplaySurfaceData(This,pDestination) \
978  ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) )
979 
980 #define IDXGIOutput2_GetFrameStatistics(This,pStats) \
981  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
982 
983 
984 #define IDXGIOutput2_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) \
985  ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) )
986 
987 #define IDXGIOutput2_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
988  ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
989 
990 #define IDXGIOutput2_GetDisplaySurfaceData1(This,pDestination) \
991  ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) )
992 
993 #define IDXGIOutput2_DuplicateOutput(This,pDevice,ppOutputDuplication) \
994  ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) )
995 
996 
997 #define IDXGIOutput2_SupportsOverlays(This) \
998  ( (This)->lpVtbl -> SupportsOverlays(This) )
999 
1000 #endif /* COBJMACROS */
1001 
1002 
1003 #endif /* C style interface */
1004 
1005 
1006 
1007 
1008 #endif /* __IDXGIOutput2_INTERFACE_DEFINED__ */
1009 
1010 
1011 #ifndef __IDXGIFactory3_INTERFACE_DEFINED__
1012 #define __IDXGIFactory3_INTERFACE_DEFINED__
1013 
1014 /* interface IDXGIFactory3 */
1015 /* [unique][local][uuid][object] */
1016 
1017 
1018 EXTERN_C const IID IID_IDXGIFactory3;
1019 
1020 #if defined(__cplusplus) && !defined(CINTERFACE)
1021 
1022  MIDL_INTERFACE("25483823-cd46-4c7d-86ca-47aa95b837bd")
1023  IDXGIFactory3 : public IDXGIFactory2
1024  {
1025  public:
1026  virtual UINT STDMETHODCALLTYPE GetCreationFlags( void) = 0;
1027 
1028  };
1029 
1030 
1031 #else /* C style interface */
1032 
1033  typedef struct IDXGIFactory3Vtbl
1034  {
1035  BEGIN_INTERFACE
1036 
1037  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1038  IDXGIFactory3 * This,
1039  /* [in] */ REFIID riid,
1040  /* [annotation][iid_is][out] */
1041  _COM_Outptr_ void **ppvObject);
1042 
1043  ULONG ( STDMETHODCALLTYPE *AddRef )(
1044  IDXGIFactory3 * This);
1045 
1046  ULONG ( STDMETHODCALLTYPE *Release )(
1047  IDXGIFactory3 * This);
1048 
1049  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1050  IDXGIFactory3 * This,
1051  /* [annotation][in] */
1052  _In_ REFGUID Name,
1053  /* [in] */ UINT DataSize,
1054  /* [annotation][in] */
1055  _In_reads_bytes_(DataSize) const void *pData);
1056 
1057  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1058  IDXGIFactory3 * This,
1059  /* [annotation][in] */
1060  _In_ REFGUID Name,
1061  /* [annotation][in] */
1062  _In_opt_ const IUnknown *pUnknown);
1063 
1064  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1065  IDXGIFactory3 * This,
1066  /* [annotation][in] */
1067  _In_ REFGUID Name,
1068  /* [annotation][out][in] */
1069  _Inout_ UINT *pDataSize,
1070  /* [annotation][out] */
1071  _Out_writes_bytes_(*pDataSize) void *pData);
1072 
1073  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1074  IDXGIFactory3 * This,
1075  /* [annotation][in] */
1076  _In_ REFIID riid,
1077  /* [annotation][retval][out] */
1078  _COM_Outptr_ void **ppParent);
1079 
1080  HRESULT ( STDMETHODCALLTYPE *EnumAdapters )(
1081  IDXGIFactory3 * This,
1082  /* [in] */ UINT Adapter,
1083  /* [annotation][out] */
1084  _COM_Outptr_ IDXGIAdapter **ppAdapter);
1085 
1086  HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )(
1087  IDXGIFactory3 * This,
1089  UINT Flags);
1090 
1091  HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )(
1092  IDXGIFactory3 * This,
1093  /* [annotation][out] */
1094  _Out_ HWND *pWindowHandle);
1095 
1096  HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )(
1097  IDXGIFactory3 * This,
1098  /* [annotation][in] */
1099  _In_ IUnknown *pDevice,
1100  /* [annotation][in] */
1102  /* [annotation][out] */
1103  _COM_Outptr_ IDXGISwapChain **ppSwapChain);
1104 
1105  HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )(
1106  IDXGIFactory3 * This,
1107  /* [in] */ HMODULE Module,
1108  /* [annotation][out] */
1109  _COM_Outptr_ IDXGIAdapter **ppAdapter);
1110 
1111  HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )(
1112  IDXGIFactory3 * This,
1113  /* [in] */ UINT Adapter,
1114  /* [annotation][out] */
1115  _COM_Outptr_ IDXGIAdapter1 **ppAdapter);
1116 
1117  BOOL ( STDMETHODCALLTYPE *IsCurrent )(
1118  IDXGIFactory3 * This);
1119 
1120  BOOL ( STDMETHODCALLTYPE *IsWindowedStereoEnabled )(
1121  IDXGIFactory3 * This);
1122 
1123  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForHwnd )(
1124  IDXGIFactory3 * This,
1125  /* [annotation][in] */
1126  _In_ IUnknown *pDevice,
1127  /* [annotation][in] */
1128  _In_ HWND hWnd,
1129  /* [annotation][in] */
1130  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1131  /* [annotation][in] */
1133  /* [annotation][in] */
1134  _In_opt_ IDXGIOutput *pRestrictToOutput,
1135  /* [annotation][out] */
1136  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1137 
1138  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCoreWindow )(
1139  IDXGIFactory3 * This,
1140  /* [annotation][in] */
1141  _In_ IUnknown *pDevice,
1142  /* [annotation][in] */
1143  _In_ IUnknown *pWindow,
1144  /* [annotation][in] */
1145  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1146  /* [annotation][in] */
1147  _In_opt_ IDXGIOutput *pRestrictToOutput,
1148  /* [annotation][out] */
1149  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1150 
1151  HRESULT ( STDMETHODCALLTYPE *GetSharedResourceAdapterLuid )(
1152  IDXGIFactory3 * This,
1153  /* [annotation] */
1154  _In_ HANDLE hResource,
1155  /* [annotation] */
1156  _Out_ LUID *pLuid);
1157 
1158  HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusWindow )(
1159  IDXGIFactory3 * This,
1160  /* [annotation][in] */
1161  _In_ HWND WindowHandle,
1162  /* [annotation][in] */
1163  _In_ UINT wMsg,
1164  /* [annotation][out] */
1165  _Out_ DWORD *pdwCookie);
1166 
1167  HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusEvent )(
1168  IDXGIFactory3 * This,
1169  /* [annotation][in] */
1170  _In_ HANDLE hEvent,
1171  /* [annotation][out] */
1172  _Out_ DWORD *pdwCookie);
1173 
1174  void ( STDMETHODCALLTYPE *UnregisterStereoStatus )(
1175  IDXGIFactory3 * This,
1176  /* [annotation][in] */
1177  _In_ DWORD dwCookie);
1178 
1179  HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusWindow )(
1180  IDXGIFactory3 * This,
1181  /* [annotation][in] */
1182  _In_ HWND WindowHandle,
1183  /* [annotation][in] */
1184  _In_ UINT wMsg,
1185  /* [annotation][out] */
1186  _Out_ DWORD *pdwCookie);
1187 
1188  HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusEvent )(
1189  IDXGIFactory3 * This,
1190  /* [annotation][in] */
1191  _In_ HANDLE hEvent,
1192  /* [annotation][out] */
1193  _Out_ DWORD *pdwCookie);
1194 
1195  void ( STDMETHODCALLTYPE *UnregisterOcclusionStatus )(
1196  IDXGIFactory3 * This,
1197  /* [annotation][in] */
1198  _In_ DWORD dwCookie);
1199 
1200  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForComposition )(
1201  IDXGIFactory3 * This,
1202  /* [annotation][in] */
1203  _In_ IUnknown *pDevice,
1204  /* [annotation][in] */
1205  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1206  /* [annotation][in] */
1207  _In_opt_ IDXGIOutput *pRestrictToOutput,
1208  /* [annotation][out] */
1209  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1210 
1211  UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
1212  IDXGIFactory3 * This);
1213 
1214  END_INTERFACE
1216 
1217  interface IDXGIFactory3
1218  {
1219  CONST_VTBL struct IDXGIFactory3Vtbl *lpVtbl;
1220  };
1221 
1222 
1223 
1224 #ifdef COBJMACROS
1225 
1226 
1227 #define IDXGIFactory3_QueryInterface(This,riid,ppvObject) \
1228  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1229 
1230 #define IDXGIFactory3_AddRef(This) \
1231  ( (This)->lpVtbl -> AddRef(This) )
1232 
1233 #define IDXGIFactory3_Release(This) \
1234  ( (This)->lpVtbl -> Release(This) )
1235 
1236 
1237 #define IDXGIFactory3_SetPrivateData(This,Name,DataSize,pData) \
1238  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
1239 
1240 #define IDXGIFactory3_SetPrivateDataInterface(This,Name,pUnknown) \
1241  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
1242 
1243 #define IDXGIFactory3_GetPrivateData(This,Name,pDataSize,pData) \
1244  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
1245 
1246 #define IDXGIFactory3_GetParent(This,riid,ppParent) \
1247  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
1248 
1249 
1250 #define IDXGIFactory3_EnumAdapters(This,Adapter,ppAdapter) \
1251  ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) )
1252 
1253 #define IDXGIFactory3_MakeWindowAssociation(This,WindowHandle,Flags) \
1254  ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) )
1255 
1256 #define IDXGIFactory3_GetWindowAssociation(This,pWindowHandle) \
1257  ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) )
1258 
1259 #define IDXGIFactory3_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \
1260  ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) )
1261 
1262 #define IDXGIFactory3_CreateSoftwareAdapter(This,Module,ppAdapter) \
1263  ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) )
1264 
1265 
1266 #define IDXGIFactory3_EnumAdapters1(This,Adapter,ppAdapter) \
1267  ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) )
1268 
1269 #define IDXGIFactory3_IsCurrent(This) \
1270  ( (This)->lpVtbl -> IsCurrent(This) )
1271 
1272 
1273 #define IDXGIFactory3_IsWindowedStereoEnabled(This) \
1274  ( (This)->lpVtbl -> IsWindowedStereoEnabled(This) )
1275 
1276 #define IDXGIFactory3_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) \
1277  ( (This)->lpVtbl -> CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) )
1278 
1279 #define IDXGIFactory3_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) \
1280  ( (This)->lpVtbl -> CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) )
1281 
1282 #define IDXGIFactory3_GetSharedResourceAdapterLuid(This,hResource,pLuid) \
1283  ( (This)->lpVtbl -> GetSharedResourceAdapterLuid(This,hResource,pLuid) )
1284 
1285 #define IDXGIFactory3_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) \
1286  ( (This)->lpVtbl -> RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) )
1287 
1288 #define IDXGIFactory3_RegisterStereoStatusEvent(This,hEvent,pdwCookie) \
1289  ( (This)->lpVtbl -> RegisterStereoStatusEvent(This,hEvent,pdwCookie) )
1290 
1291 #define IDXGIFactory3_UnregisterStereoStatus(This,dwCookie) \
1292  ( (This)->lpVtbl -> UnregisterStereoStatus(This,dwCookie) )
1293 
1294 #define IDXGIFactory3_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) \
1295  ( (This)->lpVtbl -> RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) )
1296 
1297 #define IDXGIFactory3_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) \
1298  ( (This)->lpVtbl -> RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) )
1299 
1300 #define IDXGIFactory3_UnregisterOcclusionStatus(This,dwCookie) \
1301  ( (This)->lpVtbl -> UnregisterOcclusionStatus(This,dwCookie) )
1302 
1303 #define IDXGIFactory3_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) \
1304  ( (This)->lpVtbl -> CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) )
1305 
1306 
1307 #define IDXGIFactory3_GetCreationFlags(This) \
1308  ( (This)->lpVtbl -> GetCreationFlags(This) )
1309 
1310 #endif /* COBJMACROS */
1311 
1312 
1313 #endif /* C style interface */
1314 
1315 
1316 
1317 
1318 #endif /* __IDXGIFactory3_INTERFACE_DEFINED__ */
1319 
1320 
1321 /* interface __MIDL_itf_dxgi1_3_0000_0004 */
1322 /* [local] */
1323 
1324 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
1325 /*#pragma endregion*/
1326 /*#pragma region App Family*/
1327 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
1329  {
1332 
1333 typedef
1335  {
1340 
1341 
1342 
1343 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0004_v0_0_c_ifspec;
1344 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0004_v0_0_s_ifspec;
1345 
1346 #ifndef __IDXGIDecodeSwapChain_INTERFACE_DEFINED__
1347 #define __IDXGIDecodeSwapChain_INTERFACE_DEFINED__
1348 
1349 /* interface IDXGIDecodeSwapChain */
1350 /* [unique][local][uuid][object] */
1351 
1352 
1353 EXTERN_C const IID IID_IDXGIDecodeSwapChain;
1354 
1355 #if defined(__cplusplus) && !defined(CINTERFACE)
1356 
1357  MIDL_INTERFACE("2633066b-4514-4c7a-8fd8-12ea98059d18")
1358  IDXGIDecodeSwapChain : public IUnknown
1359  {
1360  public:
1361  virtual HRESULT STDMETHODCALLTYPE PresentBuffer(
1362  UINT BufferToPresent,
1363  UINT SyncInterval,
1364  UINT Flags) = 0;
1365 
1366  virtual HRESULT STDMETHODCALLTYPE SetSourceRect(
1367  const RECT *pRect) = 0;
1368 
1369  virtual HRESULT STDMETHODCALLTYPE SetTargetRect(
1370  const RECT *pRect) = 0;
1371 
1372  virtual HRESULT STDMETHODCALLTYPE SetDestSize(
1373  UINT Width,
1374  UINT Height) = 0;
1375 
1376  virtual HRESULT STDMETHODCALLTYPE GetSourceRect(
1377  /* [annotation][out] */
1378  _Out_ RECT *pRect) = 0;
1379 
1380  virtual HRESULT STDMETHODCALLTYPE GetTargetRect(
1381  /* [annotation][out] */
1382  _Out_ RECT *pRect) = 0;
1383 
1384  virtual HRESULT STDMETHODCALLTYPE GetDestSize(
1385  /* [annotation][out] */
1386  _Out_ UINT *pWidth,
1387  /* [annotation][out] */
1388  _Out_ UINT *pHeight) = 0;
1389 
1390  virtual HRESULT STDMETHODCALLTYPE SetColorSpace(
1391  DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS ColorSpace) = 0;
1392 
1393  virtual DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS STDMETHODCALLTYPE GetColorSpace( void) = 0;
1394 
1395  };
1396 
1397 
1398 #else /* C style interface */
1399 
1401  {
1402  BEGIN_INTERFACE
1403 
1404  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1405  IDXGIDecodeSwapChain * This,
1406  /* [in] */ REFIID riid,
1407  /* [annotation][iid_is][out] */
1408  _COM_Outptr_ void **ppvObject);
1409 
1410  ULONG ( STDMETHODCALLTYPE *AddRef )(
1411  IDXGIDecodeSwapChain * This);
1412 
1413  ULONG ( STDMETHODCALLTYPE *Release )(
1414  IDXGIDecodeSwapChain * This);
1415 
1416  HRESULT ( STDMETHODCALLTYPE *PresentBuffer )(
1417  IDXGIDecodeSwapChain * This,
1420  UINT Flags);
1421 
1422  HRESULT ( STDMETHODCALLTYPE *SetSourceRect )(
1423  IDXGIDecodeSwapChain * This,
1424  const RECT *pRect);
1425 
1426  HRESULT ( STDMETHODCALLTYPE *SetTargetRect )(
1427  IDXGIDecodeSwapChain * This,
1428  const RECT *pRect);
1429 
1430  HRESULT ( STDMETHODCALLTYPE *SetDestSize )(
1431  IDXGIDecodeSwapChain * This,
1433  UINT Height);
1434 
1435  HRESULT ( STDMETHODCALLTYPE *GetSourceRect )(
1436  IDXGIDecodeSwapChain * This,
1437  /* [annotation][out] */
1438  _Out_ RECT *pRect);
1439 
1440  HRESULT ( STDMETHODCALLTYPE *GetTargetRect )(
1441  IDXGIDecodeSwapChain * This,
1442  /* [annotation][out] */
1443  _Out_ RECT *pRect);
1444 
1445  HRESULT ( STDMETHODCALLTYPE *GetDestSize )(
1446  IDXGIDecodeSwapChain * This,
1447  /* [annotation][out] */
1448  _Out_ UINT *pWidth,
1449  /* [annotation][out] */
1450  _Out_ UINT *pHeight);
1451 
1452  HRESULT ( STDMETHODCALLTYPE *SetColorSpace )(
1453  IDXGIDecodeSwapChain * This,
1455 
1456  DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS ( STDMETHODCALLTYPE *GetColorSpace )(
1457  IDXGIDecodeSwapChain * This);
1458 
1459  END_INTERFACE
1461 
1462  interface IDXGIDecodeSwapChain
1463  {
1464  CONST_VTBL struct IDXGIDecodeSwapChainVtbl *lpVtbl;
1465  };
1466 
1467 
1468 
1469 #ifdef COBJMACROS
1470 
1471 
1472 #define IDXGIDecodeSwapChain_QueryInterface(This,riid,ppvObject) \
1473  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1474 
1475 #define IDXGIDecodeSwapChain_AddRef(This) \
1476  ( (This)->lpVtbl -> AddRef(This) )
1477 
1478 #define IDXGIDecodeSwapChain_Release(This) \
1479  ( (This)->lpVtbl -> Release(This) )
1480 
1481 
1482 #define IDXGIDecodeSwapChain_PresentBuffer(This,BufferToPresent,SyncInterval,Flags) \
1483  ( (This)->lpVtbl -> PresentBuffer(This,BufferToPresent,SyncInterval,Flags) )
1484 
1485 #define IDXGIDecodeSwapChain_SetSourceRect(This,pRect) \
1486  ( (This)->lpVtbl -> SetSourceRect(This,pRect) )
1487 
1488 #define IDXGIDecodeSwapChain_SetTargetRect(This,pRect) \
1489  ( (This)->lpVtbl -> SetTargetRect(This,pRect) )
1490 
1491 #define IDXGIDecodeSwapChain_SetDestSize(This,Width,Height) \
1492  ( (This)->lpVtbl -> SetDestSize(This,Width,Height) )
1493 
1494 #define IDXGIDecodeSwapChain_GetSourceRect(This,pRect) \
1495  ( (This)->lpVtbl -> GetSourceRect(This,pRect) )
1496 
1497 #define IDXGIDecodeSwapChain_GetTargetRect(This,pRect) \
1498  ( (This)->lpVtbl -> GetTargetRect(This,pRect) )
1499 
1500 #define IDXGIDecodeSwapChain_GetDestSize(This,pWidth,pHeight) \
1501  ( (This)->lpVtbl -> GetDestSize(This,pWidth,pHeight) )
1502 
1503 #define IDXGIDecodeSwapChain_SetColorSpace(This,ColorSpace) \
1504  ( (This)->lpVtbl -> SetColorSpace(This,ColorSpace) )
1505 
1506 #define IDXGIDecodeSwapChain_GetColorSpace(This) \
1507  ( (This)->lpVtbl -> GetColorSpace(This) )
1508 
1509 #endif /* COBJMACROS */
1510 
1511 
1512 #endif /* C style interface */
1513 
1514 
1515 
1516 
1517 #endif /* __IDXGIDecodeSwapChain_INTERFACE_DEFINED__ */
1518 
1519 
1520 #ifndef __IDXGIFactoryMedia_INTERFACE_DEFINED__
1521 #define __IDXGIFactoryMedia_INTERFACE_DEFINED__
1522 
1523 /* interface IDXGIFactoryMedia */
1524 /* [unique][local][uuid][object] */
1525 
1526 
1527 EXTERN_C const IID IID_IDXGIFactoryMedia;
1528 
1529 #if defined(__cplusplus) && !defined(CINTERFACE)
1530 
1531  MIDL_INTERFACE("41e7d1f2-a591-4f7b-a2e5-fa9c843e1c12")
1532  IDXGIFactoryMedia : public IUnknown
1533  {
1534  public:
1535  virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForCompositionSurfaceHandle(
1536  /* [annotation][in] */
1537  _In_ IUnknown *pDevice,
1538  /* [annotation][in] */
1539  _In_opt_ HANDLE hSurface,
1540  /* [annotation][in] */
1541  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1542  /* [annotation][in] */
1543  _In_opt_ IDXGIOutput *pRestrictToOutput,
1544  /* [annotation][out] */
1545  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain) = 0;
1546 
1547  virtual HRESULT STDMETHODCALLTYPE CreateDecodeSwapChainForCompositionSurfaceHandle(
1548  /* [annotation][in] */
1549  _In_ IUnknown *pDevice,
1550  /* [annotation][in] */
1551  _In_opt_ HANDLE hSurface,
1552  /* [annotation][in] */
1553  _In_ DXGI_DECODE_SWAP_CHAIN_DESC *pDesc,
1554  /* [annotation][in] */
1555  _In_ IDXGIResource *pYuvDecodeBuffers,
1556  /* [annotation][in] */
1557  _In_opt_ IDXGIOutput *pRestrictToOutput,
1558  /* [annotation][out] */
1559  _COM_Outptr_ IDXGIDecodeSwapChain **ppSwapChain) = 0;
1560 
1561  };
1562 
1563 
1564 #else /* C style interface */
1565 
1566  typedef struct IDXGIFactoryMediaVtbl
1567  {
1568  BEGIN_INTERFACE
1569 
1570  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1571  IDXGIFactoryMedia * This,
1572  /* [in] */ REFIID riid,
1573  /* [annotation][iid_is][out] */
1574  _COM_Outptr_ void **ppvObject);
1575 
1576  ULONG ( STDMETHODCALLTYPE *AddRef )(
1577  IDXGIFactoryMedia * This);
1578 
1579  ULONG ( STDMETHODCALLTYPE *Release )(
1580  IDXGIFactoryMedia * This);
1581 
1582  HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCompositionSurfaceHandle )(
1583  IDXGIFactoryMedia * This,
1584  /* [annotation][in] */
1585  _In_ IUnknown *pDevice,
1586  /* [annotation][in] */
1587  _In_opt_ HANDLE hSurface,
1588  /* [annotation][in] */
1589  _In_ const DXGI_SWAP_CHAIN_DESC1 *pDesc,
1590  /* [annotation][in] */
1591  _In_opt_ IDXGIOutput *pRestrictToOutput,
1592  /* [annotation][out] */
1593  _COM_Outptr_ IDXGISwapChain1 **ppSwapChain);
1594 
1595  HRESULT ( STDMETHODCALLTYPE *CreateDecodeSwapChainForCompositionSurfaceHandle )(
1596  IDXGIFactoryMedia * This,
1597  /* [annotation][in] */
1598  _In_ IUnknown *pDevice,
1599  /* [annotation][in] */
1600  _In_opt_ HANDLE hSurface,
1601  /* [annotation][in] */
1603  /* [annotation][in] */
1605  /* [annotation][in] */
1606  _In_opt_ IDXGIOutput *pRestrictToOutput,
1607  /* [annotation][out] */
1608  _COM_Outptr_ IDXGIDecodeSwapChain **ppSwapChain);
1609 
1610  END_INTERFACE
1612 
1613  interface IDXGIFactoryMedia
1614  {
1615  CONST_VTBL struct IDXGIFactoryMediaVtbl *lpVtbl;
1616  };
1617 
1618 
1619 
1620 #ifdef COBJMACROS
1621 
1622 
1623 #define IDXGIFactoryMedia_QueryInterface(This,riid,ppvObject) \
1624  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1625 
1626 #define IDXGIFactoryMedia_AddRef(This) \
1627  ( (This)->lpVtbl -> AddRef(This) )
1628 
1629 #define IDXGIFactoryMedia_Release(This) \
1630  ( (This)->lpVtbl -> Release(This) )
1631 
1632 
1633 #define IDXGIFactoryMedia_CreateSwapChainForCompositionSurfaceHandle(This,pDevice,hSurface,pDesc,pRestrictToOutput,ppSwapChain) \
1634  ( (This)->lpVtbl -> CreateSwapChainForCompositionSurfaceHandle(This,pDevice,hSurface,pDesc,pRestrictToOutput,ppSwapChain) )
1635 
1636 #define IDXGIFactoryMedia_CreateDecodeSwapChainForCompositionSurfaceHandle(This,pDevice,hSurface,pDesc,pYuvDecodeBuffers,pRestrictToOutput,ppSwapChain) \
1637  ( (This)->lpVtbl -> CreateDecodeSwapChainForCompositionSurfaceHandle(This,pDevice,hSurface,pDesc,pYuvDecodeBuffers,pRestrictToOutput,ppSwapChain) )
1638 
1639 #endif /* COBJMACROS */
1640 
1641 
1642 #endif /* C style interface */
1643 
1644 
1645 
1646 
1647 #endif /* __IDXGIFactoryMedia_INTERFACE_DEFINED__ */
1648 
1649 
1650 /* interface __MIDL_itf_dxgi1_3_0000_0006 */
1651 /* [local] */
1652 
1653 typedef
1655  {
1661 
1663  {
1667  LARGE_INTEGER SyncQPCTime;
1668  LARGE_INTEGER SyncGPUTime;
1672 
1673 
1674 
1675 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0006_v0_0_c_ifspec;
1676 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0006_v0_0_s_ifspec;
1677 
1678 #ifndef __IDXGISwapChainMedia_INTERFACE_DEFINED__
1679 #define __IDXGISwapChainMedia_INTERFACE_DEFINED__
1680 
1681 /* interface IDXGISwapChainMedia */
1682 /* [unique][local][uuid][object] */
1683 
1684 
1685 EXTERN_C const IID IID_IDXGISwapChainMedia;
1686 
1687 #if defined(__cplusplus) && !defined(CINTERFACE)
1688 
1689  MIDL_INTERFACE("dd95b90b-f05f-4f6a-bd65-25bfb264bd84")
1690  IDXGISwapChainMedia : public IUnknown
1691  {
1692  public:
1693  virtual HRESULT STDMETHODCALLTYPE GetFrameStatisticsMedia(
1694  /* [annotation][out] */
1695  _Out_ DXGI_FRAME_STATISTICS_MEDIA *pStats) = 0;
1696 
1697  virtual HRESULT STDMETHODCALLTYPE SetPresentDuration(
1698  UINT Duration) = 0;
1699 
1700  virtual HRESULT STDMETHODCALLTYPE CheckPresentDurationSupport(
1701  UINT DesiredPresentDuration,
1702  /* [annotation][out] */
1703  _Out_ UINT *pClosestSmallerPresentDuration,
1704  /* [annotation][out] */
1705  _Out_ UINT *pClosestLargerPresentDuration) = 0;
1706 
1707  };
1708 
1709 
1710 #else /* C style interface */
1711 
1713  {
1714  BEGIN_INTERFACE
1715 
1716  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1717  IDXGISwapChainMedia * This,
1718  /* [in] */ REFIID riid,
1719  /* [annotation][iid_is][out] */
1720  _COM_Outptr_ void **ppvObject);
1721 
1722  ULONG ( STDMETHODCALLTYPE *AddRef )(
1723  IDXGISwapChainMedia * This);
1724 
1725  ULONG ( STDMETHODCALLTYPE *Release )(
1726  IDXGISwapChainMedia * This);
1727 
1728  HRESULT ( STDMETHODCALLTYPE *GetFrameStatisticsMedia )(
1729  IDXGISwapChainMedia * This,
1730  /* [annotation][out] */
1732 
1733  HRESULT ( STDMETHODCALLTYPE *SetPresentDuration )(
1734  IDXGISwapChainMedia * This,
1736 
1737  HRESULT ( STDMETHODCALLTYPE *CheckPresentDurationSupport )(
1738  IDXGISwapChainMedia * This,
1740  /* [annotation][out] */
1742  /* [annotation][out] */
1744 
1745  END_INTERFACE
1747 
1748  interface IDXGISwapChainMedia
1749  {
1750  CONST_VTBL struct IDXGISwapChainMediaVtbl *lpVtbl;
1751  };
1752 
1753 
1754 
1755 #ifdef COBJMACROS
1756 
1757 
1758 #define IDXGISwapChainMedia_QueryInterface(This,riid,ppvObject) \
1759  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1760 
1761 #define IDXGISwapChainMedia_AddRef(This) \
1762  ( (This)->lpVtbl -> AddRef(This) )
1763 
1764 #define IDXGISwapChainMedia_Release(This) \
1765  ( (This)->lpVtbl -> Release(This) )
1766 
1767 
1768 #define IDXGISwapChainMedia_GetFrameStatisticsMedia(This,pStats) \
1769  ( (This)->lpVtbl -> GetFrameStatisticsMedia(This,pStats) )
1770 
1771 #define IDXGISwapChainMedia_SetPresentDuration(This,Duration) \
1772  ( (This)->lpVtbl -> SetPresentDuration(This,Duration) )
1773 
1774 #define IDXGISwapChainMedia_CheckPresentDurationSupport(This,DesiredPresentDuration,pClosestSmallerPresentDuration,pClosestLargerPresentDuration) \
1775  ( (This)->lpVtbl -> CheckPresentDurationSupport(This,DesiredPresentDuration,pClosestSmallerPresentDuration,pClosestLargerPresentDuration) )
1776 
1777 #endif /* COBJMACROS */
1778 
1779 
1780 #endif /* C style interface */
1781 
1782 
1783 
1784 
1785 #endif /* __IDXGISwapChainMedia_INTERFACE_DEFINED__ */
1786 
1787 
1788 /* interface __MIDL_itf_dxgi1_3_0000_0007 */
1789 /* [local] */
1790 
1791 typedef
1793  {
1797 
1798 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
1799 /*#pragma endregion*/
1800 /*#pragma region App Family*/
1801 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
1802 
1803 
1804 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0007_v0_0_c_ifspec;
1805 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0007_v0_0_s_ifspec;
1806 
1807 #ifndef __IDXGIOutput3_INTERFACE_DEFINED__
1808 #define __IDXGIOutput3_INTERFACE_DEFINED__
1809 
1810 /* interface IDXGIOutput3 */
1811 /* [unique][local][uuid][object] */
1812 
1813 
1814 EXTERN_C const IID IID_IDXGIOutput3;
1815 
1816 #if defined(__cplusplus) && !defined(CINTERFACE)
1817 
1818  MIDL_INTERFACE("8a6bb301-7e7e-41F4-a8e0-5b32f7f99b18")
1819  IDXGIOutput3 : public IDXGIOutput2
1820  {
1821  public:
1822  virtual HRESULT STDMETHODCALLTYPE CheckOverlaySupport(
1823  /* [annotation][in] */
1824  _In_ DXGI_FORMAT EnumFormat,
1825  /* [annotation][out] */
1826  _In_ IUnknown *pConcernedDevice,
1827  /* [annotation][out] */
1828  _Out_ UINT *pFlags) = 0;
1829 
1830  };
1831 
1832 
1833 #else /* C style interface */
1834 
1835  typedef struct IDXGIOutput3Vtbl
1836  {
1837  BEGIN_INTERFACE
1838 
1839  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1840  IDXGIOutput3 * This,
1841  /* [in] */ REFIID riid,
1842  /* [annotation][iid_is][out] */
1843  _COM_Outptr_ void **ppvObject);
1844 
1845  ULONG ( STDMETHODCALLTYPE *AddRef )(
1846  IDXGIOutput3 * This);
1847 
1848  ULONG ( STDMETHODCALLTYPE *Release )(
1849  IDXGIOutput3 * This);
1850 
1851  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1852  IDXGIOutput3 * This,
1853  /* [annotation][in] */
1854  _In_ REFGUID Name,
1855  /* [in] */ UINT DataSize,
1856  /* [annotation][in] */
1857  _In_reads_bytes_(DataSize) const void *pData);
1858 
1859  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1860  IDXGIOutput3 * This,
1861  /* [annotation][in] */
1862  _In_ REFGUID Name,
1863  /* [annotation][in] */
1864  _In_opt_ const IUnknown *pUnknown);
1865 
1866  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1867  IDXGIOutput3 * This,
1868  /* [annotation][in] */
1869  _In_ REFGUID Name,
1870  /* [annotation][out][in] */
1871  _Inout_ UINT *pDataSize,
1872  /* [annotation][out] */
1873  _Out_writes_bytes_(*pDataSize) void *pData);
1874 
1875  HRESULT ( STDMETHODCALLTYPE *GetParent )(
1876  IDXGIOutput3 * This,
1877  /* [annotation][in] */
1878  _In_ REFIID riid,
1879  /* [annotation][retval][out] */
1880  _COM_Outptr_ void **ppParent);
1881 
1882  HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1883  IDXGIOutput3 * This,
1884  /* [annotation][out] */
1886 
1887  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )(
1888  IDXGIOutput3 * This,
1890  /* [in] */ UINT Flags,
1891  /* [annotation][out][in] */
1892  _Inout_ UINT *pNumModes,
1893  /* [annotation][out] */
1894  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC *pDesc);
1895 
1896  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )(
1897  IDXGIOutput3 * This,
1898  /* [annotation][in] */
1900  /* [annotation][out] */
1902  /* [annotation][in] */
1903  _In_opt_ IUnknown *pConcernedDevice);
1904 
1905  HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )(
1906  IDXGIOutput3 * This);
1907 
1908  HRESULT ( STDMETHODCALLTYPE *TakeOwnership )(
1909  IDXGIOutput3 * This,
1910  /* [annotation][in] */
1911  _In_ IUnknown *pDevice,
1912  BOOL Exclusive);
1913 
1914  void ( STDMETHODCALLTYPE *ReleaseOwnership )(
1915  IDXGIOutput3 * This);
1916 
1917  HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )(
1918  IDXGIOutput3 * This,
1919  /* [annotation][out] */
1921 
1922  HRESULT ( STDMETHODCALLTYPE *SetGammaControl )(
1923  IDXGIOutput3 * This,
1924  /* [annotation][in] */
1926 
1927  HRESULT ( STDMETHODCALLTYPE *GetGammaControl )(
1928  IDXGIOutput3 * This,
1929  /* [annotation][out] */
1931 
1932  HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )(
1933  IDXGIOutput3 * This,
1934  /* [annotation][in] */
1936 
1937  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )(
1938  IDXGIOutput3 * This,
1939  /* [annotation][in] */
1941 
1942  HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
1943  IDXGIOutput3 * This,
1944  /* [annotation][out] */
1946 
1947  HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )(
1948  IDXGIOutput3 * This,
1949  /* [in] */ DXGI_FORMAT EnumFormat,
1950  /* [in] */ UINT Flags,
1951  /* [annotation][out][in] */
1952  _Inout_ UINT *pNumModes,
1953  /* [annotation][out] */
1954  _Out_writes_to_opt_(*pNumModes,*pNumModes) DXGI_MODE_DESC1 *pDesc);
1955 
1956  HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )(
1957  IDXGIOutput3 * This,
1958  /* [annotation][in] */
1960  /* [annotation][out] */
1962  /* [annotation][in] */
1963  _In_opt_ IUnknown *pConcernedDevice);
1964 
1965  HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )(
1966  IDXGIOutput3 * This,
1967  /* [annotation][in] */
1969 
1970  HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )(
1971  IDXGIOutput3 * This,
1972  /* [annotation][in] */
1973  _In_ IUnknown *pDevice,
1974  /* [annotation][out] */
1976 
1977  BOOL ( STDMETHODCALLTYPE *SupportsOverlays )(
1978  IDXGIOutput3 * This);
1979 
1980  HRESULT ( STDMETHODCALLTYPE *CheckOverlaySupport )(
1981  IDXGIOutput3 * This,
1982  /* [annotation][in] */
1984  /* [annotation][out] */
1985  _In_ IUnknown *pConcernedDevice,
1986  /* [annotation][out] */
1987  _Out_ UINT *pFlags);
1988 
1989  END_INTERFACE
1990  } IDXGIOutput3Vtbl;
1991 
1992  interface IDXGIOutput3
1993  {
1994  CONST_VTBL struct IDXGIOutput3Vtbl *lpVtbl;
1995  };
1996 
1997 
1998 
1999 #ifdef COBJMACROS
2000 
2001 
2002 #define IDXGIOutput3_QueryInterface(This,riid,ppvObject) \
2003  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2004 
2005 #define IDXGIOutput3_AddRef(This) \
2006  ( (This)->lpVtbl -> AddRef(This) )
2007 
2008 #define IDXGIOutput3_Release(This) \
2009  ( (This)->lpVtbl -> Release(This) )
2010 
2011 
2012 #define IDXGIOutput3_SetPrivateData(This,Name,DataSize,pData) \
2013  ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) )
2014 
2015 #define IDXGIOutput3_SetPrivateDataInterface(This,Name,pUnknown) \
2016  ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) )
2017 
2018 #define IDXGIOutput3_GetPrivateData(This,Name,pDataSize,pData) \
2019  ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) )
2020 
2021 #define IDXGIOutput3_GetParent(This,riid,ppParent) \
2022  ( (This)->lpVtbl -> GetParent(This,riid,ppParent) )
2023 
2024 
2025 #define IDXGIOutput3_GetDesc(This,pDesc) \
2026  ( (This)->lpVtbl -> GetDesc(This,pDesc) )
2027 
2028 #define IDXGIOutput3_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) \
2029  ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) )
2030 
2031 #define IDXGIOutput3_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
2032  ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
2033 
2034 #define IDXGIOutput3_WaitForVBlank(This) \
2035  ( (This)->lpVtbl -> WaitForVBlank(This) )
2036 
2037 #define IDXGIOutput3_TakeOwnership(This,pDevice,Exclusive) \
2038  ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) )
2039 
2040 #define IDXGIOutput3_ReleaseOwnership(This) \
2041  ( (This)->lpVtbl -> ReleaseOwnership(This) )
2042 
2043 #define IDXGIOutput3_GetGammaControlCapabilities(This,pGammaCaps) \
2044  ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) )
2045 
2046 #define IDXGIOutput3_SetGammaControl(This,pArray) \
2047  ( (This)->lpVtbl -> SetGammaControl(This,pArray) )
2048 
2049 #define IDXGIOutput3_GetGammaControl(This,pArray) \
2050  ( (This)->lpVtbl -> GetGammaControl(This,pArray) )
2051 
2052 #define IDXGIOutput3_SetDisplaySurface(This,pScanoutSurface) \
2053  ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) )
2054 
2055 #define IDXGIOutput3_GetDisplaySurfaceData(This,pDestination) \
2056  ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) )
2057 
2058 #define IDXGIOutput3_GetFrameStatistics(This,pStats) \
2059  ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) )
2060 
2061 
2062 #define IDXGIOutput3_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) \
2063  ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) )
2064 
2065 #define IDXGIOutput3_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) \
2066  ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) )
2067 
2068 #define IDXGIOutput3_GetDisplaySurfaceData1(This,pDestination) \
2069  ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) )
2070 
2071 #define IDXGIOutput3_DuplicateOutput(This,pDevice,ppOutputDuplication) \
2072  ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) )
2073 
2074 
2075 #define IDXGIOutput3_SupportsOverlays(This) \
2076  ( (This)->lpVtbl -> SupportsOverlays(This) )
2077 
2078 
2079 #define IDXGIOutput3_CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags) \
2080  ( (This)->lpVtbl -> CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags) )
2081 
2082 #endif /* COBJMACROS */
2083 
2084 
2085 #endif /* C style interface */
2086 
2087 
2088 
2089 
2090 #endif /* __IDXGIOutput3_INTERFACE_DEFINED__ */
2091 
2092 
2093 /* interface __MIDL_itf_dxgi1_3_0000_0008 */
2094 /* [local] */
2095 
2096 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
2097 /*#pragma endregion*/
2098 DEFINE_GUID(IID_IDXGIDevice3,0x6007896c,0x3244,0x4afd,0xbf,0x18,0xa6,0xd3,0xbe,0xda,0x50,0x23);
2099 DEFINE_GUID(IID_IDXGISwapChain2,0xa8be2ac4,0x199f,0x4946,0xb3,0x31,0x79,0x59,0x9f,0xb9,0x8d,0xe7);
2100 DEFINE_GUID(IID_IDXGIOutput2,0x595e39d1,0x2724,0x4663,0x99,0xb1,0xda,0x96,0x9d,0xe2,0x83,0x64);
2101 DEFINE_GUID(IID_IDXGIFactory3,0x25483823,0xcd46,0x4c7d,0x86,0xca,0x47,0xaa,0x95,0xb8,0x37,0xbd);
2102 DEFINE_GUID(IID_IDXGIDecodeSwapChain,0x2633066b,0x4514,0x4c7a,0x8f,0xd8,0x12,0xea,0x98,0x05,0x9d,0x18);
2103 DEFINE_GUID(IID_IDXGIFactoryMedia,0x41e7d1f2,0xa591,0x4f7b,0xa2,0xe5,0xfa,0x9c,0x84,0x3e,0x1c,0x12);
2104 DEFINE_GUID(IID_IDXGISwapChainMedia,0xdd95b90b,0xf05f,0x4f6a,0xbd,0x65,0x25,0xbf,0xb2,0x64,0xbd,0x84);
2105 DEFINE_GUID(IID_IDXGIOutput3,0x8a6bb301,0x7e7e,0x41F4,0xa8,0xe0,0x5b,0x32,0xf7,0xf9,0x9b,0x18);
2106 
2107 
2108 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0008_v0_0_c_ifspec;
2109 extern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0008_v0_0_s_ifspec;
2110 
2111 /* Additional Prototypes for ALL interfaces */
2112 
2113 /* end of Additional Prototypes */
2114 
2115 #ifdef __cplusplus
2116 }
2117 #endif
2118 
2119 #endif
2120 
2121 
_In_ const DXGI_MODE_DESC * pModeToMatch
Definition: dxgi1_3.h:1899
HRESULT WINAPI CreateDXGIFactory2(UINT Flags, REFIID riid, _COM_Outptr_ void **ppFactory)
struct IDXGIFactory3Vtbl IDXGIFactory3Vtbl
UINT UINT SyncInterval
Definition: dxgi1_3.h:1418
FLOAT _22
Definition: dxgi1_3.h:348
_Out_ UINT * pLastPresentCount
Definition: dxgi1_3.h:515
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0008_v0_0_s_ifspec
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0004_v0_0_s_ifspec
_In_ UINT _In_ DXGI_OFFER_RESOURCE_PRIORITY Priority
Definition: dxgi1_3.h:238
_In_ REFIID _COM_Outptr_ void ** ppUnk
Definition: dxgi1_3.h:535
DXGI_OVERLAY_SUPPORT_FLAG
Definition: dxgi1_3.h:1791
_In_ UINT _Out_writes_all_opt_(NumResources) BOOL *pDiscarded)
UINT Flags
Definition: dxgi1_3.h:1330
struct DXGI_DECODE_SWAP_CHAIN_DESC DXGI_DECODE_SWAP_CHAIN_DESC
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_3.h:169
_In_ IUnknown BOOL Exclusive
Definition: dxgi1_3.h:842
DEFINE_GUID(IID_IDXGIDevice3, 0x6007896c, 0x3244, 0x4afd, 0xbf, 0x18, 0xa6, 0xd3, 0xbe, 0xda, 0x50, 0x23)
_Out_ DXGI_GAMMA_CONTROL_CAPABILITIES * pGammaCaps
Definition: dxgi1_3.h:1920
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_3.h:1873
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ const DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_3.h:1925
Definition: glslang_tab.cpp:129
const RECT * pRect
Definition: dxgi1_3.h:1424
UINT Buffer
Definition: dxgi1_3.h:465
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC _In_opt_ IUnknown * pConcernedDevice
Definition: dxgi1_3.h:830
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISwapChainMedia *This
_In_ IUnknown * pDevice
Definition: dxgi1_3.h:1911
interface IDXGIOutputDuplication IDXGIOutputDuplication
Definition: dxgi1_2.h:51
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0000_v0_0_s_ifspec
interface IDXGIResource IDXGIResource
Definition: dxgi.h:58
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC * pDesc
Definition: dxgi1_3.h:825
_In_ REFIID riid
Definition: dxgi1_3.h:809
struct IDXGIDevice3Vtbl IDXGIDevice3Vtbl
UINT(STDMETHODCALLTYPE *GetCreationFlags)(IDXGIFactory3 *This)
_In_ REFGUID Name
Definition: dxgi1_3.h:161
Definition: dxgi1_3.h:1033
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIOutput2 *This)
_In_ HANDLE _Out_ LUID * pLuid
Definition: dxgi1_3.h:1154
_In_ IUnknown _In_opt_ HANDLE _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_3.h:1585
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_3.h:447
_In_ IUnknown _In_ HWND hWnd
Definition: dxgi1_3.h:1126
_In_reads_(NumResources) IUnknown *const *ppResources
_Out_ DXGI_FRAME_STATISTICS_MEDIA * pStats
Definition: dxgi1_3.h:1731
HRESULT WINAPI DXGIGetDebugInterface1(UINT Flags, REFIID riid, _COM_Outptr_ void **pDebug)
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_3.h:772
interface IDXGIDecodeSwapChain IDXGIDecodeSwapChain
Definition: dxgi1_3.h:72
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIDecodeSwapChain *This
_In_ IDXGIResource * pDestination
Definition: dxgi1_3.h:1968
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIOutput2 *This
UINT _Out_ UINT _Out_ UINT * pClosestLargerPresentDuration
Definition: dxgi1_3.h:1739
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_3.h:1060
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_3.h:1406
INT Priority
Definition: dxgi1_3.h:215
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIOutput3 *This)
_In_ HANDLE _Out_ DWORD * pdwCookie
Definition: dxgi1_3.h:1170
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISwapChainMedia *This)
struct IDXGIFactoryMediaVtbl IDXGIFactoryMediaVtbl
_In_ const DXGI_RGBA * pColor
Definition: dxgi1_3.h:557
UINT UINT Width
Definition: dxgi1_3.h:491
_Out_ DXGI_OUTPUT_DESC * pDesc
Definition: dxgi1_3.h:1885
_In_ REFIID riid
Definition: dxgi1_3.h:1076
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE * pSharedResource
Definition: dxgi1_3.h:197
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIOutput3 *This
UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
Definition: dxgi1_3.h:1113
UINT Width
Definition: dxgi1_3.h:576
DXGI_FRAME_PRESENTATION_MODE
Definition: dxgi1_3.h:1653
_In_ const DXGI_MODE_DESC * pModeToMatch
Definition: dxgi1_3.h:830
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE _In_opt_ const DXGI_SHARED_RESOURCE _COM_Outptr_ IDXGISurface ** ppSurface
Definition: dxgi1_3.h:197
_Out_ DXGI_SWAP_CHAIN_FULLSCREEN_DESC * pDesc
Definition: dxgi1_3.h:525
Definition: dxgitype.h:75
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
Definition: dxgi1_3.h:1712
_In_ IUnknown * pDevice
Definition: dxgi1_3.h:1099
_In_ IUnknown _In_ IUnknown * pWindow
Definition: dxgi1_3.h:1141
DXGI_FORMAT EnumFormat
Definition: dxgi1_3.h:1889
const DXGI_MATRIX_3X2_F * pMatrix
Definition: dxgi1_3.h:600
_In_ REFGUID Name
Definition: dxgi1_3.h:423
UINT MaxLatency
Definition: dxgi1_3.h:224
interface IDXGISwapChain2 IDXGISwapChain2
Definition: dxgi1_3.h:51
interface IDXGIOutput3 IDXGIOutput3
Definition: dxgi1_3.h:93
HANDLE(STDMETHODCALLTYPE *GetFrameLatencyWaitableObject)(IDXGISwapChain2 *This)
interface IDXGIOutput2 IDXGIOutput2
Definition: dxgi1_3.h:58
UINT Duration
Definition: dxgi1_3.h:1735
DXGI_FORMAT EnumFormat
Definition: dxgi1_3.h:820
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0006_v0_0_c_ifspec
interface IDXGISwapChainMedia IDXGISwapChainMedia
Definition: dxgi1_3.h:86
BOOL(STDMETHODCALLTYPE *IsTemporaryMonoSupported)(IDXGISwapChain2 *This)
struct IDXGIDecodeSwapChainVtbl IDXGIDecodeSwapChainVtbl
_In_ IDXGISurface * pScanoutSurface
Definition: dxgi1_3.h:1935
UINT UINT UINT DXGI_FORMAT UINT SwapChainFlags
Definition: dxgi1_3.h:491
void(STDMETHODCALLTYPE *ReleaseOwnership)(IDXGIOutput3 *This)
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0004_v0_0_c_ifspec
_Out_ UINT * pMaxLatency
Definition: dxgi1_3.h:593
UINT _Out_ UINT * pClosestSmallerPresentDuration
Definition: dxgi1_3.h:1739
_In_ IDXGIResource * pDestination
Definition: dxgi1_3.h:899
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_3.h:772
_Out_writes_(NumResources) DXGI_RESIDENCY *pResidencyStatus
interface IDXGIFactoryMedia IDXGIFactoryMedia
Definition: dxgi1_3.h:79
HMODULE Module
Definition: dxgi1_3.h:1107
UINT DXGI_USAGE
Definition: dxgi.h:167
_Out_ DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_3.h:1930
_In_ const DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_3.h:856
Definition: dxgi1_3.h:343
struct IDXGISwapChain2Vtbl IDXGISwapChain2Vtbl
Definition: dxgi.h:285
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_3.h:1071
BOOL Fullscreen
Definition: dxgi1_3.h:473
EXTERN_C const IID IID_IDXGIOutput2
Definition: dxgi1_3.h:751
_Out_ UINT * pMaxLatency
Definition: dxgi1_3.h:229
UINT _In_ REFIID _COM_Outptr_ void ** ppSurface
Definition: dxgi1_3.h:465
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_3.h:1067
LARGE_INTEGER SyncGPUTime
Definition: dxgi1_3.h:1668
_In_ REFGUID Name
Definition: dxgi1_3.h:1854
DXGI_FORMAT UINT _Inout_ UINT * pNumModes
Definition: dxgi1_3.h:1889
UINT UINT UINT DXGI_FORMAT NewFormat
Definition: dxgi1_3.h:491
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_3.h:410
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIFactoryMedia *This)
_In_ const DXGI_SURFACE_DESC UINT NumSurfaces
Definition: dxgi1_3.h:197
BOOL _In_opt_ IDXGIOutput * pTarget
Definition: dxgi1_3.h:473
_In_ REFGUID UINT DataSize
Definition: dxgi1_3.h:785
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_3.h:510
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_3.h:809
DXGI_FORMAT
Definition: dxgiformat.h:10
_In_ REFIID _COM_Outptr_ void ** ppDevice
Definition: dxgi1_3.h:454
_Out_ UINT _Out_ UINT * pHeight
Definition: dxgi1_3.h:582
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_3.h:1869
EXTERN_C const IID IID_IDXGISwapChainMedia
Definition: dxgi1_3.h:1685
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_3.h:1878
FLOAT _31
Definition: dxgi1_3.h:349
UINT Adapter
Definition: dxgi1_3.h:1082
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_3.h:410
interface IDXGIOutput1 IDXGIOutput1
Definition: dxgi1_2.h:100
interface IDXGISurface IDXGISurface
Definition: d2d1.h:53
interface IDXGIDevice3 IDXGIDevice3
Definition: dxgi1_3.h:44
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_3.h:876
DXGI_FORMAT UINT Flags
Definition: dxgi1_3.h:820
_In_ DXGI_FORMAT _In_ IUnknown _Out_ UINT * pFlags
Definition: dxgi1_3.h:1983
_Out_ UINT _Out_ UINT * pHeight
Definition: dxgi1_3.h:1448
Definition: dxgi1_3.h:1400
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_3.h:148
_COM_Outptr_ IDXGIAdapter ** pAdapter
Definition: dxgi1_3.h:192
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0007_v0_0_s_ifspec
FLOAT _32
Definition: dxgi1_3.h:350
UINT UINT Height
Definition: dxgi1_3.h:1432
UINT SyncRefreshCount
Definition: dxgi1_3.h:1666
Definition: dxgi1_2.h:1209
_In_ IUnknown * pDevice
Definition: dxgi1_3.h:1585
BOOL(STDMETHODCALLTYPE *SupportsOverlays)(IDXGIOutput3 *This)
Definition: dxgi1_3.h:766
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_3.h:804
Definition: dxgi1_3.h:142
struct IDXGIOutput2Vtbl IDXGIOutput2Vtbl
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_3.h:1718
EXTERN_C const IID IID_IDXGIDecodeSwapChain
Definition: dxgi1_3.h:1353
interface IDXGISwapChain1 IDXGISwapChain1
Definition: dxgi1_2.h:79
UINT ApprovedPresentDuration
Definition: dxgi1_3.h:1670
interface IDXGISwapChain IDXGISwapChain
Definition: dxgi.h:100
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0001_v0_0_s_ifspec
_In_ IUnknown _In_opt_ HANDLE _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ IDXGIOutput _COM_Outptr_ IDXGISwapChain1 ** ppSwapChain
Definition: dxgi1_3.h:1585
UINT PresentCount
Definition: dxgi1_3.h:1664
_In_ HANDLE hResource
Definition: dxgi1_3.h:1154
Definition: dxgi.h:218
_In_ REFGUID UINT DataSize
Definition: dxgi1_3.h:1854
Definition: dxgitype.h:115
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGISwapChain2 *This
_Out_ IDXGIOutput ** ppRestrictToOutput
Definition: dxgi1_3.h:552
Definition: dxgi.h:169
interface IDXGIAdapter1 IDXGIAdapter1
Definition: dxgi.h:128
_In_ IDXGISurface * pDestination
Definition: dxgi1_3.h:1940
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_3.h:1039
Definition: dxgi1_3.h:1662
EXTERN_C const IID IID_IDXGISwapChain2
Definition: dxgi1_3.h:365
FLOAT _12
Definition: dxgi1_3.h:346
_COM_Outptr_ IDXGIOutput ** ppOutput
Definition: dxgi1_3.h:505
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_3.h:1718
_In_ const DXGI_MODE_DESC * pNewTargetParameters
Definition: dxgi1_3.h:500
Definition: dxgi1_3.h:1794
Definition: dxgi1_3.h:1328
LARGE_INTEGER SyncQPCTime
Definition: dxgi1_3.h:1667
EXTERN_C const IID IID_IDXGIDevice3
Definition: dxgi1_3.h:127
_In_ IDXGISurface * pDestination
Definition: dxgi1_3.h:871
interface IDXGIFactory2 IDXGIFactory2
Definition: dxgi1_2.h:86
Definition: dxgi1_3.h:404
_In_ DXGI_MODE_ROTATION Rotation
Definition: dxgi1_3.h:567
DXGI_FORMAT UINT Flags
Definition: dxgi1_3.h:1889
BOOL(STDMETHODCALLTYPE *SupportsOverlays)(IDXGIOutput2 *This)
EXTERN_C const IID IID_IDXGIFactory3
Definition: dxgi1_3.h:1018
UINT NumResources
Definition: dxgi1_3.h:211
UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi1_3.h:1082
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC * pClosestMatch
Definition: dxgi1_3.h:830
_In_ DWORD dwCookie
Definition: dxgi1_3.h:1177
_In_ IUnknown _In_ HWND _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC * pFullscreenDesc
Definition: dxgi1_3.h:1126
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_3.h:185
Definition: dxgi1_2.h:1167
Definition: dxgi.h:250
UINT UINT UINT Height
Definition: dxgi1_3.h:491
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_3.h:1572
_In_ HWND _In_ UINT _Out_ DWORD * pdwCookie
Definition: dxgi1_3.h:1161
UINT SyncInterval
Definition: dxgi1_3.h:460
_In_ IUnknown _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_3.h:1203
UINT UINT PresentFlags
Definition: dxgi1_3.h:541
FLOAT _11
Definition: dxgi1_3.h:345
_In_ HANDLE hEvent
Definition: dxgi1_3.h:1170
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_3.h:176
interface IDXGIFactory3 IDXGIFactory3
Definition: dxgi1_3.h:65
FLOAT _21
Definition: dxgi1_3.h:347
_Out_ DXGI_MATRIX_3X2_F * pMatrix
Definition: dxgi1_3.h:605
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0001_v0_0_c_ifspec
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: dxgi1_3.h:1099
_In_ REFGUID UINT DataSize
Definition: dxgi1_3.h:1052
_Out_ HWND * pWindowHandle
Definition: dxgi1_3.h:1094
Definition: dxgitype.h:82
Definition: dxgi1_3.h:1835
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC * pClosestMatch
Definition: dxgi1_3.h:1899
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
_In_ IUnknown _In_opt_ HANDLE _In_ const DXGI_SWAP_CHAIN_DESC1 * pDesc
Definition: dxgi1_3.h:1585
_Out_opt_ BOOL * pFullscreen
Definition: dxgi1_3.h:480
DXGI_FRAME_PRESENTATION_MODE CompositionMode
Definition: dxgi1_3.h:1669
unsigned int BOOL
Definition: gctypes.h:51
Definition: dxgi1_3.h:1566
_In_ REFGUID UINT DataSize
Definition: dxgi1_3.h:161
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_3.h:1572
UINT PresentRefreshCount
Definition: dxgi1_3.h:1665
UINT Width
Definition: dxgi1_3.h:1432
_In_ const DXGI_MODE_DESC1 * pModeToMatch
Definition: dxgi1_3.h:890
struct IDXGISwapChainMediaVtbl IDXGISwapChainMediaVtbl
EXTERN_C const IID IID_IDXGIOutput3
Definition: dxgi1_3.h:1814
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_3.h:1862
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0008_v0_0_c_ifspec
_In_ REFGUID Name
Definition: dxgi1_3.h:785
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIDevice3 *This)
Definition: dxgi1_3.h:1657
struct DXGI_MATRIX_3X2_F DXGI_MATRIX_3X2_F
UINT BufferCount
Definition: dxgi1_3.h:491
_In_ HWND _In_ UINT wMsg
Definition: dxgi1_3.h:1161
HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: dxgi1_3.h:1107
_In_ REFIID riid
Definition: dxgi1_3.h:1878
EXTERN_C const IID IID_IDXGIFactoryMedia
Definition: dxgi1_3.h:1527
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC * pDesc
Definition: dxgi1_3.h:1894
_In_ REFIID _COM_Outptr_ void ** ppParent
Definition: dxgi1_3.h:1076
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_In_ IUnknown _In_ HWND _In_ const DXGI_SWAP_CHAIN_DESC1 _In_opt_ const DXGI_SWAP_CHAIN_FULLSCREEN_DESC _In_opt_ IDXGIOutput * pRestrictToOutput
Definition: dxgi1_3.h:1126
_Out_ DXGI_GAMMA_CONTROL_CAPABILITIES * pGammaCaps
Definition: dxgi1_3.h:851
_Out_ UINT * pWidth
Definition: dxgi1_3.h:582
_In_ IUnknown _In_opt_ HANDLE hSurface
Definition: dxgi1_3.h:1585
_Out_ DXGI_MODE_ROTATION * pRotation
Definition: dxgi1_3.h:572
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_3.h:442
Definition: dxgi1_2.h:1201
interface IDXGIOutput IDXGIOutput
Definition: dxgi.h:93
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIDevice3 *This
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_3.h:431
Definition: glslang_tab.cpp:135
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 BOOL Exclusive
Definition: dxgi1_3.h:1911
_Out_ HWND * pHwnd
Definition: dxgi1_3.h:530
_In_ const DXGI_MODE_DESC1 * pModeToMatch
Definition: dxgi1_3.h:1959
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_3.h:1841
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIDecodeSwapChain *This)
_In_ REFIID refiid
Definition: dxgi1_3.h:535
struct IDXGIOutput3Vtbl IDXGIOutput3Vtbl
_Out_ DXGI_OUTPUT_DESC * pDesc
Definition: dxgi1_3.h:816
_In_ IUnknown _In_opt_ HANDLE _In_ DXGI_DECODE_SWAP_CHAIN_DESC _In_ IDXGIResource * pYuvDecodeBuffers
Definition: dxgi1_3.h:1598
DXGI_MODE_ROTATION
Definition: dxgitype.h:106
_In_ const DXGI_MODE_DESC _Out_ DXGI_MODE_DESC _In_opt_ IUnknown * pConcernedDevice
Definition: dxgi1_3.h:1899
_In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: dxgi1_3.h:793
void(STDMETHODCALLTYPE *Trim)(IDXGIDevice3 *This)
_Out_ DXGI_SWAP_CHAIN_DESC1 * pDesc
Definition: dxgi1_3.h:520
interface IDXGIAdapter IDXGIAdapter
Definition: dxgi.h:86
UINT MaxLatency
Definition: dxgi1_3.h:588
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS
Definition: dxgi1_3.h:1333
_Out_ DXGI_GAMMA_CONTROL * pArray
Definition: dxgi1_3.h:861
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_3.h:800
_Out_opt_ BOOL _COM_Outptr_opt_result_maybenull_ IDXGIOutput ** ppTarget
Definition: dxgi1_3.h:480
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC1 * pDesc
Definition: dxgi1_3.h:885
_In_ REFGUID UINT DataSize
Definition: dxgi1_3.h:423
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: dxgi1_3.h:438
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS ColorSpace
Definition: dxgi1_3.h:1454
UINT BufferToPresent
Definition: dxgi1_3.h:1418
_In_ IUnknown _COM_Outptr_ IDXGIOutputDuplication ** ppOutputDuplication
Definition: dxgi1_3.h:1973
UINT UINT _In_ const DXGI_PRESENT_PARAMETERS * pPresentParameters
Definition: dxgi1_3.h:541
UINT _In_ REFIID riid
Definition: dxgi1_3.h:465
interface IDXGIDevice2 IDXGIDevice2
Definition: dxgi1_2.h:72
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_3.h:1841
_Out_ RECT * pRect
Definition: dxgi1_3.h:1438
_Out_ UINT * pWidth
Definition: dxgi1_3.h:1448
Definition: dxgi1_2.h:1186
_In_ IDXGISurface * pScanoutSurface
Definition: dxgi1_3.h:866
_In_ const DXGI_SURFACE_DESC UINT DXGI_USAGE Usage
Definition: dxgi1_3.h:197
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGIFactory3 *This)
_In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi1_3.h:1099
ULONG(STDMETHODCALLTYPE *AddRef)(IDXGISwapChain2 *This)
void(STDMETHODCALLTYPE *ReleaseOwnership)(IDXGIOutput2 *This)
_In_ HANDLE hEvent
Definition: dxgi1_3.h:252
HWND UINT Flags
Definition: dxgi1_3.h:1088
_In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
_Out_ DXGI_FRAME_STATISTICS * pStats
Definition: dxgi1_3.h:1945
UINT UINT Flags
Definition: dxgi1_3.h:460
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0006_v0_0_s_ifspec
Definition: dxgi1_3.h:1795
Definition: dxgi1_3.h:1656
_In_ REFIID riid
Definition: dxgi1_3.h:185
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS(STDMETHODCALLTYPE *GetColorSpace)(IDXGIDecodeSwapChain *This)
BEGIN_INTERFACE REFIID riid
Definition: dxgi1_3.h:1406
UINT DesiredPresentDuration
Definition: dxgi1_3.h:1739
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIFactoryMedia *This
UINT UINT UINT Flags
Definition: dxgi1_3.h:1418
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: dxgi1_3.h:180
Definition: dxgi1_3.h:1658
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_3.h:148
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0007_v0_0_c_ifspec
struct DXGI_FRAME_STATISTICS_MEDIA DXGI_FRAME_STATISTICS_MEDIA
HWND WindowHandle
Definition: dxgi1_3.h:1088
_In_ IUnknown _COM_Outptr_ IDXGIOutputDuplication ** ppOutputDuplication
Definition: dxgi1_3.h:904
The text renderer interface represents a set of application-defined callbacks that perform rendering ...
Definition: d3d8types.h:57
BOOL(STDMETHODCALLTYPE *IsCurrent)(IDXGIFactory3 *This)
_Out_ DXGI_RGBA * pColor
Definition: dxgi1_3.h:562
void(STDMETHODCALLTYPE *UnregisterStereoStatus)(IDXGIFactory3 *This
_Out_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: dxgi1_3.h:487
_In_ const DXGI_SURFACE_DESC * pDesc
Definition: dxgi1_3.h:197
_Out_ INT * pPriority
Definition: dxgi1_3.h:220
_In_ IUnknown * pDevice
Definition: dxgi1_3.h:842
DXGI_FORMAT UINT _Inout_ UINT * pNumModes
Definition: dxgi1_3.h:820
RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0000_v0_0_c_ifspec
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(IDXGIFactory3 *This
_In_ REFGUID Name
Definition: dxgi1_3.h:1052
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: dxgi1_3.h:1039
DXGI_FORMAT UINT _Inout_ UINT _Out_writes_to_opt_ pNumModes DXGI_MODE_DESC1 * pDesc
Definition: dxgi1_3.h:1954