9 #pragma warning( disable: 4049 ) 13 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 14 #define __REQUIRED_RPCNDR_H_VERSION__ 475 18 #ifndef __REQUIRED_RPCSAL_H_VERSION__ 19 #define __REQUIRED_RPCSAL_H_VERSION__ 100 25 #ifndef __RPCNDR_H_VERSION__ 26 #error this stub requires an updated version of <rpcndr.h> 27 #endif // __RPCNDR_H_VERSION__ 29 #ifndef COM_NO_WINDOWS_H 37 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 43 #ifndef __IDXGIObject_FWD_DEFINED__ 44 #define __IDXGIObject_FWD_DEFINED__ 45 typedef interface IDXGIObject IDXGIObject;
49 #ifndef __IDXGIDeviceSubObject_FWD_DEFINED__ 50 #define __IDXGIDeviceSubObject_FWD_DEFINED__ 51 typedef interface IDXGIDeviceSubObject IDXGIDeviceSubObject;
55 #ifndef __IDXGIResource_FWD_DEFINED__ 56 #define __IDXGIResource_FWD_DEFINED__ 57 typedef interface IDXGIResource IDXGIResource;
61 #ifndef __IDXGIKeyedMutex_FWD_DEFINED__ 62 #define __IDXGIKeyedMutex_FWD_DEFINED__ 63 typedef interface IDXGIKeyedMutex IDXGIKeyedMutex;
67 #ifndef __IDXGISurface_FWD_DEFINED__ 68 #define __IDXGISurface_FWD_DEFINED__ 69 typedef interface IDXGISurface IDXGISurface;
73 #ifndef __IDXGISurface1_FWD_DEFINED__ 74 #define __IDXGISurface1_FWD_DEFINED__ 75 typedef interface IDXGISurface1 IDXGISurface1;
79 #ifndef __IDXGIAdapter_FWD_DEFINED__ 80 #define __IDXGIAdapter_FWD_DEFINED__ 81 typedef interface IDXGIAdapter IDXGIAdapter;
85 #ifndef __IDXGIOutput_FWD_DEFINED__ 86 #define __IDXGIOutput_FWD_DEFINED__ 87 typedef interface IDXGIOutput IDXGIOutput;
91 #ifndef __IDXGISwapChain_FWD_DEFINED__ 92 #define __IDXGISwapChain_FWD_DEFINED__ 93 typedef interface IDXGISwapChain IDXGISwapChain;
97 #ifndef __IDXGIFactory_FWD_DEFINED__ 98 #define __IDXGIFactory_FWD_DEFINED__ 99 typedef interface IDXGIFactory IDXGIFactory;
103 #ifndef __IDXGIDevice_FWD_DEFINED__ 104 #define __IDXGIDevice_FWD_DEFINED__ 105 typedef interface IDXGIDevice IDXGIDevice;
109 #ifndef __IDXGIFactory1_FWD_DEFINED__ 110 #define __IDXGIFactory1_FWD_DEFINED__ 111 typedef interface IDXGIFactory1 IDXGIFactory1;
115 #ifndef __IDXGIAdapter1_FWD_DEFINED__ 116 #define __IDXGIAdapter1_FWD_DEFINED__ 117 typedef interface IDXGIAdapter1 IDXGIAdapter1;
121 #ifndef __IDXGIDevice1_FWD_DEFINED__ 122 #define __IDXGIDevice1_FWD_DEFINED__ 123 typedef interface IDXGIDevice1 IDXGIDevice1;
130 #include "dxgitype.h" 140 #define DXGI_CPU_ACCESS_NONE ( 0 ) 141 #define DXGI_CPU_ACCESS_DYNAMIC ( 1 ) 142 #define DXGI_CPU_ACCESS_READ_WRITE ( 2 ) 143 #define DXGI_CPU_ACCESS_SCRATCH ( 3 ) 144 #define DXGI_CPU_ACCESS_FIELD 15 145 #define DXGI_USAGE_SHADER_INPUT ( 1L << (0 + 4) ) 146 #define DXGI_USAGE_RENDER_TARGET_OUTPUT ( 1L << (1 + 4) ) 147 #define DXGI_USAGE_BACK_BUFFER ( 1L << (2 + 4) ) 148 #define DXGI_USAGE_SHARED ( 1L << (3 + 4) ) 149 #define DXGI_USAGE_READ_ONLY ( 1L << (4 + 4) ) 150 #define DXGI_USAGE_DISCARD_ON_PRESENT ( 1L << (5 + 4) ) 151 #define DXGI_USAGE_UNORDERED_ACCESS ( 1L << (6 + 4) ) 152 typedef UINT DXGI_USAGE;
157 UINT PresentRefreshCount;
158 UINT SyncRefreshCount;
159 LARGE_INTEGER SyncQPCTime;
160 LARGE_INTEGER SyncGPUTime;
176 typedef struct _LUID *PLUID;
181 WCHAR Description[ 128 ];
186 SIZE_T DedicatedVideoMemory;
187 SIZE_T DedicatedSystemMemory;
188 SIZE_T SharedSystemMemory;
192 #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500) 193 #define HMONITOR_DECLARED 195 typedef HANDLE HMONITOR;
198 DECLARE_HANDLE(HMONITOR);
202 WCHAR DeviceName[ 32 ];
203 RECT DesktopCoordinates;
204 BOOL AttachedToDesktop;
205 DXGI_MODE_ROTATION Rotation;
214 #define DXGI_RESOURCE_PRIORITY_MINIMUM ( 0x28000000 ) 216 #define DXGI_RESOURCE_PRIORITY_LOW ( 0x50000000 ) 218 #define DXGI_RESOURCE_PRIORITY_NORMAL ( 0x78000000 ) 220 #define DXGI_RESOURCE_PRIORITY_HIGH ( 0xa0000000 ) 222 #define DXGI_RESOURCE_PRIORITY_MAXIMUM ( 0xc8000000 ) 226 { DXGI_RESIDENCY_FULLY_RESIDENT = 1,
227 DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2,
228 DXGI_RESIDENCY_EVICTED_TO_DISK = 3
240 enum DXGI_SWAP_EFFECT
241 { DXGI_SWAP_EFFECT_DISCARD = 0,
242 DXGI_SWAP_EFFECT_SEQUENTIAL = 1
246 enum DXGI_SWAP_CHAIN_FLAG
247 { DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1,
248 DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2,
249 DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4
250 } DXGI_SWAP_CHAIN_FLAG;
256 DXGI_USAGE BufferUsage;
260 DXGI_SWAP_EFFECT SwapEffect;
266 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_c_ifspec;
267 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_s_ifspec;
269 #ifndef __IDXGIObject_INTERFACE_DEFINED__ 270 #define __IDXGIObject_INTERFACE_DEFINED__ 276 EXTERN_C
const IID IID_IDXGIObject;
278 #if defined(__cplusplus) && !defined(CINTERFACE) 280 MIDL_INTERFACE(
"aec22fb8-76f3-4639-9be0-28eb43a67a2e")
281 IDXGIObject :
public IUnknown
284 virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
289 __in_bcount(DataSize)
const void *pData) = 0;
291 virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
295 __in
const IUnknown *pUnknown) = 0;
297 virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
301 __inout UINT *pDataSize,
303 __out_bcount(*pDataSize)
void *pData) = 0;
305 virtual HRESULT STDMETHODCALLTYPE GetParent(
309 __out
void **ppParent) = 0;
319 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
323 __RPC__deref_out
void **ppvObject);
325 ULONG ( STDMETHODCALLTYPE *AddRef )(
328 ULONG ( STDMETHODCALLTYPE *Release )(
331 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
337 __in_bcount(DataSize)
const void *pData);
339 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
344 __in
const IUnknown *pUnknown);
346 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
351 __inout UINT *pDataSize,
353 __out_bcount(*pDataSize)
void *pData);
355 HRESULT ( STDMETHODCALLTYPE *GetParent )(
360 __out
void **ppParent);
365 interface IDXGIObject
367 CONST_VTBL
struct IDXGIObjectVtbl *lpVtbl;
375 #define IDXGIObject_QueryInterface(This,riid,ppvObject) \ 376 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 378 #define IDXGIObject_AddRef(This) \ 379 ( (This)->lpVtbl -> AddRef(This) ) 381 #define IDXGIObject_Release(This) \ 382 ( (This)->lpVtbl -> Release(This) ) 385 #define IDXGIObject_SetPrivateData(This,Name,DataSize,pData) \ 386 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 388 #define IDXGIObject_SetPrivateDataInterface(This,Name,pUnknown) \ 389 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 391 #define IDXGIObject_GetPrivateData(This,Name,pDataSize,pData) \ 392 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 394 #define IDXGIObject_GetParent(This,riid,ppParent) \ 395 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 408 #ifndef __IDXGIDeviceSubObject_INTERFACE_DEFINED__ 409 #define __IDXGIDeviceSubObject_INTERFACE_DEFINED__ 415 EXTERN_C
const IID IID_IDXGIDeviceSubObject;
417 #if defined(__cplusplus) && !defined(CINTERFACE) 419 MIDL_INTERFACE(
"3d3e0379-f9de-4d58-bb6c-18d62992f1a6")
420 IDXGIDeviceSubObject :
public IDXGIObject
423 virtual HRESULT STDMETHODCALLTYPE GetDevice(
427 __out
void **ppDevice) = 0;
437 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
438 IDXGIDeviceSubObject * This,
441 __RPC__deref_out
void **ppvObject);
443 ULONG ( STDMETHODCALLTYPE *AddRef )(
444 IDXGIDeviceSubObject * This);
446 ULONG ( STDMETHODCALLTYPE *Release )(
447 IDXGIDeviceSubObject * This);
449 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
450 IDXGIDeviceSubObject * This,
455 __in_bcount(DataSize)
const void *pData);
457 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
458 IDXGIDeviceSubObject * This,
462 __in
const IUnknown *pUnknown);
464 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
465 IDXGIDeviceSubObject * This,
469 __inout UINT *pDataSize,
471 __out_bcount(*pDataSize)
void *pData);
473 HRESULT ( STDMETHODCALLTYPE *GetParent )(
474 IDXGIDeviceSubObject * This,
478 __out
void **ppParent);
480 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
481 IDXGIDeviceSubObject * This,
485 __out
void **ppDevice);
490 interface IDXGIDeviceSubObject
492 CONST_VTBL
struct IDXGIDeviceSubObjectVtbl *lpVtbl;
500 #define IDXGIDeviceSubObject_QueryInterface(This,riid,ppvObject) \ 501 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 503 #define IDXGIDeviceSubObject_AddRef(This) \ 504 ( (This)->lpVtbl -> AddRef(This) ) 506 #define IDXGIDeviceSubObject_Release(This) \ 507 ( (This)->lpVtbl -> Release(This) ) 510 #define IDXGIDeviceSubObject_SetPrivateData(This,Name,DataSize,pData) \ 511 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 513 #define IDXGIDeviceSubObject_SetPrivateDataInterface(This,Name,pUnknown) \ 514 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 516 #define IDXGIDeviceSubObject_GetPrivateData(This,Name,pDataSize,pData) \ 517 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 519 #define IDXGIDeviceSubObject_GetParent(This,riid,ppParent) \ 520 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 523 #define IDXGIDeviceSubObject_GetDevice(This,riid,ppDevice) \ 524 ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) 537 #ifndef __IDXGIResource_INTERFACE_DEFINED__ 538 #define __IDXGIResource_INTERFACE_DEFINED__ 544 EXTERN_C
const IID IID_IDXGIResource;
546 #if defined(__cplusplus) && !defined(CINTERFACE) 548 MIDL_INTERFACE(
"035f3ab4-482e-4e50-b41f-8a7f8bd8960b")
549 IDXGIResource :
public IDXGIDeviceSubObject
552 virtual HRESULT STDMETHODCALLTYPE GetSharedHandle(
554 __out HANDLE *pSharedHandle) = 0;
556 virtual HRESULT STDMETHODCALLTYPE GetUsage(
558 __out DXGI_USAGE *pUsage) = 0;
560 virtual HRESULT STDMETHODCALLTYPE SetEvictionPriority(
561 UINT EvictionPriority) = 0;
563 virtual HRESULT STDMETHODCALLTYPE GetEvictionPriority(
565 __out UINT *pEvictionPriority) = 0;
575 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
576 IDXGIResource * This,
579 __RPC__deref_out
void **ppvObject);
581 ULONG ( STDMETHODCALLTYPE *AddRef )(
582 IDXGIResource * This);
584 ULONG ( STDMETHODCALLTYPE *Release )(
585 IDXGIResource * This);
587 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
588 IDXGIResource * This,
593 __in_bcount(DataSize)
const void *pData);
595 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
596 IDXGIResource * This,
600 __in
const IUnknown *pUnknown);
602 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
603 IDXGIResource * This,
607 __inout UINT *pDataSize,
609 __out_bcount(*pDataSize)
void *pData);
611 HRESULT ( STDMETHODCALLTYPE *GetParent )(
612 IDXGIResource * This,
616 __out
void **ppParent);
618 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
619 IDXGIResource * This,
623 __out
void **ppDevice);
625 HRESULT ( STDMETHODCALLTYPE *GetSharedHandle )(
626 IDXGIResource * This,
628 __out HANDLE *pSharedHandle);
630 HRESULT ( STDMETHODCALLTYPE *GetUsage )(
631 IDXGIResource * This,
633 __out DXGI_USAGE *pUsage);
635 HRESULT ( STDMETHODCALLTYPE *SetEvictionPriority )(
636 IDXGIResource * This,
637 UINT EvictionPriority);
639 HRESULT ( STDMETHODCALLTYPE *GetEvictionPriority )(
640 IDXGIResource * This,
642 __out UINT *pEvictionPriority);
647 interface IDXGIResource
649 CONST_VTBL
struct IDXGIResourceVtbl *lpVtbl;
657 #define IDXGIResource_QueryInterface(This,riid,ppvObject) \ 658 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 660 #define IDXGIResource_AddRef(This) \ 661 ( (This)->lpVtbl -> AddRef(This) ) 663 #define IDXGIResource_Release(This) \ 664 ( (This)->lpVtbl -> Release(This) ) 667 #define IDXGIResource_SetPrivateData(This,Name,DataSize,pData) \ 668 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 670 #define IDXGIResource_SetPrivateDataInterface(This,Name,pUnknown) \ 671 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 673 #define IDXGIResource_GetPrivateData(This,Name,pDataSize,pData) \ 674 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 676 #define IDXGIResource_GetParent(This,riid,ppParent) \ 677 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 680 #define IDXGIResource_GetDevice(This,riid,ppDevice) \ 681 ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) 684 #define IDXGIResource_GetSharedHandle(This,pSharedHandle) \ 685 ( (This)->lpVtbl -> GetSharedHandle(This,pSharedHandle) ) 687 #define IDXGIResource_GetUsage(This,pUsage) \ 688 ( (This)->lpVtbl -> GetUsage(This,pUsage) ) 690 #define IDXGIResource_SetEvictionPriority(This,EvictionPriority) \ 691 ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) 693 #define IDXGIResource_GetEvictionPriority(This,pEvictionPriority) \ 694 ( (This)->lpVtbl -> GetEvictionPriority(This,pEvictionPriority) ) 707 #ifndef __IDXGIKeyedMutex_INTERFACE_DEFINED__ 708 #define __IDXGIKeyedMutex_INTERFACE_DEFINED__ 714 EXTERN_C
const IID IID_IDXGIKeyedMutex;
716 #if defined(__cplusplus) && !defined(CINTERFACE) 718 MIDL_INTERFACE(
"9d8e1289-d7b3-465f-8126-250e349af85d")
719 IDXGIKeyedMutex :
public IDXGIDeviceSubObject
722 virtual HRESULT STDMETHODCALLTYPE AcquireSync(
724 DWORD dwMilliseconds) = 0;
726 virtual HRESULT STDMETHODCALLTYPE ReleaseSync(
737 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
738 IDXGIKeyedMutex * This,
741 __RPC__deref_out
void **ppvObject);
743 ULONG ( STDMETHODCALLTYPE *AddRef )(
744 IDXGIKeyedMutex * This);
746 ULONG ( STDMETHODCALLTYPE *Release )(
747 IDXGIKeyedMutex * This);
749 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
750 IDXGIKeyedMutex * This,
755 __in_bcount(DataSize)
const void *pData);
757 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
758 IDXGIKeyedMutex * This,
762 __in
const IUnknown *pUnknown);
764 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
765 IDXGIKeyedMutex * This,
769 __inout UINT *pDataSize,
771 __out_bcount(*pDataSize)
void *pData);
773 HRESULT ( STDMETHODCALLTYPE *GetParent )(
774 IDXGIKeyedMutex * This,
778 __out
void **ppParent);
780 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
781 IDXGIKeyedMutex * This,
785 __out
void **ppDevice);
787 HRESULT ( STDMETHODCALLTYPE *AcquireSync )(
788 IDXGIKeyedMutex * This,
790 DWORD dwMilliseconds);
792 HRESULT ( STDMETHODCALLTYPE *ReleaseSync )(
793 IDXGIKeyedMutex * This,
799 interface IDXGIKeyedMutex
801 CONST_VTBL
struct IDXGIKeyedMutexVtbl *lpVtbl;
809 #define IDXGIKeyedMutex_QueryInterface(This,riid,ppvObject) \ 810 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 812 #define IDXGIKeyedMutex_AddRef(This) \ 813 ( (This)->lpVtbl -> AddRef(This) ) 815 #define IDXGIKeyedMutex_Release(This) \ 816 ( (This)->lpVtbl -> Release(This) ) 819 #define IDXGIKeyedMutex_SetPrivateData(This,Name,DataSize,pData) \ 820 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 822 #define IDXGIKeyedMutex_SetPrivateDataInterface(This,Name,pUnknown) \ 823 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 825 #define IDXGIKeyedMutex_GetPrivateData(This,Name,pDataSize,pData) \ 826 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 828 #define IDXGIKeyedMutex_GetParent(This,riid,ppParent) \ 829 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 832 #define IDXGIKeyedMutex_GetDevice(This,riid,ppDevice) \ 833 ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) 836 #define IDXGIKeyedMutex_AcquireSync(This,Key,dwMilliseconds) \ 837 ( (This)->lpVtbl -> AcquireSync(This,Key,dwMilliseconds) ) 839 #define IDXGIKeyedMutex_ReleaseSync(This,Key) \ 840 ( (This)->lpVtbl -> ReleaseSync(This,Key) ) 856 #define DXGI_MAP_READ ( 1UL ) 858 #define DXGI_MAP_WRITE ( 2UL ) 860 #define DXGI_MAP_DISCARD ( 4UL ) 864 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_c_ifspec;
865 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_s_ifspec;
867 #ifndef __IDXGISurface_INTERFACE_DEFINED__ 868 #define __IDXGISurface_INTERFACE_DEFINED__ 874 EXTERN_C
const IID IID_IDXGISurface;
876 #if defined(__cplusplus) && !defined(CINTERFACE) 878 MIDL_INTERFACE(
"cafcb56c-6ac3-4889-bf47-9e23bbd260ec")
879 IDXGISurface :
public IDXGIDeviceSubObject
882 virtual HRESULT STDMETHODCALLTYPE GetDesc(
886 virtual HRESULT STDMETHODCALLTYPE Map(
891 virtual HRESULT STDMETHODCALLTYPE Unmap(
void) = 0;
901 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
905 __RPC__deref_out
void **ppvObject);
907 ULONG ( STDMETHODCALLTYPE *AddRef )(
908 IDXGISurface * This);
910 ULONG ( STDMETHODCALLTYPE *Release )(
911 IDXGISurface * This);
913 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
919 __in_bcount(DataSize)
const void *pData);
921 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
926 __in
const IUnknown *pUnknown);
928 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
933 __inout UINT *pDataSize,
935 __out_bcount(*pDataSize)
void *pData);
937 HRESULT ( STDMETHODCALLTYPE *GetParent )(
942 __out
void **ppParent);
944 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
949 __out
void **ppDevice);
951 HRESULT ( STDMETHODCALLTYPE *GetDesc )(
956 HRESULT ( STDMETHODCALLTYPE *Map )(
962 HRESULT ( STDMETHODCALLTYPE *Unmap )(
963 IDXGISurface * This);
968 interface IDXGISurface
970 CONST_VTBL
struct IDXGISurfaceVtbl *lpVtbl;
978 #define IDXGISurface_QueryInterface(This,riid,ppvObject) \ 979 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 981 #define IDXGISurface_AddRef(This) \ 982 ( (This)->lpVtbl -> AddRef(This) ) 984 #define IDXGISurface_Release(This) \ 985 ( (This)->lpVtbl -> Release(This) ) 988 #define IDXGISurface_SetPrivateData(This,Name,DataSize,pData) \ 989 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 991 #define IDXGISurface_SetPrivateDataInterface(This,Name,pUnknown) \ 992 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 994 #define IDXGISurface_GetPrivateData(This,Name,pDataSize,pData) \ 995 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 997 #define IDXGISurface_GetParent(This,riid,ppParent) \ 998 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 1001 #define IDXGISurface_GetDevice(This,riid,ppDevice) \ 1002 ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) 1005 #define IDXGISurface_GetDesc(This,pDesc) \ 1006 ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 1008 #define IDXGISurface_Map(This,pLockedRect,MapFlags) \ 1009 ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) ) 1011 #define IDXGISurface_Unmap(This) \ 1012 ( (This)->lpVtbl -> Unmap(This) ) 1025 #ifndef __IDXGISurface1_INTERFACE_DEFINED__ 1026 #define __IDXGISurface1_INTERFACE_DEFINED__ 1032 EXTERN_C
const IID IID_IDXGISurface1;
1034 #if defined(__cplusplus) && !defined(CINTERFACE) 1036 MIDL_INTERFACE(
"4AE63092-6327-4c1b-80AE-BFE12EA32B86")
1037 IDXGISurface1 :
public IDXGISurface
1040 virtual HRESULT STDMETHODCALLTYPE GetDC(
1043 __out HDC *phdc) = 0;
1045 virtual HRESULT STDMETHODCALLTYPE ReleaseDC(
1047 __in_opt RECT *pDirtyRect) = 0;
1057 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1058 IDXGISurface1 * This,
1061 __RPC__deref_out
void **ppvObject);
1063 ULONG ( STDMETHODCALLTYPE *AddRef )(
1064 IDXGISurface1 * This);
1066 ULONG ( STDMETHODCALLTYPE *Release )(
1067 IDXGISurface1 * This);
1069 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1070 IDXGISurface1 * This,
1075 __in_bcount(DataSize)
const void *pData);
1077 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1078 IDXGISurface1 * This,
1082 __in
const IUnknown *pUnknown);
1084 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1085 IDXGISurface1 * This,
1089 __inout UINT *pDataSize,
1091 __out_bcount(*pDataSize)
void *pData);
1093 HRESULT ( STDMETHODCALLTYPE *GetParent )(
1094 IDXGISurface1 * This,
1098 __out
void **ppParent);
1100 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
1101 IDXGISurface1 * This,
1105 __out
void **ppDevice);
1107 HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1108 IDXGISurface1 * This,
1112 HRESULT ( STDMETHODCALLTYPE *Map )(
1113 IDXGISurface1 * This,
1118 HRESULT ( STDMETHODCALLTYPE *Unmap )(
1119 IDXGISurface1 * This);
1121 HRESULT ( STDMETHODCALLTYPE *GetDC )(
1122 IDXGISurface1 * This,
1127 HRESULT ( STDMETHODCALLTYPE *ReleaseDC )(
1128 IDXGISurface1 * This,
1130 __in_opt RECT *pDirtyRect);
1135 interface IDXGISurface1
1137 CONST_VTBL
struct IDXGISurface1Vtbl *lpVtbl;
1145 #define IDXGISurface1_QueryInterface(This,riid,ppvObject) \ 1146 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 1148 #define IDXGISurface1_AddRef(This) \ 1149 ( (This)->lpVtbl -> AddRef(This) ) 1151 #define IDXGISurface1_Release(This) \ 1152 ( (This)->lpVtbl -> Release(This) ) 1155 #define IDXGISurface1_SetPrivateData(This,Name,DataSize,pData) \ 1156 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 1158 #define IDXGISurface1_SetPrivateDataInterface(This,Name,pUnknown) \ 1159 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 1161 #define IDXGISurface1_GetPrivateData(This,Name,pDataSize,pData) \ 1162 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 1164 #define IDXGISurface1_GetParent(This,riid,ppParent) \ 1165 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 1168 #define IDXGISurface1_GetDevice(This,riid,ppDevice) \ 1169 ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) 1172 #define IDXGISurface1_GetDesc(This,pDesc) \ 1173 ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 1175 #define IDXGISurface1_Map(This,pLockedRect,MapFlags) \ 1176 ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) ) 1178 #define IDXGISurface1_Unmap(This) \ 1179 ( (This)->lpVtbl -> Unmap(This) ) 1182 #define IDXGISurface1_GetDC(This,Discard,phdc) \ 1183 ( (This)->lpVtbl -> GetDC(This,Discard,phdc) ) 1185 #define IDXGISurface1_ReleaseDC(This,pDirtyRect) \ 1186 ( (This)->lpVtbl -> ReleaseDC(This,pDirtyRect) ) 1205 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_c_ifspec;
1206 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_s_ifspec;
1208 #ifndef __IDXGIAdapter_INTERFACE_DEFINED__ 1209 #define __IDXGIAdapter_INTERFACE_DEFINED__ 1215 EXTERN_C
const IID IID_IDXGIAdapter;
1217 #if defined(__cplusplus) && !defined(CINTERFACE) 1219 MIDL_INTERFACE(
"2411e7e1-12ac-4ccf-bd14-9798e8534dc0")
1220 IDXGIAdapter :
public IDXGIObject
1223 virtual HRESULT STDMETHODCALLTYPE EnumOutputs(
1226 __out IDXGIOutput **ppOutput) = 0;
1228 virtual HRESULT STDMETHODCALLTYPE GetDesc(
1232 virtual HRESULT STDMETHODCALLTYPE CheckInterfaceSupport(
1234 __in REFGUID InterfaceName,
1236 __out LARGE_INTEGER *pUMDVersion) = 0;
1246 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1247 IDXGIAdapter * This,
1250 __RPC__deref_out
void **ppvObject);
1252 ULONG ( STDMETHODCALLTYPE *AddRef )(
1253 IDXGIAdapter * This);
1255 ULONG ( STDMETHODCALLTYPE *Release )(
1256 IDXGIAdapter * This);
1258 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1259 IDXGIAdapter * This,
1264 __in_bcount(DataSize)
const void *pData);
1266 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1267 IDXGIAdapter * This,
1271 __in
const IUnknown *pUnknown);
1273 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1274 IDXGIAdapter * This,
1278 __inout UINT *pDataSize,
1280 __out_bcount(*pDataSize)
void *pData);
1282 HRESULT ( STDMETHODCALLTYPE *GetParent )(
1283 IDXGIAdapter * This,
1287 __out
void **ppParent);
1289 HRESULT ( STDMETHODCALLTYPE *EnumOutputs )(
1290 IDXGIAdapter * This,
1293 __out IDXGIOutput **ppOutput);
1295 HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1296 IDXGIAdapter * This,
1300 HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )(
1301 IDXGIAdapter * This,
1303 __in REFGUID InterfaceName,
1305 __out LARGE_INTEGER *pUMDVersion);
1310 interface IDXGIAdapter
1312 CONST_VTBL
struct IDXGIAdapterVtbl *lpVtbl;
1320 #define IDXGIAdapter_QueryInterface(This,riid,ppvObject) \ 1321 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 1323 #define IDXGIAdapter_AddRef(This) \ 1324 ( (This)->lpVtbl -> AddRef(This) ) 1326 #define IDXGIAdapter_Release(This) \ 1327 ( (This)->lpVtbl -> Release(This) ) 1330 #define IDXGIAdapter_SetPrivateData(This,Name,DataSize,pData) \ 1331 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 1333 #define IDXGIAdapter_SetPrivateDataInterface(This,Name,pUnknown) \ 1334 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 1336 #define IDXGIAdapter_GetPrivateData(This,Name,pDataSize,pData) \ 1337 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 1339 #define IDXGIAdapter_GetParent(This,riid,ppParent) \ 1340 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 1343 #define IDXGIAdapter_EnumOutputs(This,Output,ppOutput) \ 1344 ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) ) 1346 #define IDXGIAdapter_GetDesc(This,pDesc) \ 1347 ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 1349 #define IDXGIAdapter_CheckInterfaceSupport(This,InterfaceName,pUMDVersion) \ 1350 ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) ) 1366 #define DXGI_ENUM_MODES_INTERLACED ( 1UL ) 1368 #define DXGI_ENUM_MODES_SCALING ( 2UL ) 1372 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_c_ifspec;
1373 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_s_ifspec;
1375 #ifndef __IDXGIOutput_INTERFACE_DEFINED__ 1376 #define __IDXGIOutput_INTERFACE_DEFINED__ 1382 EXTERN_C
const IID IID_IDXGIOutput;
1384 #if defined(__cplusplus) && !defined(CINTERFACE) 1386 MIDL_INTERFACE(
"ae02eedb-c735-4690-8d52-5a8dc20213aa")
1387 IDXGIOutput :
public IDXGIObject
1390 virtual HRESULT STDMETHODCALLTYPE GetDesc(
1394 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeList(
1395 DXGI_FORMAT EnumFormat,
1398 __inout UINT *pNumModes,
1400 __out_ecount_part_opt(*pNumModes,*pNumModes)
DXGI_MODE_DESC *pDesc) = 0;
1402 virtual HRESULT STDMETHODCALLTYPE FindClosestMatchingMode(
1408 __in_opt IUnknown *pConcernedDevice) = 0;
1410 virtual HRESULT STDMETHODCALLTYPE WaitForVBlank(
void) = 0;
1412 virtual HRESULT STDMETHODCALLTYPE TakeOwnership(
1414 __in IUnknown *pDevice,
1415 BOOL Exclusive) = 0;
1417 virtual void STDMETHODCALLTYPE ReleaseOwnership(
void) = 0;
1419 virtual HRESULT STDMETHODCALLTYPE GetGammaControlCapabilities(
1423 virtual HRESULT STDMETHODCALLTYPE SetGammaControl(
1427 virtual HRESULT STDMETHODCALLTYPE GetGammaControl(
1431 virtual HRESULT STDMETHODCALLTYPE SetDisplaySurface(
1433 __in IDXGISurface *pScanoutSurface) = 0;
1435 virtual HRESULT STDMETHODCALLTYPE GetDisplaySurfaceData(
1437 __in IDXGISurface *pDestination) = 0;
1439 virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics(
1451 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1455 __RPC__deref_out
void **ppvObject);
1457 ULONG ( STDMETHODCALLTYPE *AddRef )(
1458 IDXGIOutput * This);
1460 ULONG ( STDMETHODCALLTYPE *Release )(
1461 IDXGIOutput * This);
1463 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1469 __in_bcount(DataSize)
const void *pData);
1471 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1476 __in
const IUnknown *pUnknown);
1478 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1483 __inout UINT *pDataSize,
1485 __out_bcount(*pDataSize)
void *pData);
1487 HRESULT ( STDMETHODCALLTYPE *GetParent )(
1492 __out
void **ppParent);
1494 HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1499 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )(
1501 DXGI_FORMAT EnumFormat,
1504 __inout UINT *pNumModes,
1506 __out_ecount_part_opt(*pNumModes,*pNumModes)
DXGI_MODE_DESC *pDesc);
1508 HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )(
1515 __in_opt IUnknown *pConcernedDevice);
1517 HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )(
1518 IDXGIOutput * This);
1520 HRESULT ( STDMETHODCALLTYPE *TakeOwnership )(
1523 __in IUnknown *pDevice,
1526 void ( STDMETHODCALLTYPE *ReleaseOwnership )(
1527 IDXGIOutput * This);
1529 HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )(
1534 HRESULT ( STDMETHODCALLTYPE *SetGammaControl )(
1539 HRESULT ( STDMETHODCALLTYPE *GetGammaControl )(
1544 HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )(
1547 __in IDXGISurface *pScanoutSurface);
1549 HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )(
1552 __in IDXGISurface *pDestination);
1554 HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
1562 interface IDXGIOutput
1564 CONST_VTBL
struct IDXGIOutputVtbl *lpVtbl;
1572 #define IDXGIOutput_QueryInterface(This,riid,ppvObject) \ 1573 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 1575 #define IDXGIOutput_AddRef(This) \ 1576 ( (This)->lpVtbl -> AddRef(This) ) 1578 #define IDXGIOutput_Release(This) \ 1579 ( (This)->lpVtbl -> Release(This) ) 1582 #define IDXGIOutput_SetPrivateData(This,Name,DataSize,pData) \ 1583 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 1585 #define IDXGIOutput_SetPrivateDataInterface(This,Name,pUnknown) \ 1586 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 1588 #define IDXGIOutput_GetPrivateData(This,Name,pDataSize,pData) \ 1589 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 1591 #define IDXGIOutput_GetParent(This,riid,ppParent) \ 1592 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 1595 #define IDXGIOutput_GetDesc(This,pDesc) \ 1596 ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 1598 #define IDXGIOutput_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) \ 1599 ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) ) 1601 #define IDXGIOutput_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) \ 1602 ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) 1604 #define IDXGIOutput_WaitForVBlank(This) \ 1605 ( (This)->lpVtbl -> WaitForVBlank(This) ) 1607 #define IDXGIOutput_TakeOwnership(This,pDevice,Exclusive) \ 1608 ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) ) 1610 #define IDXGIOutput_ReleaseOwnership(This) \ 1611 ( (This)->lpVtbl -> ReleaseOwnership(This) ) 1613 #define IDXGIOutput_GetGammaControlCapabilities(This,pGammaCaps) \ 1614 ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) ) 1616 #define IDXGIOutput_SetGammaControl(This,pArray) \ 1617 ( (This)->lpVtbl -> SetGammaControl(This,pArray) ) 1619 #define IDXGIOutput_GetGammaControl(This,pArray) \ 1620 ( (This)->lpVtbl -> GetGammaControl(This,pArray) ) 1622 #define IDXGIOutput_SetDisplaySurface(This,pScanoutSurface) \ 1623 ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) ) 1625 #define IDXGIOutput_GetDisplaySurfaceData(This,pDestination) \ 1626 ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) ) 1628 #define IDXGIOutput_GetFrameStatistics(This,pStats) \ 1629 ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) 1645 #define DXGI_MAX_SWAP_CHAIN_BUFFERS ( 16 ) 1646 #define DXGI_PRESENT_TEST 0x00000001UL 1647 #define DXGI_PRESENT_DO_NOT_SEQUENCE 0x00000002UL 1648 #define DXGI_PRESENT_RESTART 0x00000004UL 1651 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_c_ifspec;
1652 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_s_ifspec;
1654 #ifndef __IDXGISwapChain_INTERFACE_DEFINED__ 1655 #define __IDXGISwapChain_INTERFACE_DEFINED__ 1661 EXTERN_C
const IID IID_IDXGISwapChain;
1663 #if defined(__cplusplus) && !defined(CINTERFACE) 1665 MIDL_INTERFACE(
"310d36a0-d2e7-4c0a-aa04-6a9d23b8886a")
1666 IDXGISwapChain :
public IDXGIDeviceSubObject
1669 virtual HRESULT STDMETHODCALLTYPE Present(
1673 virtual HRESULT STDMETHODCALLTYPE GetBuffer(
1678 __out
void **ppSurface) = 0;
1680 virtual HRESULT STDMETHODCALLTYPE SetFullscreenState(
1683 __in_opt IDXGIOutput *pTarget) = 0;
1685 virtual HRESULT STDMETHODCALLTYPE GetFullscreenState(
1687 __out BOOL *pFullscreen,
1689 __out IDXGIOutput **ppTarget) = 0;
1691 virtual HRESULT STDMETHODCALLTYPE GetDesc(
1695 virtual HRESULT STDMETHODCALLTYPE ResizeBuffers(
1699 DXGI_FORMAT NewFormat,
1700 UINT SwapChainFlags) = 0;
1702 virtual HRESULT STDMETHODCALLTYPE ResizeTarget(
1706 virtual HRESULT STDMETHODCALLTYPE GetContainingOutput(
1708 __out IDXGIOutput **ppOutput) = 0;
1710 virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics(
1714 virtual HRESULT STDMETHODCALLTYPE GetLastPresentCount(
1716 __out UINT *pLastPresentCount) = 0;
1726 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1727 IDXGISwapChain * This,
1730 __RPC__deref_out
void **ppvObject);
1732 ULONG ( STDMETHODCALLTYPE *AddRef )(
1733 IDXGISwapChain * This);
1735 ULONG ( STDMETHODCALLTYPE *Release )(
1736 IDXGISwapChain * This);
1738 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1739 IDXGISwapChain * This,
1744 __in_bcount(DataSize)
const void *pData);
1746 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1747 IDXGISwapChain * This,
1751 __in
const IUnknown *pUnknown);
1753 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1754 IDXGISwapChain * This,
1758 __inout UINT *pDataSize,
1760 __out_bcount(*pDataSize)
void *pData);
1762 HRESULT ( STDMETHODCALLTYPE *GetParent )(
1763 IDXGISwapChain * This,
1767 __out
void **ppParent);
1769 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
1770 IDXGISwapChain * This,
1774 __out
void **ppDevice);
1776 HRESULT ( STDMETHODCALLTYPE *Present )(
1777 IDXGISwapChain * This,
1781 HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
1782 IDXGISwapChain * This,
1787 __out
void **ppSurface);
1789 HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )(
1790 IDXGISwapChain * This,
1793 __in_opt IDXGIOutput *pTarget);
1795 HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )(
1796 IDXGISwapChain * This,
1798 __out BOOL *pFullscreen,
1800 __out IDXGIOutput **ppTarget);
1802 HRESULT ( STDMETHODCALLTYPE *GetDesc )(
1803 IDXGISwapChain * This,
1807 HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )(
1808 IDXGISwapChain * This,
1812 DXGI_FORMAT NewFormat,
1813 UINT SwapChainFlags);
1815 HRESULT ( STDMETHODCALLTYPE *ResizeTarget )(
1816 IDXGISwapChain * This,
1820 HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )(
1821 IDXGISwapChain * This,
1823 __out IDXGIOutput **ppOutput);
1825 HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )(
1826 IDXGISwapChain * This,
1830 HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )(
1831 IDXGISwapChain * This,
1833 __out UINT *pLastPresentCount);
1838 interface IDXGISwapChain
1840 CONST_VTBL
struct IDXGISwapChainVtbl *lpVtbl;
1848 #define IDXGISwapChain_QueryInterface(This,riid,ppvObject) \ 1849 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 1851 #define IDXGISwapChain_AddRef(This) \ 1852 ( (This)->lpVtbl -> AddRef(This) ) 1854 #define IDXGISwapChain_Release(This) \ 1855 ( (This)->lpVtbl -> Release(This) ) 1858 #define IDXGISwapChain_SetPrivateData(This,Name,DataSize,pData) \ 1859 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 1861 #define IDXGISwapChain_SetPrivateDataInterface(This,Name,pUnknown) \ 1862 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 1864 #define IDXGISwapChain_GetPrivateData(This,Name,pDataSize,pData) \ 1865 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 1867 #define IDXGISwapChain_GetParent(This,riid,ppParent) \ 1868 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 1871 #define IDXGISwapChain_GetDevice(This,riid,ppDevice) \ 1872 ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) 1875 #define IDXGISwapChain_Present(This,SyncInterval,Flags) \ 1876 ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) ) 1878 #define IDXGISwapChain_GetBuffer(This,Buffer,riid,ppSurface) \ 1879 ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) ) 1881 #define IDXGISwapChain_SetFullscreenState(This,Fullscreen,pTarget) \ 1882 ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) ) 1884 #define IDXGISwapChain_GetFullscreenState(This,pFullscreen,ppTarget) \ 1885 ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) ) 1887 #define IDXGISwapChain_GetDesc(This,pDesc) \ 1888 ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 1890 #define IDXGISwapChain_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) \ 1891 ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) ) 1893 #define IDXGISwapChain_ResizeTarget(This,pNewTargetParameters) \ 1894 ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) ) 1896 #define IDXGISwapChain_GetContainingOutput(This,ppOutput) \ 1897 ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) ) 1899 #define IDXGISwapChain_GetFrameStatistics(This,pStats) \ 1900 ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) 1902 #define IDXGISwapChain_GetLastPresentCount(This,pLastPresentCount) \ 1903 ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) ) 1919 #define DXGI_MWA_NO_WINDOW_CHANGES ( 1 << 0 ) 1920 #define DXGI_MWA_NO_ALT_ENTER ( 1 << 1 ) 1921 #define DXGI_MWA_NO_PRINT_SCREEN ( 1 << 2 ) 1922 #define DXGI_MWA_VALID ( 0x7 ) 1925 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_c_ifspec;
1926 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_s_ifspec;
1928 #ifndef __IDXGIFactory_INTERFACE_DEFINED__ 1929 #define __IDXGIFactory_INTERFACE_DEFINED__ 1935 EXTERN_C
const IID IID_IDXGIFactory;
1937 #if defined(__cplusplus) && !defined(CINTERFACE) 1939 MIDL_INTERFACE(
"7b7166ec-21c7-44ae-b21a-c9ae321ae369")
1940 IDXGIFactory :
public IDXGIObject
1943 virtual HRESULT STDMETHODCALLTYPE EnumAdapters(
1946 __out IDXGIAdapter **ppAdapter) = 0;
1948 virtual HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
1952 virtual HRESULT STDMETHODCALLTYPE GetWindowAssociation(
1954 __out HWND *pWindowHandle) = 0;
1956 virtual HRESULT STDMETHODCALLTYPE CreateSwapChain(
1958 __in IUnknown *pDevice,
1962 __out IDXGISwapChain **ppSwapChain) = 0;
1964 virtual HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
1967 __out IDXGIAdapter **ppAdapter) = 0;
1977 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1978 IDXGIFactory * This,
1981 __RPC__deref_out
void **ppvObject);
1983 ULONG ( STDMETHODCALLTYPE *AddRef )(
1984 IDXGIFactory * This);
1986 ULONG ( STDMETHODCALLTYPE *Release )(
1987 IDXGIFactory * This);
1989 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1990 IDXGIFactory * This,
1995 __in_bcount(DataSize)
const void *pData);
1997 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1998 IDXGIFactory * This,
2002 __in
const IUnknown *pUnknown);
2004 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2005 IDXGIFactory * This,
2009 __inout UINT *pDataSize,
2011 __out_bcount(*pDataSize)
void *pData);
2013 HRESULT ( STDMETHODCALLTYPE *GetParent )(
2014 IDXGIFactory * This,
2018 __out
void **ppParent);
2020 HRESULT ( STDMETHODCALLTYPE *EnumAdapters )(
2021 IDXGIFactory * This,
2024 __out IDXGIAdapter **ppAdapter);
2026 HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )(
2027 IDXGIFactory * This,
2031 HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )(
2032 IDXGIFactory * This,
2034 __out HWND *pWindowHandle);
2036 HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )(
2037 IDXGIFactory * This,
2039 __in IUnknown *pDevice,
2043 __out IDXGISwapChain **ppSwapChain);
2045 HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )(
2046 IDXGIFactory * This,
2049 __out IDXGIAdapter **ppAdapter);
2054 interface IDXGIFactory
2056 CONST_VTBL
struct IDXGIFactoryVtbl *lpVtbl;
2064 #define IDXGIFactory_QueryInterface(This,riid,ppvObject) \ 2065 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2067 #define IDXGIFactory_AddRef(This) \ 2068 ( (This)->lpVtbl -> AddRef(This) ) 2070 #define IDXGIFactory_Release(This) \ 2071 ( (This)->lpVtbl -> Release(This) ) 2074 #define IDXGIFactory_SetPrivateData(This,Name,DataSize,pData) \ 2075 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 2077 #define IDXGIFactory_SetPrivateDataInterface(This,Name,pUnknown) \ 2078 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 2080 #define IDXGIFactory_GetPrivateData(This,Name,pDataSize,pData) \ 2081 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 2083 #define IDXGIFactory_GetParent(This,riid,ppParent) \ 2084 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 2087 #define IDXGIFactory_EnumAdapters(This,Adapter,ppAdapter) \ 2088 ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) 2090 #define IDXGIFactory_MakeWindowAssociation(This,WindowHandle,Flags) \ 2091 ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) 2093 #define IDXGIFactory_GetWindowAssociation(This,pWindowHandle) \ 2094 ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) 2096 #define IDXGIFactory_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \ 2097 ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) 2099 #define IDXGIFactory_CreateSoftwareAdapter(This,Module,ppAdapter) \ 2100 ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) 2116 HRESULT WINAPI CreateDXGIFactory(REFIID riid,
void **ppFactory);
2117 HRESULT WINAPI CreateDXGIFactory1(REFIID riid,
void **ppFactory);
2120 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_c_ifspec;
2121 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_s_ifspec;
2123 #ifndef __IDXGIDevice_INTERFACE_DEFINED__ 2124 #define __IDXGIDevice_INTERFACE_DEFINED__ 2130 EXTERN_C
const IID IID_IDXGIDevice;
2132 #if defined(__cplusplus) && !defined(CINTERFACE) 2134 MIDL_INTERFACE(
"54ec77fa-1377-44e6-8c32-88fd5f44c84c")
2135 IDXGIDevice :
public IDXGIObject
2138 virtual HRESULT STDMETHODCALLTYPE GetAdapter(
2140 __out IDXGIAdapter **pAdapter) = 0;
2142 virtual HRESULT STDMETHODCALLTYPE CreateSurface(
2150 __out IDXGISurface **ppSurface) = 0;
2152 virtual HRESULT STDMETHODCALLTYPE QueryResourceResidency(
2154 __in_ecount(NumResources) IUnknown *
const *ppResources,
2156 __out_ecount(NumResources) DXGI_RESIDENCY *pResidencyStatus,
2157 UINT NumResources) = 0;
2159 virtual HRESULT STDMETHODCALLTYPE SetGPUThreadPriority(
2162 virtual HRESULT STDMETHODCALLTYPE GetGPUThreadPriority(
2164 __out INT *pPriority) = 0;
2174 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2178 __RPC__deref_out
void **ppvObject);
2180 ULONG ( STDMETHODCALLTYPE *AddRef )(
2181 IDXGIDevice * This);
2183 ULONG ( STDMETHODCALLTYPE *Release )(
2184 IDXGIDevice * This);
2186 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2192 __in_bcount(DataSize)
const void *pData);
2194 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2199 __in
const IUnknown *pUnknown);
2201 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2206 __inout UINT *pDataSize,
2208 __out_bcount(*pDataSize)
void *pData);
2210 HRESULT ( STDMETHODCALLTYPE *GetParent )(
2215 __out
void **ppParent);
2217 HRESULT ( STDMETHODCALLTYPE *GetAdapter )(
2220 __out IDXGIAdapter **pAdapter);
2222 HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
2231 __out IDXGISurface **ppSurface);
2233 HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )(
2236 __in_ecount(NumResources) IUnknown *
const *ppResources,
2238 __out_ecount(NumResources) DXGI_RESIDENCY *pResidencyStatus,
2241 HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )(
2245 HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )(
2248 __out INT *pPriority);
2253 interface IDXGIDevice
2255 CONST_VTBL
struct IDXGIDeviceVtbl *lpVtbl;
2263 #define IDXGIDevice_QueryInterface(This,riid,ppvObject) \ 2264 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2266 #define IDXGIDevice_AddRef(This) \ 2267 ( (This)->lpVtbl -> AddRef(This) ) 2269 #define IDXGIDevice_Release(This) \ 2270 ( (This)->lpVtbl -> Release(This) ) 2273 #define IDXGIDevice_SetPrivateData(This,Name,DataSize,pData) \ 2274 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 2276 #define IDXGIDevice_SetPrivateDataInterface(This,Name,pUnknown) \ 2277 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 2279 #define IDXGIDevice_GetPrivateData(This,Name,pDataSize,pData) \ 2280 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 2282 #define IDXGIDevice_GetParent(This,riid,ppParent) \ 2283 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 2286 #define IDXGIDevice_GetAdapter(This,pAdapter) \ 2287 ( (This)->lpVtbl -> GetAdapter(This,pAdapter) ) 2289 #define IDXGIDevice_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \ 2290 ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) ) 2292 #define IDXGIDevice_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \ 2293 ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) ) 2295 #define IDXGIDevice_SetGPUThreadPriority(This,Priority) \ 2296 ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) ) 2298 #define IDXGIDevice_GetGPUThreadPriority(This,pPriority) \ 2299 ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) ) 2316 enum DXGI_ADAPTER_FLAG
2317 { DXGI_ADAPTER_FLAG_NONE = 0,
2318 DXGI_ADAPTER_FLAG_REMOTE = 1,
2319 DXGI_ADAPTER_FLAG_FORCE_DWORD = 0xffffffff
2320 } DXGI_ADAPTER_FLAG;
2324 WCHAR Description[ 128 ];
2329 SIZE_T DedicatedVideoMemory;
2330 SIZE_T DedicatedSystemMemory;
2331 SIZE_T SharedSystemMemory;
2338 FLOAT PrimaryCoordinates[ 8 ][ 2 ];
2339 FLOAT WhitePoints[ 16 ][ 2 ];
2345 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_c_ifspec;
2346 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_s_ifspec;
2348 #ifndef __IDXGIFactory1_INTERFACE_DEFINED__ 2349 #define __IDXGIFactory1_INTERFACE_DEFINED__ 2355 EXTERN_C
const IID IID_IDXGIFactory1;
2357 #if defined(__cplusplus) && !defined(CINTERFACE) 2359 MIDL_INTERFACE(
"770aae78-f26f-4dba-a829-253c83d1b387")
2360 IDXGIFactory1 :
public IDXGIFactory
2363 virtual HRESULT STDMETHODCALLTYPE EnumAdapters1(
2366 __out IDXGIAdapter1 **ppAdapter) = 0;
2368 virtual BOOL STDMETHODCALLTYPE IsCurrent(
void) = 0;
2378 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2379 IDXGIFactory1 * This,
2382 __RPC__deref_out
void **ppvObject);
2384 ULONG ( STDMETHODCALLTYPE *AddRef )(
2385 IDXGIFactory1 * This);
2387 ULONG ( STDMETHODCALLTYPE *Release )(
2388 IDXGIFactory1 * This);
2390 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2391 IDXGIFactory1 * This,
2396 __in_bcount(DataSize)
const void *pData);
2398 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2399 IDXGIFactory1 * This,
2403 __in
const IUnknown *pUnknown);
2405 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2406 IDXGIFactory1 * This,
2410 __inout UINT *pDataSize,
2412 __out_bcount(*pDataSize)
void *pData);
2414 HRESULT ( STDMETHODCALLTYPE *GetParent )(
2415 IDXGIFactory1 * This,
2419 __out
void **ppParent);
2421 HRESULT ( STDMETHODCALLTYPE *EnumAdapters )(
2422 IDXGIFactory1 * This,
2425 __out IDXGIAdapter **ppAdapter);
2427 HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )(
2428 IDXGIFactory1 * This,
2432 HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )(
2433 IDXGIFactory1 * This,
2435 __out HWND *pWindowHandle);
2437 HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )(
2438 IDXGIFactory1 * This,
2440 __in IUnknown *pDevice,
2444 __out IDXGISwapChain **ppSwapChain);
2446 HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )(
2447 IDXGIFactory1 * This,
2450 __out IDXGIAdapter **ppAdapter);
2452 HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )(
2453 IDXGIFactory1 * This,
2456 __out IDXGIAdapter1 **ppAdapter);
2458 BOOL ( STDMETHODCALLTYPE *IsCurrent )(
2459 IDXGIFactory1 * This);
2464 interface IDXGIFactory1
2466 CONST_VTBL
struct IDXGIFactory1Vtbl *lpVtbl;
2474 #define IDXGIFactory1_QueryInterface(This,riid,ppvObject) \ 2475 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2477 #define IDXGIFactory1_AddRef(This) \ 2478 ( (This)->lpVtbl -> AddRef(This) ) 2480 #define IDXGIFactory1_Release(This) \ 2481 ( (This)->lpVtbl -> Release(This) ) 2484 #define IDXGIFactory1_SetPrivateData(This,Name,DataSize,pData) \ 2485 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 2487 #define IDXGIFactory1_SetPrivateDataInterface(This,Name,pUnknown) \ 2488 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 2490 #define IDXGIFactory1_GetPrivateData(This,Name,pDataSize,pData) \ 2491 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 2493 #define IDXGIFactory1_GetParent(This,riid,ppParent) \ 2494 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 2497 #define IDXGIFactory1_EnumAdapters(This,Adapter,ppAdapter) \ 2498 ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) 2500 #define IDXGIFactory1_MakeWindowAssociation(This,WindowHandle,Flags) \ 2501 ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) 2503 #define IDXGIFactory1_GetWindowAssociation(This,pWindowHandle) \ 2504 ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) 2506 #define IDXGIFactory1_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \ 2507 ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) 2509 #define IDXGIFactory1_CreateSoftwareAdapter(This,Module,ppAdapter) \ 2510 ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) 2513 #define IDXGIFactory1_EnumAdapters1(This,Adapter,ppAdapter) \ 2514 ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) ) 2516 #define IDXGIFactory1_IsCurrent(This) \ 2517 ( (This)->lpVtbl -> IsCurrent(This) ) 2530 #ifndef __IDXGIAdapter1_INTERFACE_DEFINED__ 2531 #define __IDXGIAdapter1_INTERFACE_DEFINED__ 2537 EXTERN_C
const IID IID_IDXGIAdapter1;
2539 #if defined(__cplusplus) && !defined(CINTERFACE) 2541 MIDL_INTERFACE(
"29038f61-3839-4626-91fd-086879011a05")
2542 IDXGIAdapter1 :
public IDXGIAdapter
2545 virtual HRESULT STDMETHODCALLTYPE GetDesc1(
2557 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2558 IDXGIAdapter1 * This,
2561 __RPC__deref_out
void **ppvObject);
2563 ULONG ( STDMETHODCALLTYPE *AddRef )(
2564 IDXGIAdapter1 * This);
2566 ULONG ( STDMETHODCALLTYPE *Release )(
2567 IDXGIAdapter1 * This);
2569 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2570 IDXGIAdapter1 * This,
2575 __in_bcount(DataSize)
const void *pData);
2577 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2578 IDXGIAdapter1 * This,
2582 __in
const IUnknown *pUnknown);
2584 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2585 IDXGIAdapter1 * This,
2589 __inout UINT *pDataSize,
2591 __out_bcount(*pDataSize)
void *pData);
2593 HRESULT ( STDMETHODCALLTYPE *GetParent )(
2594 IDXGIAdapter1 * This,
2598 __out
void **ppParent);
2600 HRESULT ( STDMETHODCALLTYPE *EnumOutputs )(
2601 IDXGIAdapter1 * This,
2604 __out IDXGIOutput **ppOutput);
2606 HRESULT ( STDMETHODCALLTYPE *GetDesc )(
2607 IDXGIAdapter1 * This,
2611 HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )(
2612 IDXGIAdapter1 * This,
2614 __in REFGUID InterfaceName,
2616 __out LARGE_INTEGER *pUMDVersion);
2618 HRESULT ( STDMETHODCALLTYPE *GetDesc1 )(
2619 IDXGIAdapter1 * This,
2626 interface IDXGIAdapter1
2628 CONST_VTBL
struct IDXGIAdapter1Vtbl *lpVtbl;
2636 #define IDXGIAdapter1_QueryInterface(This,riid,ppvObject) \ 2637 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2639 #define IDXGIAdapter1_AddRef(This) \ 2640 ( (This)->lpVtbl -> AddRef(This) ) 2642 #define IDXGIAdapter1_Release(This) \ 2643 ( (This)->lpVtbl -> Release(This) ) 2646 #define IDXGIAdapter1_SetPrivateData(This,Name,DataSize,pData) \ 2647 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 2649 #define IDXGIAdapter1_SetPrivateDataInterface(This,Name,pUnknown) \ 2650 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 2652 #define IDXGIAdapter1_GetPrivateData(This,Name,pDataSize,pData) \ 2653 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 2655 #define IDXGIAdapter1_GetParent(This,riid,ppParent) \ 2656 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 2659 #define IDXGIAdapter1_EnumOutputs(This,Output,ppOutput) \ 2660 ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) ) 2662 #define IDXGIAdapter1_GetDesc(This,pDesc) \ 2663 ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 2665 #define IDXGIAdapter1_CheckInterfaceSupport(This,InterfaceName,pUMDVersion) \ 2666 ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) ) 2669 #define IDXGIAdapter1_GetDesc1(This,pDesc) \ 2670 ( (This)->lpVtbl -> GetDesc1(This,pDesc) ) 2683 #ifndef __IDXGIDevice1_INTERFACE_DEFINED__ 2684 #define __IDXGIDevice1_INTERFACE_DEFINED__ 2690 EXTERN_C
const IID IID_IDXGIDevice1;
2692 #if defined(__cplusplus) && !defined(CINTERFACE) 2694 MIDL_INTERFACE(
"77db970f-6276-48ba-ba28-070143b4392c")
2695 IDXGIDevice1 :
public IDXGIDevice
2698 virtual HRESULT STDMETHODCALLTYPE SetMaximumFrameLatency(
2699 UINT MaxLatency) = 0;
2701 virtual HRESULT STDMETHODCALLTYPE GetMaximumFrameLatency(
2703 __out UINT *pMaxLatency) = 0;
2713 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2714 IDXGIDevice1 * This,
2717 __RPC__deref_out
void **ppvObject);
2719 ULONG ( STDMETHODCALLTYPE *AddRef )(
2720 IDXGIDevice1 * This);
2722 ULONG ( STDMETHODCALLTYPE *Release )(
2723 IDXGIDevice1 * This);
2725 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2726 IDXGIDevice1 * This,
2731 __in_bcount(DataSize)
const void *pData);
2733 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2734 IDXGIDevice1 * This,
2738 __in
const IUnknown *pUnknown);
2740 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2741 IDXGIDevice1 * This,
2745 __inout UINT *pDataSize,
2747 __out_bcount(*pDataSize)
void *pData);
2749 HRESULT ( STDMETHODCALLTYPE *GetParent )(
2750 IDXGIDevice1 * This,
2754 __out
void **ppParent);
2756 HRESULT ( STDMETHODCALLTYPE *GetAdapter )(
2757 IDXGIDevice1 * This,
2759 __out IDXGIAdapter **pAdapter);
2761 HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
2762 IDXGIDevice1 * This,
2770 __out IDXGISurface **ppSurface);
2772 HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )(
2773 IDXGIDevice1 * This,
2775 __in_ecount(NumResources) IUnknown *
const *ppResources,
2777 __out_ecount(NumResources) DXGI_RESIDENCY *pResidencyStatus,
2780 HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )(
2781 IDXGIDevice1 * This,
2784 HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )(
2785 IDXGIDevice1 * This,
2787 __out INT *pPriority);
2789 HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )(
2790 IDXGIDevice1 * This,
2793 HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )(
2794 IDXGIDevice1 * This,
2796 __out UINT *pMaxLatency);
2801 interface IDXGIDevice1
2803 CONST_VTBL
struct IDXGIDevice1Vtbl *lpVtbl;
2811 #define IDXGIDevice1_QueryInterface(This,riid,ppvObject) \ 2812 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2814 #define IDXGIDevice1_AddRef(This) \ 2815 ( (This)->lpVtbl -> AddRef(This) ) 2817 #define IDXGIDevice1_Release(This) \ 2818 ( (This)->lpVtbl -> Release(This) ) 2821 #define IDXGIDevice1_SetPrivateData(This,Name,DataSize,pData) \ 2822 ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) 2824 #define IDXGIDevice1_SetPrivateDataInterface(This,Name,pUnknown) \ 2825 ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) 2827 #define IDXGIDevice1_GetPrivateData(This,Name,pDataSize,pData) \ 2828 ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) 2830 #define IDXGIDevice1_GetParent(This,riid,ppParent) \ 2831 ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) 2834 #define IDXGIDevice1_GetAdapter(This,pAdapter) \ 2835 ( (This)->lpVtbl -> GetAdapter(This,pAdapter) ) 2837 #define IDXGIDevice1_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \ 2838 ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) ) 2840 #define IDXGIDevice1_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \ 2841 ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) ) 2843 #define IDXGIDevice1_SetGPUThreadPriority(This,Priority) \ 2844 ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) ) 2846 #define IDXGIDevice1_GetGPUThreadPriority(This,pPriority) \ 2847 ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) ) 2850 #define IDXGIDevice1_SetMaximumFrameLatency(This,MaxLatency) \ 2851 ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) ) 2853 #define IDXGIDevice1_GetMaximumFrameLatency(This,pMaxLatency) \ 2854 ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) ) 2872 DEFINE_GUID(IID_IDXGIObject,0xaec22fb8,0x76f3,0x4639,0x9b,0xe0,0x28,0xeb,0x43,0xa6,0x7a,0x2e);
2873 DEFINE_GUID(IID_IDXGIDeviceSubObject,0x3d3e0379,0xf9de,0x4d58,0xbb,0x6c,0x18,0xd6,0x29,0x92,0xf1,0xa6);
2874 DEFINE_GUID(IID_IDXGIResource,0x035f3ab4,0x482e,0x4e50,0xb4,0x1f,0x8a,0x7f,0x8b,0xd8,0x96,0x0b);
2875 DEFINE_GUID(IID_IDXGIKeyedMutex,0x9d8e1289,0xd7b3,0x465f,0x81,0x26,0x25,0x0e,0x34,0x9a,0xf8,0x5d);
2876 DEFINE_GUID(IID_IDXGISurface,0xcafcb56c,0x6ac3,0x4889,0xbf,0x47,0x9e,0x23,0xbb,0xd2,0x60,0xec);
2877 DEFINE_GUID(IID_IDXGISurface1,0x4AE63092,0x6327,0x4c1b,0x80,0xAE,0xBF,0xE1,0x2E,0xA3,0x2B,0x86);
2878 DEFINE_GUID(IID_IDXGIAdapter,0x2411e7e1,0x12ac,0x4ccf,0xbd,0x14,0x97,0x98,0xe8,0x53,0x4d,0xc0);
2879 DEFINE_GUID(IID_IDXGIOutput,0xae02eedb,0xc735,0x4690,0x8d,0x52,0x5a,0x8d,0xc2,0x02,0x13,0xaa);
2880 DEFINE_GUID(IID_IDXGISwapChain,0x310d36a0,0xd2e7,0x4c0a,0xaa,0x04,0x6a,0x9d,0x23,0xb8,0x88,0x6a);
2881 DEFINE_GUID(IID_IDXGIFactory,0x7b7166ec,0x21c7,0x44ae,0xb2,0x1a,0xc9,0xae,0x32,0x1a,0xe3,0x69);
2882 DEFINE_GUID(IID_IDXGIDevice,0x54ec77fa,0x1377,0x44e6,0x8c,0x32,0x88,0xfd,0x5f,0x44,0xc8,0x4c);
2883 DEFINE_GUID(IID_IDXGIFactory1,0x770aae78,0xf26f,0x4dba,0xa8,0x29,0x25,0x3c,0x83,0xd1,0xb3,0x87);
2884 DEFINE_GUID(IID_IDXGIAdapter1,0x29038f61,0x3839,0x4626,0x91,0xfd,0x08,0x68,0x79,0x01,0x1a,0x05);
2885 DEFINE_GUID(IID_IDXGIDevice1,0x77db970f,0x6276,0x48ba,0xba,0x28,0x07,0x01,0x43,0xb4,0x39,0x2c);
2888 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_c_ifspec;
2889 extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_s_ifspec;
Definition: DXGIType.h:106
Definition: DXGIType.h:67
Definition: DXGIType.h:116
Definition: DXGIType.h:60