ReactOS 0.4.16-dev-251-ga17b6e9
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;
282 return IDxDiagContainerImpl_QueryInterface(&container->IDxDiagContainer_iface, riid, ppobj);
283}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define NULL
Definition: types.h:112
static HRESULT WINAPI IDxDiagContainerImpl_QueryInterface(IDxDiagContainer *iface, REFIID riid, void **ppobj)
Definition: container.c:35
static const IDxDiagContainerVtbl DxDiagContainer_Vtbl
Definition: container.c:253
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define IDxDiagProvider_AddRef(p)
Definition: dxdiag.h:60
REFIID riid
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4

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}
static const IDxDiagProviderVtbl DxDiagProvider_Vtbl
Definition: provider.c:210
static HRESULT WINAPI IDxDiagProviderImpl_QueryInterface(IDxDiagProvider *iface, REFIID riid, void **ppobj)
Definition: provider.c:118
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
IDxDiagProvider IDxDiagProvider_iface
Definition: provider.c:105
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:2662

Referenced by DXDiagCF_CreateInstance().

◆ DXDIAGN_LockModule()

static void DXDIAGN_LockModule ( void  )
inlinestatic

Definition at line 82 of file dxdiag_private.h.

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

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

◆ DXDIAGN_UnlockModule()

static void DXDIAGN_UnlockModule ( void  )
inlinestatic

Variable Documentation

◆ DECLSPEC_HIDDEN

HINSTANCE dxdiagn_instance DECLSPEC_HIDDEN
extern

Definition at line 85 of file dxdiag_private.h.