ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

dxdiag.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.