12 #include <winapifamily.h> 14 #pragma region Desktop Family 15 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 25 #define DXDIAG_DX9_SDK_VERSION 111 37 #define DXDIAG_E_INSUFFICIENT_BUFFER ((HRESULT)0x8007007AL) // HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) 48 0xA65B8071, 0x3BFE, 0x4213, 0x9A, 0x5B, 0x49, 0x1D, 0xA4, 0x46, 0x1C, 0xA7);
59 0x9C6B4CB0, 0x23F8, 0x49CC, 0xA3, 0xED, 0x45, 0xA5, 0x50, 0x00, 0xA6, 0xD2);
63 0x7D0F462F, 0x4064, 0x4862, 0xBC, 0x7F, 0x93, 0x3E, 0x50, 0x58, 0xC1, 0x0F);
72 typedef struct IDxDiagProvider *LPDXDIAGPROVIDER, *PDXDIAGPROVIDER;
74 typedef struct IDxDiagContainer *LPDXDIAGCONTAINER, *PDXDIAGCONTAINER;
83 typedef struct _DXDIAG_INIT_PARAMS
86 DWORD dwDxDiagHeaderVersion;
88 BOOL bAllowWHQLChecks;
104 #undef INTERFACE // External COM Implementation 105 #define INTERFACE IDxDiagProvider 109 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
110 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
111 STDMETHOD_(ULONG,
Release) (THIS) PURE;
114 STDMETHOD(Initialize) (THIS_ DXDIAG_INIT_PARAMS* pParams) PURE;
115 STDMETHOD(GetRootContainer) (THIS_ IDxDiagContainer **ppInstance) PURE;
122 #undef INTERFACE // External COM Implementation 123 #define INTERFACE IDxDiagContainer 127 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
128 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
129 STDMETHOD_(ULONG,
Release) (THIS) PURE;
132 STDMETHOD(GetNumberOfChildContainers) (THIS_ DWORD *pdwCount) PURE;
133 STDMETHOD(EnumChildContainerNames) (THIS_ DWORD dwIndex, LPWSTR pwszContainer, DWORD cchContainer) PURE;
134 STDMETHOD(GetChildContainer) (THIS_ LPCWSTR pwszContainer, IDxDiagContainer **ppInstance) PURE;
135 STDMETHOD(GetNumberOfProps) (THIS_ DWORD *pdwCount) PURE;
136 STDMETHOD(EnumPropNames) (THIS_ DWORD dwIndex, LPWSTR pwszPropName, DWORD cchPropName) PURE;
137 STDMETHOD(GetProp) (THIS_ LPCWSTR pwszPropName, VARIANT *pvarProp) PURE;
147 #if !defined(__cplusplus) || defined(CINTERFACE) 149 #define IDxDiagProvider_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 150 #define IDxDiagProvider_AddRef(p) (p)->lpVtbl->AddRef(p) 151 #define IDxDiagProvider_Release(p) (p)->lpVtbl->Release(p) 152 #define IDxDiagProvider_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 153 #define IDxDiagProvider_GetRootContainer(p,a) (p)->lpVtbl->GetRootContainer(p,a) 155 #define IDxDiagContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 156 #define IDxDiagContainer_AddRef(p) (p)->lpVtbl->AddRef(p) 157 #define IDxDiagContainer_Release(p) (p)->lpVtbl->Release(p) 158 #define IDxDiagContainer_GetNumberOfChildContainers(p,a) (p)->lpVtbl->GetNumberOfChildContainers(p,a) 159 #define IDxDiagContainer_EnumChildContainerNames(p,a,b,c) (p)->lpVtbl->EnumChildContainerNames(p,a,b,c) 160 #define IDxDiagContainer_GetChildContainer(p,a,b) (p)->lpVtbl->GetChildContainer(p,a,b) 161 #define IDxDiagContainer_GetNumberOfProps(p,a) (p)->lpVtbl->GetNumberOfProps(p,a) 162 #define IDxDiagContainer_EnumProps(p,a,b) (p)->lpVtbl->EnumProps(p,a,b,c) 163 #define IDxDiagContainer_GetProp(p,a,b) (p)->lpVtbl->GetProp(p,a,b) 167 #define IDxDiagProvider_QueryInterface(p,a,b) (p)->QueryInterface(p,a,b) 168 #define IDxDiagProvider_AddRef(p) (p)->AddRef(p) 169 #define IDxDiagProvider_Release(p) (p)->Release(p) 170 #define IDxDiagProvider_Initialize(p,a,b) (p)->Initialize(p,a,b) 171 #define IDxDiagProvider_GetRootContainer(p,a) (p)->GetRootContainer(p,a) 173 #define IDxDiagContainer_QueryInterface(p,a,b) (p)->QueryInterface(p,a,b) 174 #define IDxDiagContainer_AddRef(p) (p)->AddRef(p) 175 #define IDxDiagContainer_Release(p) (p)->Release(p) 176 #define IDxDiagContainer_GetNumberOfChildContainers(p,a) (p)->GetNumberOfChildContainers(p,a) 177 #define IDxDiagContainer_EnumChildContainerNames(p,a,b,c) (p)->EnumChildContainerNames(p,a,b,c) 178 #define IDxDiagContainer_GetChildContainer(p,a,b) (p)->GetChildContainer(p,a,b) 179 #define IDxDiagContainer_GetNumberOfProps(p,a) (p)->GetNumberOfProps(p,a) 180 #define IDxDiagContainer_EnumProps(p,a,b) (p)->EnumProps(p,a,b,c) 181 #define IDxDiagContainer_GetProp(p,a,b) (p)->GetProp(p,a,b) DEFINE_GUID(IID_ID3DXBuffer, 0x932e6a7e, 0xc68e, 0x45dd, 0xa7, 0xbf, 0x53, 0xd1, 0x9c, 0x86, 0xdb, 0x1f)
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
unsigned int BOOL
Definition: gctypes.h:51
DECLARE_INTERFACE_(IXAudio2MasteringVoice, IXAudio2Voice)
Definition: xaudio27.h:247
#define VOID(p)
Definition: luac.c:224