/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 7.00.0550 */ /* Compiler settings for dxgi.idl: Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0550 protocol : all , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ /* @@MIDL_FILE_HEADING( ) */ #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCSAL_H_VERSION__ #define __REQUIRED_RPCSAL_H_VERSION__ 100 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __dxgi_h__ #define __dxgi_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IDXGIObject_FWD_DEFINED__ #define __IDXGIObject_FWD_DEFINED__ typedef interface IDXGIObject IDXGIObject; #endif /* __IDXGIObject_FWD_DEFINED__ */ #ifndef __IDXGIDeviceSubObject_FWD_DEFINED__ #define __IDXGIDeviceSubObject_FWD_DEFINED__ typedef interface IDXGIDeviceSubObject IDXGIDeviceSubObject; #endif /* __IDXGIDeviceSubObject_FWD_DEFINED__ */ #ifndef __IDXGIResource_FWD_DEFINED__ #define __IDXGIResource_FWD_DEFINED__ typedef interface IDXGIResource IDXGIResource; #endif /* __IDXGIResource_FWD_DEFINED__ */ #ifndef __IDXGIKeyedMutex_FWD_DEFINED__ #define __IDXGIKeyedMutex_FWD_DEFINED__ typedef interface IDXGIKeyedMutex IDXGIKeyedMutex; #endif /* __IDXGIKeyedMutex_FWD_DEFINED__ */ #ifndef __IDXGISurface_FWD_DEFINED__ #define __IDXGISurface_FWD_DEFINED__ typedef interface IDXGISurface IDXGISurface; #endif /* __IDXGISurface_FWD_DEFINED__ */ #ifndef __IDXGISurface1_FWD_DEFINED__ #define __IDXGISurface1_FWD_DEFINED__ typedef interface IDXGISurface1 IDXGISurface1; #endif /* __IDXGISurface1_FWD_DEFINED__ */ #ifndef __IDXGIAdapter_FWD_DEFINED__ #define __IDXGIAdapter_FWD_DEFINED__ typedef interface IDXGIAdapter IDXGIAdapter; #endif /* __IDXGIAdapter_FWD_DEFINED__ */ #ifndef __IDXGIOutput_FWD_DEFINED__ #define __IDXGIOutput_FWD_DEFINED__ typedef interface IDXGIOutput IDXGIOutput; #endif /* __IDXGIOutput_FWD_DEFINED__ */ #ifndef __IDXGISwapChain_FWD_DEFINED__ #define __IDXGISwapChain_FWD_DEFINED__ typedef interface IDXGISwapChain IDXGISwapChain; #endif /* __IDXGISwapChain_FWD_DEFINED__ */ #ifndef __IDXGIFactory_FWD_DEFINED__ #define __IDXGIFactory_FWD_DEFINED__ typedef interface IDXGIFactory IDXGIFactory; #endif /* __IDXGIFactory_FWD_DEFINED__ */ #ifndef __IDXGIDevice_FWD_DEFINED__ #define __IDXGIDevice_FWD_DEFINED__ typedef interface IDXGIDevice IDXGIDevice; #endif /* __IDXGIDevice_FWD_DEFINED__ */ #ifndef __IDXGIFactory1_FWD_DEFINED__ #define __IDXGIFactory1_FWD_DEFINED__ typedef interface IDXGIFactory1 IDXGIFactory1; #endif /* __IDXGIFactory1_FWD_DEFINED__ */ #ifndef __IDXGIAdapter1_FWD_DEFINED__ #define __IDXGIAdapter1_FWD_DEFINED__ typedef interface IDXGIAdapter1 IDXGIAdapter1; #endif /* __IDXGIAdapter1_FWD_DEFINED__ */ #ifndef __IDXGIDevice1_FWD_DEFINED__ #define __IDXGIDevice1_FWD_DEFINED__ typedef interface IDXGIDevice1 IDXGIDevice1; #endif /* __IDXGIDevice1_FWD_DEFINED__ */ /* header files for imported files */ #include "oaidl.h" #include "ocidl.h" #include "dxgitype.h" #ifdef __cplusplus extern "C"{ #endif /* interface __MIDL_itf_dxgi_0000_0000 */ /* [local] */ #define DXGI_CPU_ACCESS_NONE ( 0 ) #define DXGI_CPU_ACCESS_DYNAMIC ( 1 ) #define DXGI_CPU_ACCESS_READ_WRITE ( 2 ) #define DXGI_CPU_ACCESS_SCRATCH ( 3 ) #define DXGI_CPU_ACCESS_FIELD 15 #define DXGI_USAGE_SHADER_INPUT ( 1L << (0 + 4) ) #define DXGI_USAGE_RENDER_TARGET_OUTPUT ( 1L << (1 + 4) ) #define DXGI_USAGE_BACK_BUFFER ( 1L << (2 + 4) ) #define DXGI_USAGE_SHARED ( 1L << (3 + 4) ) #define DXGI_USAGE_READ_ONLY ( 1L << (4 + 4) ) #define DXGI_USAGE_DISCARD_ON_PRESENT ( 1L << (5 + 4) ) #define DXGI_USAGE_UNORDERED_ACCESS ( 1L << (6 + 4) ) typedef UINT DXGI_USAGE; typedef struct DXGI_FRAME_STATISTICS { UINT PresentCount; UINT PresentRefreshCount; UINT SyncRefreshCount; LARGE_INTEGER SyncQPCTime; LARGE_INTEGER SyncGPUTime; } DXGI_FRAME_STATISTICS; typedef struct DXGI_MAPPED_RECT { INT Pitch; BYTE *pBits; } DXGI_MAPPED_RECT; #ifdef __midl typedef struct _LUID { DWORD LowPart; LONG HighPart; } LUID; typedef struct _LUID *PLUID; #endif typedef struct DXGI_ADAPTER_DESC { WCHAR Description[ 128 ]; UINT VendorId; UINT DeviceId; UINT SubSysId; UINT Revision; SIZE_T DedicatedVideoMemory; SIZE_T DedicatedSystemMemory; SIZE_T SharedSystemMemory; LUID AdapterLuid; } DXGI_ADAPTER_DESC; #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500) #define HMONITOR_DECLARED #if 0 typedef HANDLE HMONITOR; #endif DECLARE_HANDLE(HMONITOR); #endif typedef struct DXGI_OUTPUT_DESC { WCHAR DeviceName[ 32 ]; RECT DesktopCoordinates; BOOL AttachedToDesktop; DXGI_MODE_ROTATION Rotation; HMONITOR Monitor; } DXGI_OUTPUT_DESC; typedef struct DXGI_SHARED_RESOURCE { HANDLE Handle; } DXGI_SHARED_RESOURCE; #define DXGI_RESOURCE_PRIORITY_MINIMUM ( 0x28000000 ) #define DXGI_RESOURCE_PRIORITY_LOW ( 0x50000000 ) #define DXGI_RESOURCE_PRIORITY_NORMAL ( 0x78000000 ) #define DXGI_RESOURCE_PRIORITY_HIGH ( 0xa0000000 ) #define DXGI_RESOURCE_PRIORITY_MAXIMUM ( 0xc8000000 ) typedef enum DXGI_RESIDENCY { DXGI_RESIDENCY_FULLY_RESIDENT = 1, DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2, DXGI_RESIDENCY_EVICTED_TO_DISK = 3 } DXGI_RESIDENCY; typedef struct DXGI_SURFACE_DESC { UINT Width; UINT Height; DXGI_FORMAT Format; DXGI_SAMPLE_DESC SampleDesc; } DXGI_SURFACE_DESC; typedef enum DXGI_SWAP_EFFECT { DXGI_SWAP_EFFECT_DISCARD = 0, DXGI_SWAP_EFFECT_SEQUENTIAL = 1 } DXGI_SWAP_EFFECT; typedef enum DXGI_SWAP_CHAIN_FLAG { DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1, DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2, DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4 } DXGI_SWAP_CHAIN_FLAG; typedef struct DXGI_SWAP_CHAIN_DESC { DXGI_MODE_DESC BufferDesc; DXGI_SAMPLE_DESC SampleDesc; DXGI_USAGE BufferUsage; UINT BufferCount; HWND OutputWindow; BOOL Windowed; DXGI_SWAP_EFFECT SwapEffect; UINT Flags; } DXGI_SWAP_CHAIN_DESC; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_s_ifspec; #ifndef __IDXGIObject_INTERFACE_DEFINED__ #define __IDXGIObject_INTERFACE_DEFINED__ /* interface IDXGIObject */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIObject; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("aec22fb8-76f3-4639-9be0-28eb43a67a2e") IDXGIObject : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetPrivateData( /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData) = 0; virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface( /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown) = 0; virtual HRESULT STDMETHODCALLTYPE GetPrivateData( /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData) = 0; virtual HRESULT STDMETHODCALLTYPE GetParent( /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent) = 0; }; #else /* C style interface */ typedef struct IDXGIObjectVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIObject * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIObject * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIObject * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIObject * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIObject * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIObject * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIObject * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); END_INTERFACE } IDXGIObjectVtbl; interface IDXGIObject { CONST_VTBL struct IDXGIObjectVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIObject_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIObject_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIObject_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIObject_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIObject_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIObject_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIObject_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIObject_INTERFACE_DEFINED__ */ #ifndef __IDXGIDeviceSubObject_INTERFACE_DEFINED__ #define __IDXGIDeviceSubObject_INTERFACE_DEFINED__ /* interface IDXGIDeviceSubObject */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIDeviceSubObject; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3d3e0379-f9de-4d58-bb6c-18d62992f1a6") IDXGIDeviceSubObject : public IDXGIObject { public: virtual HRESULT STDMETHODCALLTYPE GetDevice( /* [in] */ REFIID riid, /* [retval][out] */ void **ppDevice) = 0; }; #else /* C style interface */ typedef struct IDXGIDeviceSubObjectVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIDeviceSubObject * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIDeviceSubObject * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIDeviceSubObject * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIDeviceSubObject * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIDeviceSubObject * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIDeviceSubObject * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIDeviceSubObject * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetDevice )( IDXGIDeviceSubObject * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppDevice); END_INTERFACE } IDXGIDeviceSubObjectVtbl; interface IDXGIDeviceSubObject { CONST_VTBL struct IDXGIDeviceSubObjectVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIDeviceSubObject_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIDeviceSubObject_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIDeviceSubObject_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIDeviceSubObject_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIDeviceSubObject_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIDeviceSubObject_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIDeviceSubObject_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIDeviceSubObject_GetDevice(This,riid,ppDevice) \ ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIDeviceSubObject_INTERFACE_DEFINED__ */ #ifndef __IDXGIResource_INTERFACE_DEFINED__ #define __IDXGIResource_INTERFACE_DEFINED__ /* interface IDXGIResource */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIResource; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("035f3ab4-482e-4e50-b41f-8a7f8bd8960b") IDXGIResource : public IDXGIDeviceSubObject { public: virtual HRESULT STDMETHODCALLTYPE GetSharedHandle( /* [out] */ HANDLE *pSharedHandle) = 0; virtual HRESULT STDMETHODCALLTYPE GetUsage( /* [out] */ DXGI_USAGE *pUsage) = 0; virtual HRESULT STDMETHODCALLTYPE SetEvictionPriority( /* [in] */ UINT EvictionPriority) = 0; virtual HRESULT STDMETHODCALLTYPE GetEvictionPriority( /* [retval][out] */ UINT *pEvictionPriority) = 0; }; #else /* C style interface */ typedef struct IDXGIResourceVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIResource * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIResource * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIResource * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIResource * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIResource * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIResource * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIResource * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetDevice )( IDXGIResource * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppDevice); HRESULT ( STDMETHODCALLTYPE *GetSharedHandle )( IDXGIResource * This, /* [out] */ HANDLE *pSharedHandle); HRESULT ( STDMETHODCALLTYPE *GetUsage )( IDXGIResource * This, /* [out] */ DXGI_USAGE *pUsage); HRESULT ( STDMETHODCALLTYPE *SetEvictionPriority )( IDXGIResource * This, /* [in] */ UINT EvictionPriority); HRESULT ( STDMETHODCALLTYPE *GetEvictionPriority )( IDXGIResource * This, /* [retval][out] */ UINT *pEvictionPriority); END_INTERFACE } IDXGIResourceVtbl; interface IDXGIResource { CONST_VTBL struct IDXGIResourceVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIResource_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIResource_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIResource_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIResource_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIResource_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIResource_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIResource_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIResource_GetDevice(This,riid,ppDevice) \ ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) #define IDXGIResource_GetSharedHandle(This,pSharedHandle) \ ( (This)->lpVtbl -> GetSharedHandle(This,pSharedHandle) ) #define IDXGIResource_GetUsage(This,pUsage) \ ( (This)->lpVtbl -> GetUsage(This,pUsage) ) #define IDXGIResource_SetEvictionPriority(This,EvictionPriority) \ ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) #define IDXGIResource_GetEvictionPriority(This,pEvictionPriority) \ ( (This)->lpVtbl -> GetEvictionPriority(This,pEvictionPriority) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIResource_INTERFACE_DEFINED__ */ #ifndef __IDXGIKeyedMutex_INTERFACE_DEFINED__ #define __IDXGIKeyedMutex_INTERFACE_DEFINED__ /* interface IDXGIKeyedMutex */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIKeyedMutex; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("9d8e1289-d7b3-465f-8126-250e349af85d") IDXGIKeyedMutex : public IDXGIDeviceSubObject { public: virtual HRESULT STDMETHODCALLTYPE AcquireSync( /* [in] */ UINT64 Key, /* [in] */ DWORD dwMilliseconds) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseSync( /* [in] */ UINT64 Key) = 0; }; #else /* C style interface */ typedef struct IDXGIKeyedMutexVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIKeyedMutex * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIKeyedMutex * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIKeyedMutex * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIKeyedMutex * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIKeyedMutex * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIKeyedMutex * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIKeyedMutex * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetDevice )( IDXGIKeyedMutex * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppDevice); HRESULT ( STDMETHODCALLTYPE *AcquireSync )( IDXGIKeyedMutex * This, /* [in] */ UINT64 Key, /* [in] */ DWORD dwMilliseconds); HRESULT ( STDMETHODCALLTYPE *ReleaseSync )( IDXGIKeyedMutex * This, /* [in] */ UINT64 Key); END_INTERFACE } IDXGIKeyedMutexVtbl; interface IDXGIKeyedMutex { CONST_VTBL struct IDXGIKeyedMutexVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIKeyedMutex_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIKeyedMutex_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIKeyedMutex_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIKeyedMutex_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIKeyedMutex_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIKeyedMutex_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIKeyedMutex_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIKeyedMutex_GetDevice(This,riid,ppDevice) \ ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) #define IDXGIKeyedMutex_AcquireSync(This,Key,dwMilliseconds) \ ( (This)->lpVtbl -> AcquireSync(This,Key,dwMilliseconds) ) #define IDXGIKeyedMutex_ReleaseSync(This,Key) \ ( (This)->lpVtbl -> ReleaseSync(This,Key) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIKeyedMutex_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dxgi_0000_0004 */ /* [local] */ #define DXGI_MAP_READ ( 1UL ) #define DXGI_MAP_WRITE ( 2UL ) #define DXGI_MAP_DISCARD ( 4UL ) extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_s_ifspec; #ifndef __IDXGISurface_INTERFACE_DEFINED__ #define __IDXGISurface_INTERFACE_DEFINED__ /* interface IDXGISurface */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGISurface; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("cafcb56c-6ac3-4889-bf47-9e23bbd260ec") IDXGISurface : public IDXGIDeviceSubObject { public: virtual HRESULT STDMETHODCALLTYPE GetDesc( /* [out] */ DXGI_SURFACE_DESC *pDesc) = 0; virtual HRESULT STDMETHODCALLTYPE Map( /* [out] */ DXGI_MAPPED_RECT *pLockedRect, /* [in] */ UINT MapFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Unmap( void) = 0; }; #else /* C style interface */ typedef struct IDXGISurfaceVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGISurface * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGISurface * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGISurface * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGISurface * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGISurface * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGISurface * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGISurface * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetDevice )( IDXGISurface * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppDevice); HRESULT ( STDMETHODCALLTYPE *GetDesc )( IDXGISurface * This, /* [out] */ DXGI_SURFACE_DESC *pDesc); HRESULT ( STDMETHODCALLTYPE *Map )( IDXGISurface * This, /* [out] */ DXGI_MAPPED_RECT *pLockedRect, /* [in] */ UINT MapFlags); HRESULT ( STDMETHODCALLTYPE *Unmap )( IDXGISurface * This); END_INTERFACE } IDXGISurfaceVtbl; interface IDXGISurface { CONST_VTBL struct IDXGISurfaceVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGISurface_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGISurface_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGISurface_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGISurface_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGISurface_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGISurface_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGISurface_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGISurface_GetDevice(This,riid,ppDevice) \ ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) #define IDXGISurface_GetDesc(This,pDesc) \ ( (This)->lpVtbl -> GetDesc(This,pDesc) ) #define IDXGISurface_Map(This,pLockedRect,MapFlags) \ ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) ) #define IDXGISurface_Unmap(This) \ ( (This)->lpVtbl -> Unmap(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGISurface_INTERFACE_DEFINED__ */ #ifndef __IDXGISurface1_INTERFACE_DEFINED__ #define __IDXGISurface1_INTERFACE_DEFINED__ /* interface IDXGISurface1 */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGISurface1; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("4AE63092-6327-4c1b-80AE-BFE12EA32B86") IDXGISurface1 : public IDXGISurface { public: virtual HRESULT STDMETHODCALLTYPE GetDC( /* [in] */ BOOL Discard, /* [out] */ HDC *phdc) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseDC( /* [in] */ RECT *pDirtyRect) = 0; }; #else /* C style interface */ typedef struct IDXGISurface1Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGISurface1 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGISurface1 * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGISurface1 * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGISurface1 * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGISurface1 * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGISurface1 * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGISurface1 * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetDevice )( IDXGISurface1 * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppDevice); HRESULT ( STDMETHODCALLTYPE *GetDesc )( IDXGISurface1 * This, /* [out] */ DXGI_SURFACE_DESC *pDesc); HRESULT ( STDMETHODCALLTYPE *Map )( IDXGISurface1 * This, /* [out] */ DXGI_MAPPED_RECT *pLockedRect, /* [in] */ UINT MapFlags); HRESULT ( STDMETHODCALLTYPE *Unmap )( IDXGISurface1 * This); HRESULT ( STDMETHODCALLTYPE *GetDC )( IDXGISurface1 * This, /* [in] */ BOOL Discard, /* [out] */ HDC *phdc); HRESULT ( STDMETHODCALLTYPE *ReleaseDC )( IDXGISurface1 * This, /* [in] */ RECT *pDirtyRect); END_INTERFACE } IDXGISurface1Vtbl; interface IDXGISurface1 { CONST_VTBL struct IDXGISurface1Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGISurface1_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGISurface1_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGISurface1_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGISurface1_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGISurface1_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGISurface1_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGISurface1_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGISurface1_GetDevice(This,riid,ppDevice) \ ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) #define IDXGISurface1_GetDesc(This,pDesc) \ ( (This)->lpVtbl -> GetDesc(This,pDesc) ) #define IDXGISurface1_Map(This,pLockedRect,MapFlags) \ ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) ) #define IDXGISurface1_Unmap(This) \ ( (This)->lpVtbl -> Unmap(This) ) #define IDXGISurface1_GetDC(This,Discard,phdc) \ ( (This)->lpVtbl -> GetDC(This,Discard,phdc) ) #define IDXGISurface1_ReleaseDC(This,pDirtyRect) \ ( (This)->lpVtbl -> ReleaseDC(This,pDirtyRect) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGISurface1_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dxgi_0000_0006 */ /* [local] */ extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_s_ifspec; #ifndef __IDXGIAdapter_INTERFACE_DEFINED__ #define __IDXGIAdapter_INTERFACE_DEFINED__ /* interface IDXGIAdapter */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIAdapter; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2411e7e1-12ac-4ccf-bd14-9798e8534dc0") IDXGIAdapter : public IDXGIObject { public: virtual HRESULT STDMETHODCALLTYPE EnumOutputs( /* [in] */ UINT Output, /* [out][in] */ IDXGIOutput **ppOutput) = 0; virtual HRESULT STDMETHODCALLTYPE GetDesc( /* [out] */ DXGI_ADAPTER_DESC *pDesc) = 0; virtual HRESULT STDMETHODCALLTYPE CheckInterfaceSupport( /* [in] */ REFGUID InterfaceName, /* [out] */ LARGE_INTEGER *pUMDVersion) = 0; }; #else /* C style interface */ typedef struct IDXGIAdapterVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIAdapter * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIAdapter * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIAdapter * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIAdapter * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIAdapter * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIAdapter * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIAdapter * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *EnumOutputs )( IDXGIAdapter * This, /* [in] */ UINT Output, /* [out][in] */ IDXGIOutput **ppOutput); HRESULT ( STDMETHODCALLTYPE *GetDesc )( IDXGIAdapter * This, /* [out] */ DXGI_ADAPTER_DESC *pDesc); HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )( IDXGIAdapter * This, /* [in] */ REFGUID InterfaceName, /* [out] */ LARGE_INTEGER *pUMDVersion); END_INTERFACE } IDXGIAdapterVtbl; interface IDXGIAdapter { CONST_VTBL struct IDXGIAdapterVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIAdapter_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIAdapter_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIAdapter_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIAdapter_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIAdapter_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIAdapter_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIAdapter_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIAdapter_EnumOutputs(This,Output,ppOutput) \ ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) ) #define IDXGIAdapter_GetDesc(This,pDesc) \ ( (This)->lpVtbl -> GetDesc(This,pDesc) ) #define IDXGIAdapter_CheckInterfaceSupport(This,InterfaceName,pUMDVersion) \ ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIAdapter_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dxgi_0000_0007 */ /* [local] */ #define DXGI_ENUM_MODES_INTERLACED ( 1UL ) #define DXGI_ENUM_MODES_SCALING ( 2UL ) extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_s_ifspec; #ifndef __IDXGIOutput_INTERFACE_DEFINED__ #define __IDXGIOutput_INTERFACE_DEFINED__ /* interface IDXGIOutput */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIOutput; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ae02eedb-c735-4690-8d52-5a8dc20213aa") IDXGIOutput : public IDXGIObject { public: virtual HRESULT STDMETHODCALLTYPE GetDesc( /* [out] */ DXGI_OUTPUT_DESC *pDesc) = 0; virtual HRESULT STDMETHODCALLTYPE GetDisplayModeList( /* [in] */ DXGI_FORMAT EnumFormat, /* [in] */ UINT Flags, /* [out][in] */ UINT *pNumModes, /* [out] */ DXGI_MODE_DESC *pDesc) = 0; virtual HRESULT STDMETHODCALLTYPE FindClosestMatchingMode( /* [in] */ const DXGI_MODE_DESC *pModeToMatch, /* [out] */ DXGI_MODE_DESC *pClosestMatch, /* [in] */ IUnknown *pConcernedDevice) = 0; virtual HRESULT STDMETHODCALLTYPE WaitForVBlank( void) = 0; virtual HRESULT STDMETHODCALLTYPE TakeOwnership( /* [in] */ IUnknown *pDevice, BOOL Exclusive) = 0; virtual void STDMETHODCALLTYPE ReleaseOwnership( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetGammaControlCapabilities( /* [out] */ DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps) = 0; virtual HRESULT STDMETHODCALLTYPE SetGammaControl( /* [in] */ const DXGI_GAMMA_CONTROL *pArray) = 0; virtual HRESULT STDMETHODCALLTYPE GetGammaControl( /* [out] */ DXGI_GAMMA_CONTROL *pArray) = 0; virtual HRESULT STDMETHODCALLTYPE SetDisplaySurface( /* [in] */ IDXGISurface *pScanoutSurface) = 0; virtual HRESULT STDMETHODCALLTYPE GetDisplaySurfaceData( /* [in] */ IDXGISurface *pDestination) = 0; virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics( /* [out] */ DXGI_FRAME_STATISTICS *pStats) = 0; }; #else /* C style interface */ typedef struct IDXGIOutputVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIOutput * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIOutput * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIOutput * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIOutput * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIOutput * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIOutput * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIOutput * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetDesc )( IDXGIOutput * This, /* [out] */ DXGI_OUTPUT_DESC *pDesc); HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )( IDXGIOutput * This, /* [in] */ DXGI_FORMAT EnumFormat, /* [in] */ UINT Flags, /* [out][in] */ UINT *pNumModes, /* [out] */ DXGI_MODE_DESC *pDesc); HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )( IDXGIOutput * This, /* [in] */ const DXGI_MODE_DESC *pModeToMatch, /* [out] */ DXGI_MODE_DESC *pClosestMatch, /* [in] */ IUnknown *pConcernedDevice); HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )( IDXGIOutput * This); HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( IDXGIOutput * This, /* [in] */ IUnknown *pDevice, BOOL Exclusive); void ( STDMETHODCALLTYPE *ReleaseOwnership )( IDXGIOutput * This); HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )( IDXGIOutput * This, /* [out] */ DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps); HRESULT ( STDMETHODCALLTYPE *SetGammaControl )( IDXGIOutput * This, /* [in] */ const DXGI_GAMMA_CONTROL *pArray); HRESULT ( STDMETHODCALLTYPE *GetGammaControl )( IDXGIOutput * This, /* [out] */ DXGI_GAMMA_CONTROL *pArray); HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )( IDXGIOutput * This, /* [in] */ IDXGISurface *pScanoutSurface); HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )( IDXGIOutput * This, /* [in] */ IDXGISurface *pDestination); HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( IDXGIOutput * This, /* [out] */ DXGI_FRAME_STATISTICS *pStats); END_INTERFACE } IDXGIOutputVtbl; interface IDXGIOutput { CONST_VTBL struct IDXGIOutputVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIOutput_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIOutput_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIOutput_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIOutput_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIOutput_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIOutput_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIOutput_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIOutput_GetDesc(This,pDesc) \ ( (This)->lpVtbl -> GetDesc(This,pDesc) ) #define IDXGIOutput_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) \ ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) ) #define IDXGIOutput_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) \ ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) #define IDXGIOutput_WaitForVBlank(This) \ ( (This)->lpVtbl -> WaitForVBlank(This) ) #define IDXGIOutput_TakeOwnership(This,pDevice,Exclusive) \ ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) ) #define IDXGIOutput_ReleaseOwnership(This) \ ( (This)->lpVtbl -> ReleaseOwnership(This) ) #define IDXGIOutput_GetGammaControlCapabilities(This,pGammaCaps) \ ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) ) #define IDXGIOutput_SetGammaControl(This,pArray) \ ( (This)->lpVtbl -> SetGammaControl(This,pArray) ) #define IDXGIOutput_GetGammaControl(This,pArray) \ ( (This)->lpVtbl -> GetGammaControl(This,pArray) ) #define IDXGIOutput_SetDisplaySurface(This,pScanoutSurface) \ ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) ) #define IDXGIOutput_GetDisplaySurfaceData(This,pDestination) \ ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) ) #define IDXGIOutput_GetFrameStatistics(This,pStats) \ ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIOutput_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dxgi_0000_0008 */ /* [local] */ #define DXGI_MAX_SWAP_CHAIN_BUFFERS ( 16 ) #define DXGI_PRESENT_TEST 0x00000001UL #define DXGI_PRESENT_DO_NOT_SEQUENCE 0x00000002UL #define DXGI_PRESENT_RESTART 0x00000004UL extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_s_ifspec; #ifndef __IDXGISwapChain_INTERFACE_DEFINED__ #define __IDXGISwapChain_INTERFACE_DEFINED__ /* interface IDXGISwapChain */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGISwapChain; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("310d36a0-d2e7-4c0a-aa04-6a9d23b8886a") IDXGISwapChain : public IDXGIDeviceSubObject { public: virtual HRESULT STDMETHODCALLTYPE Present( /* [in] */ UINT SyncInterval, /* [in] */ UINT Flags) = 0; virtual HRESULT STDMETHODCALLTYPE GetBuffer( /* [in] */ UINT Buffer, /* [in] */ REFIID riid, /* [out][in] */ void **ppSurface) = 0; virtual HRESULT STDMETHODCALLTYPE SetFullscreenState( /* [in] */ BOOL Fullscreen, /* [in] */ IDXGIOutput *pTarget) = 0; virtual HRESULT STDMETHODCALLTYPE GetFullscreenState( /* [out] */ BOOL *pFullscreen, /* [out] */ IDXGIOutput **ppTarget) = 0; virtual HRESULT STDMETHODCALLTYPE GetDesc( /* [out] */ DXGI_SWAP_CHAIN_DESC *pDesc) = 0; virtual HRESULT STDMETHODCALLTYPE ResizeBuffers( /* [in] */ UINT BufferCount, /* [in] */ UINT Width, /* [in] */ UINT Height, /* [in] */ DXGI_FORMAT NewFormat, /* [in] */ UINT SwapChainFlags) = 0; virtual HRESULT STDMETHODCALLTYPE ResizeTarget( /* [in] */ const DXGI_MODE_DESC *pNewTargetParameters) = 0; virtual HRESULT STDMETHODCALLTYPE GetContainingOutput( IDXGIOutput **ppOutput) = 0; virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics( /* [out] */ DXGI_FRAME_STATISTICS *pStats) = 0; virtual HRESULT STDMETHODCALLTYPE GetLastPresentCount( /* [out] */ UINT *pLastPresentCount) = 0; }; #else /* C style interface */ typedef struct IDXGISwapChainVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGISwapChain * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGISwapChain * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGISwapChain * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGISwapChain * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGISwapChain * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGISwapChain * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGISwapChain * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetDevice )( IDXGISwapChain * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppDevice); HRESULT ( STDMETHODCALLTYPE *Present )( IDXGISwapChain * This, /* [in] */ UINT SyncInterval, /* [in] */ UINT Flags); HRESULT ( STDMETHODCALLTYPE *GetBuffer )( IDXGISwapChain * This, /* [in] */ UINT Buffer, /* [in] */ REFIID riid, /* [out][in] */ void **ppSurface); HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )( IDXGISwapChain * This, /* [in] */ BOOL Fullscreen, /* [in] */ IDXGIOutput *pTarget); HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )( IDXGISwapChain * This, /* [out] */ BOOL *pFullscreen, /* [out] */ IDXGIOutput **ppTarget); HRESULT ( STDMETHODCALLTYPE *GetDesc )( IDXGISwapChain * This, /* [out] */ DXGI_SWAP_CHAIN_DESC *pDesc); HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )( IDXGISwapChain * This, /* [in] */ UINT BufferCount, /* [in] */ UINT Width, /* [in] */ UINT Height, /* [in] */ DXGI_FORMAT NewFormat, /* [in] */ UINT SwapChainFlags); HRESULT ( STDMETHODCALLTYPE *ResizeTarget )( IDXGISwapChain * This, /* [in] */ const DXGI_MODE_DESC *pNewTargetParameters); HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )( IDXGISwapChain * This, IDXGIOutput **ppOutput); HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( IDXGISwapChain * This, /* [out] */ DXGI_FRAME_STATISTICS *pStats); HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )( IDXGISwapChain * This, /* [out] */ UINT *pLastPresentCount); END_INTERFACE } IDXGISwapChainVtbl; interface IDXGISwapChain { CONST_VTBL struct IDXGISwapChainVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGISwapChain_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGISwapChain_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGISwapChain_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGISwapChain_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGISwapChain_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGISwapChain_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGISwapChain_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGISwapChain_GetDevice(This,riid,ppDevice) \ ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) #define IDXGISwapChain_Present(This,SyncInterval,Flags) \ ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) ) #define IDXGISwapChain_GetBuffer(This,Buffer,riid,ppSurface) \ ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) ) #define IDXGISwapChain_SetFullscreenState(This,Fullscreen,pTarget) \ ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) ) #define IDXGISwapChain_GetFullscreenState(This,pFullscreen,ppTarget) \ ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) ) #define IDXGISwapChain_GetDesc(This,pDesc) \ ( (This)->lpVtbl -> GetDesc(This,pDesc) ) #define IDXGISwapChain_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) \ ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) ) #define IDXGISwapChain_ResizeTarget(This,pNewTargetParameters) \ ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) ) #define IDXGISwapChain_GetContainingOutput(This,ppOutput) \ ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) ) #define IDXGISwapChain_GetFrameStatistics(This,pStats) \ ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) #define IDXGISwapChain_GetLastPresentCount(This,pLastPresentCount) \ ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGISwapChain_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dxgi_0000_0009 */ /* [local] */ #define DXGI_MWA_NO_WINDOW_CHANGES ( 1 << 0 ) #define DXGI_MWA_NO_ALT_ENTER ( 1 << 1 ) #define DXGI_MWA_NO_PRINT_SCREEN ( 1 << 2 ) #define DXGI_MWA_VALID ( 0x7 ) extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_s_ifspec; #ifndef __IDXGIFactory_INTERFACE_DEFINED__ #define __IDXGIFactory_INTERFACE_DEFINED__ /* interface IDXGIFactory */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIFactory; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7b7166ec-21c7-44ae-b21a-c9ae321ae369") IDXGIFactory : public IDXGIObject { public: virtual HRESULT STDMETHODCALLTYPE EnumAdapters( /* [in] */ UINT Adapter, /* [out] */ IDXGIAdapter **ppAdapter) = 0; virtual HRESULT STDMETHODCALLTYPE MakeWindowAssociation( HWND WindowHandle, UINT Flags) = 0; virtual HRESULT STDMETHODCALLTYPE GetWindowAssociation( HWND *pWindowHandle) = 0; virtual HRESULT STDMETHODCALLTYPE CreateSwapChain( IUnknown *pDevice, DXGI_SWAP_CHAIN_DESC *pDesc, IDXGISwapChain **ppSwapChain) = 0; virtual HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter( /* [in] */ HMODULE Module, /* [out] */ IDXGIAdapter **ppAdapter) = 0; }; #else /* C style interface */ typedef struct IDXGIFactoryVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIFactory * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIFactory * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIFactory * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIFactory * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIFactory * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIFactory * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIFactory * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *EnumAdapters )( IDXGIFactory * This, /* [in] */ UINT Adapter, /* [out] */ IDXGIAdapter **ppAdapter); HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )( IDXGIFactory * This, HWND WindowHandle, UINT Flags); HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )( IDXGIFactory * This, HWND *pWindowHandle); HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )( IDXGIFactory * This, IUnknown *pDevice, DXGI_SWAP_CHAIN_DESC *pDesc, IDXGISwapChain **ppSwapChain); HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )( IDXGIFactory * This, /* [in] */ HMODULE Module, /* [out] */ IDXGIAdapter **ppAdapter); END_INTERFACE } IDXGIFactoryVtbl; interface IDXGIFactory { CONST_VTBL struct IDXGIFactoryVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIFactory_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIFactory_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIFactory_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIFactory_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIFactory_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIFactory_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIFactory_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIFactory_EnumAdapters(This,Adapter,ppAdapter) \ ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) #define IDXGIFactory_MakeWindowAssociation(This,WindowHandle,Flags) \ ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) #define IDXGIFactory_GetWindowAssociation(This,pWindowHandle) \ ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) #define IDXGIFactory_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \ ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) #define IDXGIFactory_CreateSoftwareAdapter(This,Module,ppAdapter) \ ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIFactory_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dxgi_0000_0010 */ /* [local] */ HRESULT WINAPI CreateDXGIFactory(REFIID riid, void **ppFactory); HRESULT WINAPI CreateDXGIFactory1(REFIID riid, void **ppFactory); extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_s_ifspec; #ifndef __IDXGIDevice_INTERFACE_DEFINED__ #define __IDXGIDevice_INTERFACE_DEFINED__ /* interface IDXGIDevice */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIDevice; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("54ec77fa-1377-44e6-8c32-88fd5f44c84c") IDXGIDevice : public IDXGIObject { public: virtual HRESULT STDMETHODCALLTYPE GetAdapter( /* [out] */ IDXGIAdapter **pAdapter) = 0; virtual HRESULT STDMETHODCALLTYPE CreateSurface( /* [in] */ const DXGI_SURFACE_DESC *pDesc, /* [in] */ UINT NumSurfaces, /* [in] */ DXGI_USAGE Usage, /* [in] */ const DXGI_SHARED_RESOURCE *pSharedResource, /* [out] */ IDXGISurface **ppSurface) = 0; virtual HRESULT STDMETHODCALLTYPE QueryResourceResidency( /* [size_is][in] */ IUnknown *const *ppResources, /* [size_is][out] */ DXGI_RESIDENCY *pResidencyStatus, /* [in] */ UINT NumResources) = 0; virtual HRESULT STDMETHODCALLTYPE SetGPUThreadPriority( /* [in] */ INT Priority) = 0; virtual HRESULT STDMETHODCALLTYPE GetGPUThreadPriority( /* [retval][out] */ INT *pPriority) = 0; }; #else /* C style interface */ typedef struct IDXGIDeviceVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIDevice * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIDevice * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIDevice * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIDevice * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIDevice * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIDevice * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIDevice * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetAdapter )( IDXGIDevice * This, /* [out] */ IDXGIAdapter **pAdapter); HRESULT ( STDMETHODCALLTYPE *CreateSurface )( IDXGIDevice * This, /* [in] */ const DXGI_SURFACE_DESC *pDesc, /* [in] */ UINT NumSurfaces, /* [in] */ DXGI_USAGE Usage, /* [in] */ const DXGI_SHARED_RESOURCE *pSharedResource, /* [out] */ IDXGISurface **ppSurface); HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )( IDXGIDevice * This, /* [size_is][in] */ IUnknown *const *ppResources, /* [size_is][out] */ DXGI_RESIDENCY *pResidencyStatus, /* [in] */ UINT NumResources); HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )( IDXGIDevice * This, /* [in] */ INT Priority); HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )( IDXGIDevice * This, /* [retval][out] */ INT *pPriority); END_INTERFACE } IDXGIDeviceVtbl; interface IDXGIDevice { CONST_VTBL struct IDXGIDeviceVtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIDevice_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIDevice_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIDevice_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIDevice_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIDevice_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIDevice_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIDevice_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIDevice_GetAdapter(This,pAdapter) \ ( (This)->lpVtbl -> GetAdapter(This,pAdapter) ) #define IDXGIDevice_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \ ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) ) #define IDXGIDevice_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \ ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) ) #define IDXGIDevice_SetGPUThreadPriority(This,Priority) \ ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) ) #define IDXGIDevice_GetGPUThreadPriority(This,pPriority) \ ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIDevice_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dxgi_0000_0011 */ /* [local] */ typedef enum DXGI_ADAPTER_FLAG { DXGI_ADAPTER_FLAG_NONE = 0, DXGI_ADAPTER_FLAG_REMOTE = 1, DXGI_ADAPTER_FLAG_FORCE_DWORD = 0xffffffff } DXGI_ADAPTER_FLAG; typedef struct DXGI_ADAPTER_DESC1 { WCHAR Description[ 128 ]; UINT VendorId; UINT DeviceId; UINT SubSysId; UINT Revision; SIZE_T DedicatedVideoMemory; SIZE_T DedicatedSystemMemory; SIZE_T SharedSystemMemory; LUID AdapterLuid; UINT Flags; } DXGI_ADAPTER_DESC1; typedef struct DXGI_DISPLAY_COLOR_SPACE { FLOAT PrimaryCoordinates[ 8 ][ 2 ]; FLOAT WhitePoints[ 16 ][ 2 ]; } DXGI_DISPLAY_COLOR_SPACE; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_s_ifspec; #ifndef __IDXGIFactory1_INTERFACE_DEFINED__ #define __IDXGIFactory1_INTERFACE_DEFINED__ /* interface IDXGIFactory1 */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIFactory1; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("770aae78-f26f-4dba-a829-253c83d1b387") IDXGIFactory1 : public IDXGIFactory { public: virtual HRESULT STDMETHODCALLTYPE EnumAdapters1( /* [in] */ UINT Adapter, /* [out] */ IDXGIAdapter1 **ppAdapter) = 0; virtual BOOL STDMETHODCALLTYPE IsCurrent( void) = 0; }; #else /* C style interface */ typedef struct IDXGIFactory1Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIFactory1 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIFactory1 * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIFactory1 * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIFactory1 * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIFactory1 * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIFactory1 * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIFactory1 * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *EnumAdapters )( IDXGIFactory1 * This, /* [in] */ UINT Adapter, /* [out] */ IDXGIAdapter **ppAdapter); HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )( IDXGIFactory1 * This, HWND WindowHandle, UINT Flags); HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )( IDXGIFactory1 * This, HWND *pWindowHandle); HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )( IDXGIFactory1 * This, IUnknown *pDevice, DXGI_SWAP_CHAIN_DESC *pDesc, IDXGISwapChain **ppSwapChain); HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )( IDXGIFactory1 * This, /* [in] */ HMODULE Module, /* [out] */ IDXGIAdapter **ppAdapter); HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )( IDXGIFactory1 * This, /* [in] */ UINT Adapter, /* [out] */ IDXGIAdapter1 **ppAdapter); BOOL ( STDMETHODCALLTYPE *IsCurrent )( IDXGIFactory1 * This); END_INTERFACE } IDXGIFactory1Vtbl; interface IDXGIFactory1 { CONST_VTBL struct IDXGIFactory1Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIFactory1_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIFactory1_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIFactory1_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIFactory1_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIFactory1_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIFactory1_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIFactory1_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIFactory1_EnumAdapters(This,Adapter,ppAdapter) \ ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) #define IDXGIFactory1_MakeWindowAssociation(This,WindowHandle,Flags) \ ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) #define IDXGIFactory1_GetWindowAssociation(This,pWindowHandle) \ ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) #define IDXGIFactory1_CreateSwapChain(This,pDevice,pDesc,ppSwapChain) \ ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) #define IDXGIFactory1_CreateSoftwareAdapter(This,Module,ppAdapter) \ ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) #define IDXGIFactory1_EnumAdapters1(This,Adapter,ppAdapter) \ ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) ) #define IDXGIFactory1_IsCurrent(This) \ ( (This)->lpVtbl -> IsCurrent(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIFactory1_INTERFACE_DEFINED__ */ #ifndef __IDXGIAdapter1_INTERFACE_DEFINED__ #define __IDXGIAdapter1_INTERFACE_DEFINED__ /* interface IDXGIAdapter1 */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIAdapter1; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("29038f61-3839-4626-91fd-086879011a05") IDXGIAdapter1 : public IDXGIAdapter { public: virtual HRESULT STDMETHODCALLTYPE GetDesc1( /* [out] */ DXGI_ADAPTER_DESC1 *pDesc) = 0; }; #else /* C style interface */ typedef struct IDXGIAdapter1Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIAdapter1 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIAdapter1 * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIAdapter1 * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIAdapter1 * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIAdapter1 * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIAdapter1 * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIAdapter1 * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *EnumOutputs )( IDXGIAdapter1 * This, /* [in] */ UINT Output, /* [out][in] */ IDXGIOutput **ppOutput); HRESULT ( STDMETHODCALLTYPE *GetDesc )( IDXGIAdapter1 * This, /* [out] */ DXGI_ADAPTER_DESC *pDesc); HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )( IDXGIAdapter1 * This, /* [in] */ REFGUID InterfaceName, /* [out] */ LARGE_INTEGER *pUMDVersion); HRESULT ( STDMETHODCALLTYPE *GetDesc1 )( IDXGIAdapter1 * This, /* [out] */ DXGI_ADAPTER_DESC1 *pDesc); END_INTERFACE } IDXGIAdapter1Vtbl; interface IDXGIAdapter1 { CONST_VTBL struct IDXGIAdapter1Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIAdapter1_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIAdapter1_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIAdapter1_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIAdapter1_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIAdapter1_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIAdapter1_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIAdapter1_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIAdapter1_EnumOutputs(This,Output,ppOutput) \ ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) ) #define IDXGIAdapter1_GetDesc(This,pDesc) \ ( (This)->lpVtbl -> GetDesc(This,pDesc) ) #define IDXGIAdapter1_CheckInterfaceSupport(This,InterfaceName,pUMDVersion) \ ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) ) #define IDXGIAdapter1_GetDesc1(This,pDesc) \ ( (This)->lpVtbl -> GetDesc1(This,pDesc) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIAdapter1_INTERFACE_DEFINED__ */ #ifndef __IDXGIDevice1_INTERFACE_DEFINED__ #define __IDXGIDevice1_INTERFACE_DEFINED__ /* interface IDXGIDevice1 */ /* [unique][local][uuid][object] */ EXTERN_C const IID IID_IDXGIDevice1; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("77db970f-6276-48ba-ba28-070143b4392c") IDXGIDevice1 : public IDXGIDevice { public: virtual HRESULT STDMETHODCALLTYPE SetMaximumFrameLatency( /* [in] */ UINT MaxLatency) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaximumFrameLatency( /* [out] */ UINT *pMaxLatency) = 0; }; #else /* C style interface */ typedef struct IDXGIDevice1Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IDXGIDevice1 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IDXGIDevice1 * This); ULONG ( STDMETHODCALLTYPE *Release )( IDXGIDevice1 * This); HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( IDXGIDevice1 * This, /* [in] */ REFGUID Name, /* [in] */ UINT DataSize, /* [in] */ const void *pData); HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( IDXGIDevice1 * This, /* [in] */ REFGUID Name, /* [in] */ const IUnknown *pUnknown); HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( IDXGIDevice1 * This, /* [in] */ REFGUID Name, /* [out][in] */ UINT *pDataSize, /* [out] */ void *pData); HRESULT ( STDMETHODCALLTYPE *GetParent )( IDXGIDevice1 * This, /* [in] */ REFIID riid, /* [retval][out] */ void **ppParent); HRESULT ( STDMETHODCALLTYPE *GetAdapter )( IDXGIDevice1 * This, /* [out] */ IDXGIAdapter **pAdapter); HRESULT ( STDMETHODCALLTYPE *CreateSurface )( IDXGIDevice1 * This, /* [in] */ const DXGI_SURFACE_DESC *pDesc, /* [in] */ UINT NumSurfaces, /* [in] */ DXGI_USAGE Usage, /* [in] */ const DXGI_SHARED_RESOURCE *pSharedResource, /* [out] */ IDXGISurface **ppSurface); HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )( IDXGIDevice1 * This, /* [size_is][in] */ IUnknown *const *ppResources, /* [size_is][out] */ DXGI_RESIDENCY *pResidencyStatus, /* [in] */ UINT NumResources); HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )( IDXGIDevice1 * This, /* [in] */ INT Priority); HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )( IDXGIDevice1 * This, /* [retval][out] */ INT *pPriority); HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )( IDXGIDevice1 * This, /* [in] */ UINT MaxLatency); HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )( IDXGIDevice1 * This, /* [out] */ UINT *pMaxLatency); END_INTERFACE } IDXGIDevice1Vtbl; interface IDXGIDevice1 { CONST_VTBL struct IDXGIDevice1Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IDXGIDevice1_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDXGIDevice1_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IDXGIDevice1_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IDXGIDevice1_SetPrivateData(This,Name,DataSize,pData) \ ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) #define IDXGIDevice1_SetPrivateDataInterface(This,Name,pUnknown) \ ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) #define IDXGIDevice1_GetPrivateData(This,Name,pDataSize,pData) \ ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) #define IDXGIDevice1_GetParent(This,riid,ppParent) \ ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) #define IDXGIDevice1_GetAdapter(This,pAdapter) \ ( (This)->lpVtbl -> GetAdapter(This,pAdapter) ) #define IDXGIDevice1_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) \ ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) ) #define IDXGIDevice1_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) \ ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) ) #define IDXGIDevice1_SetGPUThreadPriority(This,Priority) \ ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) ) #define IDXGIDevice1_GetGPUThreadPriority(This,pPriority) \ ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) ) #define IDXGIDevice1_SetMaximumFrameLatency(This,MaxLatency) \ ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) ) #define IDXGIDevice1_GetMaximumFrameLatency(This,pMaxLatency) \ ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IDXGIDevice1_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dxgi_0000_0014 */ /* [local] */ #ifdef __cplusplus #endif /*__cplusplus*/ DEFINE_GUID(IID_IDXGIObject,0xaec22fb8,0x76f3,0x4639,0x9b,0xe0,0x28,0xeb,0x43,0xa6,0x7a,0x2e); DEFINE_GUID(IID_IDXGIDeviceSubObject,0x3d3e0379,0xf9de,0x4d58,0xbb,0x6c,0x18,0xd6,0x29,0x92,0xf1,0xa6); DEFINE_GUID(IID_IDXGIResource,0x035f3ab4,0x482e,0x4e50,0xb4,0x1f,0x8a,0x7f,0x8b,0xd8,0x96,0x0b); DEFINE_GUID(IID_IDXGIKeyedMutex,0x9d8e1289,0xd7b3,0x465f,0x81,0x26,0x25,0x0e,0x34,0x9a,0xf8,0x5d); DEFINE_GUID(IID_IDXGISurface,0xcafcb56c,0x6ac3,0x4889,0xbf,0x47,0x9e,0x23,0xbb,0xd2,0x60,0xec); DEFINE_GUID(IID_IDXGISurface1,0x4AE63092,0x6327,0x4c1b,0x80,0xAE,0xBF,0xE1,0x2E,0xA3,0x2B,0x86); DEFINE_GUID(IID_IDXGIAdapter,0x2411e7e1,0x12ac,0x4ccf,0xbd,0x14,0x97,0x98,0xe8,0x53,0x4d,0xc0); DEFINE_GUID(IID_IDXGIOutput,0xae02eedb,0xc735,0x4690,0x8d,0x52,0x5a,0x8d,0xc2,0x02,0x13,0xaa); DEFINE_GUID(IID_IDXGISwapChain,0x310d36a0,0xd2e7,0x4c0a,0xaa,0x04,0x6a,0x9d,0x23,0xb8,0x88,0x6a); DEFINE_GUID(IID_IDXGIFactory,0x7b7166ec,0x21c7,0x44ae,0xb2,0x1a,0xc9,0xae,0x32,0x1a,0xe3,0x69); DEFINE_GUID(IID_IDXGIDevice,0x54ec77fa,0x1377,0x44e6,0x8c,0x32,0x88,0xfd,0x5f,0x44,0xc8,0x4c); DEFINE_GUID(IID_IDXGIFactory1,0x770aae78,0xf26f,0x4dba,0xa8,0x29,0x25,0x3c,0x83,0xd1,0xb3,0x87); DEFINE_GUID(IID_IDXGIAdapter1,0x29038f61,0x3839,0x4626,0x91,0xfd,0x08,0x68,0x79,0x01,0x1a,0x05); DEFINE_GUID(IID_IDXGIDevice1,0x77db970f,0x6276,0x48ba,0xba,0x28,0x07,0x01,0x43,0xb4,0x39,0x2c); extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_s_ifspec; /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif