ReactOS  0.4.14-dev-342-gdc047f9
dxdiag_private.h File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "wine/list.h"
#include "dxdiag.h"
#include "resource.h"
Include dependency graph for dxdiag_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  IDxDiagContainerImpl_Container
 
struct  IDxDiagContainerImpl_Property
 
struct  IDxDiagContainerImpl
 

Typedefs

typedef struct IDxDiagProviderImpl IDxDiagProviderImpl
 
typedef struct IDxDiagContainerImpl IDxDiagContainerImpl
 
typedef struct IDxDiagContainerImpl_Container IDxDiagContainerImpl_Container
 
typedef struct IDxDiagContainerImpl_Property IDxDiagContainerImpl_Property
 

Functions

HRESULT DXDiag_CreateDXDiagProvider (LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj) DECLSPEC_HIDDEN
 
HRESULT DXDiag_CreateDXDiagContainer (REFIID riid, IDxDiagContainerImpl_Container *cont, IDxDiagProvider *pProv, LPVOID *ppobj) DECLSPEC_HIDDEN
 
static void DXDIAGN_LockModule (void)
 
static void DXDIAGN_UnlockModule (void)
 

Variables

LONG DXDIAGN_refCount DECLSPEC_HIDDEN
 

Typedef Documentation

◆ IDxDiagContainerImpl

◆ IDxDiagContainerImpl_Container

◆ IDxDiagContainerImpl_Property

◆ IDxDiagProviderImpl

Definition at line 35 of file dxdiag_private.h.

Function Documentation

◆ DXDiag_CreateDXDiagContainer()

HRESULT DXDiag_CreateDXDiagContainer ( REFIID  riid,
IDxDiagContainerImpl_Container cont,
IDxDiagProvider *  pProv,
LPVOID ppobj 
)

internal factory

Definition at line 267 of file container.c.

267  {
269 
270  TRACE("(%s, %p)\n", debugstr_guid(riid), ppobj);
271 
273  if (NULL == container) {
274  *ppobj = NULL;
275  return E_OUTOFMEMORY;
276  }
277  container->IDxDiagContainer_iface.lpVtbl = &DxDiagContainer_Vtbl;
278  container->ref = 0; /* will be inited with QueryInterface */
279  container->cont = cont;
280  container->pProv = pProv;
281  IDxDiagProvider_AddRef(pProv);
282  return IDxDiagContainerImpl_QueryInterface(&container->IDxDiagContainer_iface, riid, ppobj);
283 }
REFIID riid
Definition: precomp.h:44
struct container container
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static HRESULT WINAPI IDxDiagContainerImpl_QueryInterface(IDxDiagContainer *iface, REFIID riid, void **ppobj)
Definition: container.c:35
#define IDxDiagProvider_AddRef(p)
Definition: dxdiag.h:60
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const IDxDiagContainerVtbl DxDiagContainer_Vtbl
Definition: container.c:253

Referenced by IDxDiagContainerImpl_GetChildContainer(), and IDxDiagProviderImpl_GetRootContainer().

◆ DXDiag_CreateDXDiagProvider()

HRESULT DXDiag_CreateDXDiagProvider ( LPCLASSFACTORY  iface,
LPUNKNOWN  punkOuter,
REFIID  riid,
LPVOID ppobj 
)

factories

Definition at line 219 of file provider.c.

219  {
220  IDxDiagProviderImpl* provider;
221 
222  TRACE("(%p, %s, %p)\n", punkOuter, debugstr_guid(riid), ppobj);
223 
224  *ppobj = NULL;
225  if (punkOuter) return CLASS_E_NOAGGREGATION;
226 
228  if (NULL == provider) return E_OUTOFMEMORY;
229  provider->IDxDiagProvider_iface.lpVtbl = &DxDiagProvider_Vtbl;
230  provider->ref = 0; /* will be inited with QueryInterface */
232 }
REFIID riid
Definition: precomp.h:44
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
IDxDiagProvider IDxDiagProvider_iface
Definition: provider.c:105
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:2662
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
static HRESULT WINAPI IDxDiagProviderImpl_QueryInterface(IDxDiagProvider *iface, REFIID riid, void **ppobj)
Definition: provider.c:118
static const IDxDiagProviderVtbl DxDiagProvider_Vtbl
Definition: provider.c:210

Referenced by DXDiagCF_CreateInstance().

◆ DXDIAGN_LockModule()

static void DXDIAGN_LockModule ( void  )
inlinestatic

Definition at line 82 of file dxdiag_private.h.

LONG DXDIAGN_refCount
Definition: dxdiag_main.c:40
#define InterlockedIncrement
Definition: armddk.h:53

Referenced by DXDiagCF_AddRef(), DXDiagCF_LockServer(), IDxDiagContainerImpl_AddRef(), and IDxDiagProviderImpl_AddRef().

◆ DXDIAGN_UnlockModule()

static void DXDIAGN_UnlockModule ( void  )
inlinestatic

Definition at line 83 of file dxdiag_private.h.

LONG DXDIAGN_refCount
Definition: dxdiag_main.c:40
#define InterlockedDecrement
Definition: armddk.h:52

Referenced by DXDiagCF_LockServer(), DXDiagCF_Release(), IDxDiagContainerImpl_Release(), and IDxDiagProviderImpl_Release().

Variable Documentation

◆ DECLSPEC_HIDDEN

HINSTANCE dxdiagn_instance DECLSPEC_HIDDEN

Definition at line 85 of file dxdiag_private.h.