Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
3.8 KiB

  1. /****************************************************************************
  2. *
  3. * File: sysinfo.h
  4. * Project: DxDiag (DirectX Diagnostic Tool)
  5. * Author: Mike Anderson (manders@microsoft.com)
  6. * Purpose: Gather system information (OS, hardware, name, etc.) on this machine
  7. *
  8. * (C) Copyright 1998 Microsoft Corp. All rights reserved.
  9. *
  10. ****************************************************************************/
  11. #ifndef SYSINFO_H
  12. #define SYSINFO_H
  13. // DXD_IN_SI_VALUE is the name of a value stored under the registry key
  14. // HKLM\DXD_IN_SI_KEY that indicates that DxDiag is using
  15. // sysinfo. If DxDiag starts up and this value exists, DxDiag
  16. // probably crashed in sysinfo and DxDiag should offer to run without
  17. // using sysinfo.
  18. #define DXD_IN_SI_KEY TEXT("Software\\Microsoft\\DirectX Diagnostic Tool")
  19. #define DXD_IN_SI_VALUE TEXT("DxDiag In SystemInfo")
  20. struct SysInfo
  21. {
  22. SYSTEMTIME m_time;
  23. TCHAR m_szTimeLocal[100]; // Date/time, localized for UI
  24. TCHAR m_szTime[100]; // Date/time, dd/mm/yyyy hh:mm:ss for saved report
  25. TCHAR m_szMachine[200];
  26. DWORD m_dwMajorVersion;
  27. DWORD m_dwMinorVersion;
  28. DWORD m_dwBuildNumber;
  29. TCHAR m_szBuildLab[100];
  30. DWORD m_dwPlatformID;
  31. TCHAR m_szCSDVersion[200];
  32. TCHAR m_szDirectXVersion[100];
  33. TCHAR m_szDirectXVersionLong[100];
  34. DWORD m_dwDirectXVersionMajor;
  35. DWORD m_dwDirectXVersionMinor;
  36. TCHAR m_cDirectXVersionLetter;
  37. TCHAR m_szDxDiagVersion[100];
  38. DWORD m_dwSetupParam;
  39. TCHAR m_szSetupParam[100];
  40. BOOL m_bDebug;
  41. BOOL m_bNECPC98;
  42. TCHAR m_szOS[100]; // Formatted version of platform
  43. TCHAR m_szOSEx[100]; // Formatted version of platform, version, build num
  44. TCHAR m_szOSExLong[300]; // Formatted version of platform, version, build num, patch, lab
  45. TCHAR m_szProcessor[200];
  46. TCHAR m_szSystemManufacturerEnglish[200];
  47. TCHAR m_szSystemModelEnglish[200];
  48. TCHAR m_szBIOSEnglish[200];
  49. TCHAR m_szLanguages[200]; // Formatted version of m_szLanguage, m_szLanguageRegional
  50. TCHAR m_szLanguagesLocal[200]; // m_szLanguages, in local language
  51. DWORDLONG m_ullPhysicalMemory;
  52. TCHAR m_szPhysicalMemory[100]; // Formatted version of physical memory
  53. DWORDLONG m_ullUsedPageFile;
  54. DWORDLONG m_ullAvailPageFile;
  55. TCHAR m_szPageFile[100]; // Formatted version of pagefile
  56. TCHAR m_szPageFileEnglish[100]; // Formatted version of pagefile
  57. TCHAR m_szD3D8CacheFileSystem[MAX_PATH];
  58. BOOL m_bNetMeetingRunning;
  59. TCHAR m_szDXFileNotes[3000];
  60. TCHAR m_szMusicNotes[3000];
  61. TCHAR m_szInputNotes[3000];
  62. TCHAR m_szNetworkNotes[3000];
  63. TCHAR m_szDXFileNotesEnglish[3000];
  64. TCHAR m_szMusicNotesEnglish[3000];
  65. TCHAR m_szInputNotesEnglish[3000];
  66. TCHAR m_szNetworkNotesEnglish[3000];
  67. BOOL m_bIsD3D8DebugRuntimeAvailable;
  68. BOOL m_bIsD3DDebugRuntime;
  69. BOOL m_bIsDInput8DebugRuntimeAvailable;
  70. BOOL m_bIsDInput8DebugRuntime;
  71. BOOL m_bIsDMusicDebugRuntimeAvailable;
  72. BOOL m_bIsDMusicDebugRuntime;
  73. BOOL m_bIsDDrawDebugRuntime;
  74. BOOL m_bIsDPlayDebugRuntime;
  75. BOOL m_bIsDSoundDebugRuntime;
  76. int m_nD3DDebugLevel;
  77. int m_nDDrawDebugLevel;
  78. int m_nDIDebugLevel;
  79. int m_nDMusicDebugLevel;
  80. int m_nDPlayDebugLevel;
  81. int m_nDSoundDebugLevel;
  82. };
  83. BOOL BIsPlatformNT(VOID); // Is this a NT codebase?
  84. BOOL BIsPlatform9x(VOID); // Is this a Win9x codebase?
  85. BOOL BIsWinNT(VOID); // Is this WinNT v4 (or less)
  86. BOOL BIsWin2k(VOID); // Is this Win2k?
  87. BOOL BIsWinME(VOID); // Is this WinME?
  88. BOOL BIsWhistler(VOID); // Is this Whistler?
  89. BOOL BIsWin98(VOID); // Is this Win98?
  90. BOOL BIsWin95(VOID); // Is this Win95?
  91. BOOL BIsWin3x(VOID); // Is this Win3.x?
  92. BOOL BIsIA64(VOID); // Is this IA64?
  93. BOOL BIsDxDiag64Bit(VOID); // Is this DxDiag.exe 64bit?
  94. VOID GetSystemInfo(SysInfo* pSysInfo);
  95. VOID GetDXDebugLevel(SysInfo* pSysInfo);
  96. #endif // SYSINFO_H