ReactOS
0.4.16-dev-136-g52192f1
dxdiag_private.h
Go to the documentation of this file.
1
/*
2
* DXDiag private include file
3
*
4
* Copyright 2004 Raphael Junqueira
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19
*/
20
21
#ifndef __WINE_DXDIAG_PRIVATE_H
22
#define __WINE_DXDIAG_PRIVATE_H
23
24
#include <stdarg.h>
25
26
#include "
windef.h
"
27
#include "
winbase.h
"
28
#include "
wingdi.h
"
29
30
#include "wine/list.h"
31
#include "dxdiag.h"
32
#include "
resource.h
"
33
34
/* DXDiag Interfaces: */
35
typedef
struct
IDxDiagProviderImpl
IDxDiagProviderImpl
;
36
typedef
struct
IDxDiagContainerImpl
IDxDiagContainerImpl
;
37
typedef
struct
IDxDiagContainerImpl_Container
IDxDiagContainerImpl_Container
;
38
39
/* ---------------- */
40
/* IDxDiagContainer */
41
/* ---------------- */
42
43
struct
IDxDiagContainerImpl_Container
{
44
struct
list
entry
;
45
WCHAR
*
contName
;
46
47
struct
list
subContainers
;
48
DWORD
nSubContainers
;
49
struct
list
properties
;
50
DWORD
nProperties
;
51
};
52
53
typedef
struct
IDxDiagContainerImpl_Property
{
54
struct
list
entry
;
55
WCHAR
*
propName
;
56
VARIANT
vProp
;
57
}
IDxDiagContainerImpl_Property
;
58
59
60
/*****************************************************************************
61
* IDxDiagContainer implementation structure
62
*/
63
struct
IDxDiagContainerImpl
{
64
IDxDiagContainer
IDxDiagContainer_iface
;
65
LONG
ref
;
66
IDxDiagContainerImpl_Container
*
cont
;
67
IDxDiagProvider *
pProv
;
68
};
69
73
extern
HRESULT
DXDiag_CreateDXDiagProvider
(LPCLASSFACTORY iface,
LPUNKNOWN
punkOuter,
REFIID
riid
,
LPVOID
*ppobj)
DECLSPEC_HIDDEN
;
74
76
extern
HRESULT
DXDiag_CreateDXDiagContainer
(
REFIID
riid
,
IDxDiagContainerImpl_Container
*cont, IDxDiagProvider *pProv,
LPVOID
*ppobj)
DECLSPEC_HIDDEN
;
77
78
/**********************************************************************
79
* Dll lifetime tracking declaration for dxdiagn.dll
80
*/
81
extern
LONG
DXDIAGN_refCount
DECLSPEC_HIDDEN
;
82
static
inline
void
DXDIAGN_LockModule
(
void
) {
InterlockedIncrement
( &
DXDIAGN_refCount
); }
83
static
inline
void
DXDIAGN_UnlockModule
(
void
) {
InterlockedDecrement
( &
DXDIAGN_refCount
); }
84
85
extern
HINSTANCE
dxdiagn_instance
DECLSPEC_HIDDEN
;
86
87
#endif
InterlockedIncrement
#define InterlockedIncrement
Definition:
armddk.h:53
InterlockedDecrement
#define InterlockedDecrement
Definition:
armddk.h:52
list
Definition:
list.h:37
dxdiagn_instance
HINSTANCE dxdiagn_instance
Definition:
dxdiag_main.c:38
DXDIAGN_refCount
LONG DXDIAGN_refCount
Definition:
dxdiag_main.c:40
DXDIAGN_UnlockModule
static void DXDIAGN_UnlockModule(void)
Definition:
dxdiag_private.h:83
DXDiag_CreateDXDiagContainer
HRESULT DXDiag_CreateDXDiagContainer(REFIID riid, IDxDiagContainerImpl_Container *cont, IDxDiagProvider *pProv, LPVOID *ppobj) DECLSPEC_HIDDEN
Definition:
container.c:267
DECLSPEC_HIDDEN
LONG DXDIAGN_refCount DECLSPEC_HIDDEN
Definition:
dxdiag_private.h:85
DXDIAGN_LockModule
static void DXDIAGN_LockModule(void)
Definition:
dxdiag_private.h:82
DXDiag_CreateDXDiagProvider
HRESULT DXDiag_CreateDXDiagProvider(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj) DECLSPEC_HIDDEN
Definition:
provider.c:219
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
riid
REFIID riid
Definition:
atlbase.h:39
HRESULT
Definition:
mshtmhst.idl:286
void
Definition:
nsiface.idl:2307
LPUNKNOWN
static LPUNKNOWN
Definition:
ndr_ole.c:49
LONG
long LONG
Definition:
pedump.c:60
REFIID
#define REFIID
Definition:
guiddef.h:118
IDxDiagContainerImpl_Container
Definition:
dxdiag_private.h:43
IDxDiagContainerImpl_Container::contName
WCHAR * contName
Definition:
dxdiag_private.h:45
IDxDiagContainerImpl_Container::nProperties
DWORD nProperties
Definition:
dxdiag_private.h:50
IDxDiagContainerImpl_Container::properties
struct list properties
Definition:
dxdiag_private.h:49
IDxDiagContainerImpl_Container::entry
struct list entry
Definition:
dxdiag_private.h:44
IDxDiagContainerImpl_Container::subContainers
struct list subContainers
Definition:
dxdiag_private.h:47
IDxDiagContainerImpl_Container::nSubContainers
DWORD nSubContainers
Definition:
dxdiag_private.h:48
IDxDiagContainerImpl_Property
Definition:
dxdiag_private.h:53
IDxDiagContainerImpl_Property::propName
WCHAR * propName
Definition:
dxdiag_private.h:55
IDxDiagContainerImpl_Property::entry
struct list entry
Definition:
dxdiag_private.h:54
IDxDiagContainerImpl_Property::vProp
VARIANT vProp
Definition:
dxdiag_private.h:56
IDxDiagContainerImpl
Definition:
dxdiag_private.h:63
IDxDiagContainerImpl::pProv
IDxDiagProvider * pProv
Definition:
dxdiag_private.h:67
IDxDiagContainerImpl::cont
IDxDiagContainerImpl_Container * cont
Definition:
dxdiag_private.h:66
IDxDiagContainerImpl::IDxDiagContainer_iface
IDxDiagContainer IDxDiagContainer_iface
Definition:
dxdiag_private.h:64
IDxDiagContainerImpl::ref
LONG ref
Definition:
dxdiag_private.h:65
IDxDiagProviderImpl
Definition:
provider.c:104
tagVARIANT
Definition:
compat.h:2378
resource.h
winbase.h
windef.h
wingdi.h
WCHAR
__wchar_t WCHAR
Definition:
xmlstorage.h:180
dll
directx
wine
dxdiagn
dxdiag_private.h
Generated on Tue Oct 15 2024 06:03:05 for ReactOS by
1.9.6