sync the header with wine 0.9.2 part 2 of 4
Modified: trunk/reactos/lib/dxdiagn/dxdiag_private.h
_____
Modified: trunk/reactos/lib/dxdiagn/dxdiag_private.h
--- trunk/reactos/lib/dxdiagn/dxdiag_private.h 2005-12-11 15:18:39 UTC
(rev 20065)
+++ trunk/reactos/lib/dxdiagn/dxdiag_private.h 2005-12-11 16:46:40 UTC
(rev 20066)
@@ -41,23 +41,12 @@
/* ---------------- */
/***********************************************************************
******
- * Predeclare the interface implementation structures
- */
-extern IDxDiagProviderVtbl DxDiagProvider_Vtbl;
-
-/**********************************************************************
*******
* IDxDiagProvider implementation structure
*/
-typedef struct Contain_Property
-{
- WCHAR *pwszPropName;
- VARIANT pvarProp;
-} Contain_Property;
-
struct IDxDiagProviderImpl {
/* IUnknown fields */
- IDxDiagProviderVtbl *lpVtbl;
- DWORD ref;
+ const IDxDiagProviderVtbl *lpVtbl;
+ LONG ref;
/* IDxDiagProvider fields */
BOOL init;
DXDIAG_INIT_PARAMS params;
@@ -83,37 +72,34 @@
struct IDxDiagContainerImpl_SubContainer* next;
} IDxDiagContainerImpl_SubContainer;
-/**********************************************************************
*******
- * Predeclare the interface implementation structures
- */
-extern IDxDiagContainerVtbl DxDiagContainer_Vtbl;
+typedef struct IDxDiagContainerImpl_Property {
+ LPWSTR vName;
+ VARIANT v;
+ struct IDxDiagContainerImpl_Property* next;
+} IDxDiagContainerImpl_Property;
+
/***********************************************************************
******
* IDxDiagContainer implementation structure
*/
struct IDxDiagContainerImpl {
/* IUnknown fields */
- IDxDiagContainerVtbl *lpVtbl;
- DWORD ref;
+ const IDxDiagContainerVtbl *lpVtbl;
+ LONG ref;
/* IDxDiagContainer fields */
+ IDxDiagContainerImpl_Property* properties;
IDxDiagContainerImpl_SubContainer* subContainers;
+ DWORD nProperties;
DWORD nSubContainers;
- Contain_Property* pProperty;
- DWORD nSubpProperty;
};
/* IUnknown: */
extern HRESULT WINAPI
IDxDiagContainerImpl_QueryInterface(PDXDIAGCONTAINER iface, REFIID riid,
LPVOID *ppobj);
extern ULONG WINAPI IDxDiagContainerImpl_AddRef(PDXDIAGCONTAINER
iface);
-extern ULONG WINAPI IDxDiagContainerImpl_Release(PDXDIAGCONTAINER
iface);
-/* IDxDiagContainer: */
-extern HRESULT WINAPI
IDxDiagContainerImpl_GetNumberOfChildContainers(PDXDIAGCONTAINER iface,
DWORD* pdwCount);
-extern HRESULT WINAPI
IDxDiagContainerImpl_EnumChildContainerNames(PDXDIAGCONTAINER iface,
DWORD dwIndex, LPWSTR pwszContainer, DWORD cchContainer);
-extern HRESULT WINAPI
IDxDiagContainerImpl_GetChildContainer(PDXDIAGCONTAINER iface, LPCWSTR
pwszContainer, IDxDiagContainer** ppInstance);
-extern HRESULT WINAPI
IDxDiagContainerImpl_GetNumberOfProps(PDXDIAGCONTAINER iface, DWORD*
pdwCount);
-extern HRESULT WINAPI
IDxDiagContainerImpl_EnumPropNames(PDXDIAGCONTAINER iface, DWORD
dwIndex, LPWSTR pwszPropName, DWORD cchPropName);
-extern HRESULT WINAPI IDxDiagContainerImpl_GetProp(PDXDIAGCONTAINER
iface, LPCWSTR pwszPropName, VARIANT* pvarProp);
+/** Internal */
+extern HRESULT WINAPI IDxDiagContainerImpl_AddProp(PDXDIAGCONTAINER
iface, LPCWSTR pwszPropName, VARIANT* pVarProp);
+extern HRESULT WINAPI
IDxDiagContainerImpl_AddChildContainer(PDXDIAGCONTAINER iface, LPCWSTR
pszContName, PDXDIAGCONTAINER pSubCont);
/**
* factories
@@ -122,7 +108,13 @@
/** internal factory */
extern HRESULT DXDiag_CreateDXDiagContainer(REFIID riid, LPVOID
*ppobj);
+extern HRESULT DXDiag_InitRootDXDiagContainer(IDxDiagContainer*
pRootCont);
+/**********************************************************************
+ * Dll lifetime tracking declaration for dxdiagn.dll
+ */
+extern LONG DXDIAGN_refCount;
+static inline void DXDIAGN_LockModule(void) { InterlockedIncrement(
&DXDIAGN_refCount ); }
+static inline void DXDIAGN_UnlockModule(void) { InterlockedDecrement(
&DXDIAGN_refCount ); }
-
#endif