Update of /cvsroot/pywin32/pywin32/win32/src/PerfMon
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6053
Modified Files:
MappingManager.cpp perfmondata.cpp
Log Message:
perfmon side of [ 1067148 ] win32trace and perfmon fail to load on Windows NT
Index: MappingManager.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/PerfMon/MappingManager.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** MappingManager.cpp 13 Sep 2004 01:49:35 -0000 1.2
--- MappingManager.cpp 5 Mar 2005 04:50:47 -0000 1.3
***************
*** 42,46 ****
BOOL MappingManager::Init(const TCHAR *szServiceName, const TCHAR *szMappingName /* = NULL */, const TCHAR *szEventSourceName /* = NULL */)
{
! TCHAR szGlobalMapping[MAX_PATH+10];
--- 42,46 ----
BOOL MappingManager::Init(const TCHAR *szServiceName, const TCHAR *szMappingName /* = NULL */, const TCHAR *szEventSourceName /* = NULL */)
{
! TCHAR szGlobalMapping[MAX_PATH+10] = _T("");
***************
*** 50,55 ****
szEventSourceName = szServiceName;
- _tcscpy(szGlobalMapping, _T("Global\\"));
_tcscat(szGlobalMapping, szMappingName);
--- 50,61 ----
szEventSourceName = szServiceName;
+ // Use a TerminalServices friendly "Global\\" prefix if supported.
+ OSVERSIONINFO info;
+ info.dwOSVersionInfoSize = sizeof(info);
+ GetVersionEx(&info);
+ if (info.dwMajorVersion > 4)
+ // 2000 or later - "Global\\" prefix OK.
+ _tcscpy(szGlobalMapping, _T("Global\\"));
_tcscat(szGlobalMapping, szMappingName);
Index: perfmondata.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/PerfMon/perfmondata.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** perfmondata.cpp 13 Sep 2004 01:49:35 -0000 1.2
--- perfmondata.cpp 5 Mar 2005 04:50:48 -0000 1.3
***************
*** 148,155 ****
DWORD type;
TCHAR registryKeyName[MAX_PATH];
! TCHAR szFileMapping[MAX_PATH+10];
! _tcscpy(szFileMapping, _T("Global\\"));
! _tcscat(szFileMapping, szModuleName);
//
--- 148,161 ----
DWORD type;
TCHAR registryKeyName[MAX_PATH];
! TCHAR szFileMapping[MAX_PATH+10] = _T("");
! // Use a TerminalServices friendly "Global\\" prefix if supported.
! OSVERSIONINFO info;
! info.dwOSVersionInfoSize = sizeof(info);
! GetVersionEx(&info);
! if (info.dwMajorVersion > 4)
! // 2000 or later - "Global\\" prefix OK.
! _tcscpy(szFileMapping, _T("Global\\"));
! _tcscat(szFileMapping, szModuleName);
//
|