Markus Weiland : dxdiagn: Implemented OS version properties for DXDiagSystemInfoContainer.
Alexandre Julliard
julliard at winehq.org
Fri May 23 05:45:38 CDT 2008
Module: wine
Branch: master
Commit: df51bbf49f6d755f6f55ff4019cc87b3827aa511
URL: http://source.winehq.org/git/wine.git/?a=commit;h=df51bbf49f6d755f6f55ff4019cc87b3827aa511
Author: Markus Weiland <kde at graph-ix.net>
Date: Fri May 23 08:55:27 2008 +0200
dxdiagn: Implemented OS version properties for DXDiagSystemInfoContainer.
---
dlls/dxdiagn/provider.c | 47 +++++++++++++++++++++++++++++------------------
1 files changed, 29 insertions(+), 18 deletions(-)
diff --git a/dlls/dxdiagn/provider.c b/dlls/dxdiagn/provider.c
index 006310a..7fc7aa5 100644
--- a/dlls/dxdiagn/provider.c
+++ b/dlls/dxdiagn/provider.c
@@ -259,7 +259,6 @@ static HRESULT DXDiag_AddFileDescContainer(IDxDiagContainer* pSubCont, const WCH
}
static HRESULT DXDiag_InitDXDiagSystemInfoContainer(IDxDiagContainer* pSubCont) {
- HRESULT hr = S_OK;
static const WCHAR dwDirectXVersionMajor[] = {'d','w','D','i','r','e','c','t','X','V','e','r','s','i','o','n','M','a','j','o','r',0};
static const WCHAR dwDirectXVersionMinor[] = {'d','w','D','i','r','e','c','t','X','V','e','r','s','i','o','n','M','i','n','o','r',0};
static const WCHAR szDirectXVersionLetter[] = {'s','z','D','i','r','e','c','t','X','V','e','r','s','i','o','n','L','e','t','t','e','r',0};
@@ -273,40 +272,52 @@ static HRESULT DXDiag_InitDXDiagSystemInfoContainer(IDxDiagContainer* pSubCont)
/*static const WCHAR szDxDiagVersion[] = {'s','z','D','x','D','i','a','g','V','e','r','s','i','o','n',0};*/
/*szWindowsDir*/
/*szWindowsDir*/
- /*"dwOSMajorVersion"*/
- /*"dwOSMinorVersion"*/
- /*"dwOSBuildNumber"*/
- /*"dwOSPlatformID"*/
+ static const WCHAR dwOSMajorVersion[] = {'d','w','O','S','M','a','j','o','r','V','e','r','s','i','o','n',0};
+ static const WCHAR dwOSMinorVersion[] = {'d','w','O','S','M','i','n','o','r','V','e','r','s','i','o','n',0};
+ static const WCHAR dwOSBuildNumber[] = {'d','w','O','S','B','u','i','l','d','N','u','m','b','e','r',0};
+ static const WCHAR dwOSPlatformID[] = {'d','w','O','S','P','l','a','t','f','o','r','m','I','D',0};
MEMORYSTATUSEX msex;
+ OSVERSIONINFOW info;
VARIANT v;
V_VT(&v) = VT_UI4; V_UI4(&v) = 9;
- hr = IDxDiagContainerImpl_AddProp(pSubCont, dwDirectXVersionMajor, &v);
- VariantClear(&v);
+ IDxDiagContainerImpl_AddProp(pSubCont, dwDirectXVersionMajor, &v);
V_VT(&v) = VT_UI4; V_UI4(&v) = 0;
- hr = IDxDiagContainerImpl_AddProp(pSubCont, dwDirectXVersionMinor, &v);
- VariantClear(&v);
+ IDxDiagContainerImpl_AddProp(pSubCont, dwDirectXVersionMinor, &v);
V_VT(&v) = VT_BSTR; V_BSTR(&v) = SysAllocString(szDirectXVersionLetter_v);
- hr = IDxDiagContainerImpl_AddProp(pSubCont, szDirectXVersionLetter, &v);
+ IDxDiagContainerImpl_AddProp(pSubCont, szDirectXVersionLetter, &v);
VariantClear(&v);
V_VT(&v) = VT_BSTR; V_BSTR(&v) = SysAllocString(szDirectXVersionEnglish_v);
- hr = IDxDiagContainerImpl_AddProp(pSubCont, szDirectXVersionEnglish, &v);
+ IDxDiagContainerImpl_AddProp(pSubCont, szDirectXVersionEnglish, &v);
VariantClear(&v);
V_VT(&v) = VT_BSTR; V_BSTR(&v) = SysAllocString(szDirectXVersionLongEnglish_v);
- hr = IDxDiagContainerImpl_AddProp(pSubCont, szDirectXVersionLongEnglish, &v);
+ IDxDiagContainerImpl_AddProp(pSubCont, szDirectXVersionLongEnglish, &v);
VariantClear(&v);
V_VT(&v) = VT_BOOL; V_BOOL(&v) = FALSE;
- hr = IDxDiagContainerImpl_AddProp(pSubCont, bDebug, &v);
- VariantClear(&v);
+ IDxDiagContainerImpl_AddProp(pSubCont, bDebug, &v);
msex.dwLength = sizeof(msex);
GlobalMemoryStatusEx( &msex );
V_VT(&v) = VT_UI8;
V_UI8(&v) = msex.ullTotalPhys;
- hr = IDxDiagContainerImpl_AddProp(pSubCont, ullPhysicalMemory, &v);
- VariantClear(&v);
-
- return hr;
+ IDxDiagContainerImpl_AddProp(pSubCont, ullPhysicalMemory, &v);
+
+ info.dwOSVersionInfoSize = sizeof(info);
+ GetVersionExW( &info );
+ V_VT(&v) = VT_UI4;
+ V_UI4(&v) = info.dwMajorVersion;
+ IDxDiagContainerImpl_AddProp(pSubCont, dwOSMajorVersion, &v);
+ V_VT(&v) = VT_UI4;
+ V_UI4(&v) = info.dwMinorVersion;
+ IDxDiagContainerImpl_AddProp(pSubCont, dwOSMinorVersion, &v);
+ V_VT(&v) = VT_UI4;
+ V_UI4(&v) = info.dwBuildNumber;
+ IDxDiagContainerImpl_AddProp(pSubCont, dwOSBuildNumber, &v);
+ V_VT(&v) = VT_UI4;
+ V_UI4(&v) = info.dwPlatformId;
+ IDxDiagContainerImpl_AddProp(pSubCont, dwOSPlatformID, &v);
+
+ return S_OK;
}
static HRESULT DXDiag_InitDXDiagSystemDevicesContainer(IDxDiagContainer* pSubCont) {
More information about the wine-cvs
mailing list