Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendxdiag.h
Go to the documentation of this file.
00001 #ifndef _DXDIAG_H_ 00002 #define _DXDIAG_H_ 00003 00004 #include <ole2.h> 00005 00006 #define DXDIAG_DX9_SDK_VERSION 111 00007 00008 #ifdef __cplusplus 00009 extern "C" { 00010 #endif 00011 00012 00013 DEFINE_GUID(CLSID_DxDiagProvider, 0xA65B8071, 0x3BFE, 0x4213, 0x9A, 0x5B, 0x49, 0x1D, 0xA4, 0x46, 0x1C, 0xA7); 00014 DEFINE_GUID(IID_IDxDiagProvider, 0x9C6B4CB0, 0x23F8, 0x49CC, 0xA3, 0xED, 0x45, 0xA5, 0x50, 0x00, 0xA6, 0xD2); 00015 DEFINE_GUID(IID_IDxDiagContainer, 0x7D0F462F, 0x4064, 0x4862, 0xBC, 0x7F, 0x93, 0x3E, 0x50, 0x58, 0xC1, 0x0F); 00016 00017 typedef struct _DXDIAG_INIT_PARAMS 00018 { 00019 DWORD dwSize; 00020 DWORD dwDxDiagHeaderVersion; 00021 BOOL bAllowWHQLChecks; 00022 VOID* pReserved; 00023 } DXDIAG_INIT_PARAMS; 00024 00025 00026 00027 typedef struct IDxDiagContainer *LPDXDIAGCONTAINER, *PDXDIAGCONTAINER; 00028 #undef INTERFACE 00029 #define INTERFACE IDxDiagContainer 00030 DECLARE_INTERFACE_(IDxDiagContainer,IUnknown) 00031 { 00032 00033 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE; 00034 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 00035 STDMETHOD_(ULONG,Release) (THIS) PURE; 00036 STDMETHOD(GetNumberOfChildContainers) (THIS_ DWORD *pdwCount) PURE; 00037 STDMETHOD(EnumChildContainerNames) (THIS_ DWORD dwIndex, LPWSTR pwszContainer, DWORD cchContainer) PURE; 00038 STDMETHOD(GetChildContainer) (THIS_ LPCWSTR pwszContainer, IDxDiagContainer **ppInstance) PURE; 00039 STDMETHOD(GetNumberOfProps) (THIS_ DWORD *pdwCount) PURE; 00040 STDMETHOD(EnumPropNames) (THIS_ DWORD dwIndex, LPWSTR pwszPropName, DWORD cchPropName) PURE; 00041 STDMETHOD(GetProp) (THIS_ LPCWSTR pwszPropName, VARIANT *pvarProp) PURE; 00042 }; 00043 00044 typedef struct IDxDiagProvider *LPDXDIAGPROVIDER, *PDXDIAGPROVIDER; 00045 #undef INTERFACE 00046 #define INTERFACE IDxDiagProvider 00047 DECLARE_INTERFACE_(IDxDiagProvider,IUnknown) 00048 { 00049 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE; 00050 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 00051 STDMETHOD_(ULONG,Release) (THIS) PURE; 00052 STDMETHOD(Initialize) (THIS_ DXDIAG_INIT_PARAMS* pParams) PURE; 00053 STDMETHOD(GetRootContainer) (THIS_ IDxDiagContainer **ppInstance) PURE; 00054 }; 00055 00056 #define DXDIAG_E_INSUFFICIENT_BUFFER ((HRESULT)0x8007007AL) 00057 #if !defined(__cplusplus) || defined(CINTERFACE) 00058 #define IDxDiagProvider_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00059 #define IDxDiagProvider_AddRef(p) (p)->lpVtbl->AddRef(p) 00060 #define IDxDiagProvider_Release(p) (p)->lpVtbl->Release(p) 00061 #define IDxDiagProvider_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 00062 #define IDxDiagProvider_GetRootContainer(p,a) (p)->lpVtbl->GetRootContainer(p,a) 00063 #define IDxDiagContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00064 #define IDxDiagContainer_AddRef(p) (p)->lpVtbl->AddRef(p) 00065 #define IDxDiagContainer_Release(p) (p)->lpVtbl->Release(p) 00066 #define IDxDiagContainer_GetNumberOfChildContainers(p,a) (p)->lpVtbl->GetNumberOfChildContainers(p,a) 00067 #define IDxDiagContainer_EnumChildContainerNames(p,a,b,c) (p)->lpVtbl->EnumChildContainerNames(p,a,b,c) 00068 #define IDxDiagContainer_GetChildContainer(p,a,b) (p)->lpVtbl->GetChildContainer(p,a,b) 00069 #define IDxDiagContainer_GetNumberOfProps(p,a) (p)->lpVtbl->GetNumberOfProps(p,a) 00070 #define IDxDiagContainer_EnumProps(p,a,b) (p)->lpVtbl->EnumProps(p,a,b,c) 00071 #define IDxDiagContainer_GetProp(p,a,b) (p)->lpVtbl->GetProp(p,a,b) 00072 #else 00073 #define IDxDiagProvider_QueryInterface(p,a,b) (p)->QueryInterface(p,a,b) 00074 #define IDxDiagProvider_AddRef(p) (p)->AddRef(p) 00075 #define IDxDiagProvider_Release(p) (p)->Release(p) 00076 #define IDxDiagProvider_Initialize(p,a,b) (p)->Initialize(p,a,b) 00077 #define IDxDiagProvider_GetRootContainer(p,a) (p)->GetRootContainer(p,a) 00078 #define IDxDiagContainer_QueryInterface(p,a,b) (p)->QueryInterface(p,a,b) 00079 #define IDxDiagContainer_AddRef(p) (p)->AddRef(p) 00080 #define IDxDiagContainer_Release(p) (p)->Release(p) 00081 #define IDxDiagContainer_GetNumberOfChildContainers(p,a) (p)->GetNumberOfChildContainers(p,a) 00082 #define IDxDiagContainer_EnumChildContainerNames(p,a,b,c) (p)->EnumChildContainerNames(p,a,b,c) 00083 #define IDxDiagContainer_GetChildContainer(p,a,b) (p)->GetChildContainer(p,a,b) 00084 #define IDxDiagContainer_GetNumberOfProps(p,a) (p)->GetNumberOfProps(p,a) 00085 #define IDxDiagContainer_EnumProps(p,a,b) (p)->EnumProps(p,a,b,c) 00086 #define IDxDiagContainer_GetProp(p,a,b) (p)->GetProp(p,a,b) 00087 #endif 00088 00089 #ifdef __cplusplus 00090 } 00091 #endif 00092 00093 #endif Generated on Sun May 27 2012 04:30:41 for ReactOS by
1.7.6.1
|