Leaked source code of windows server 2003
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.

131 lines
4.2 KiB

  1. /****************************************************************************
  2. *
  3. * File: dispinfo.h
  4. * Project: DxDiag (DirectX Diagnostic Tool)
  5. * Author: Mike Anderson (manders@microsoft.com)
  6. * Purpose: Gather information about the display(s) on this machine
  7. *
  8. * (C) Copyright 1998 Microsoft Corp. All rights reserved.
  9. *
  10. ****************************************************************************/
  11. #ifndef DISPINFO_H
  12. #define DISPINFO_H
  13. // DXD_IN_DD_VALUE is the name of a value stored under the registry key
  14. // HKLM\DXD_IN_DD_KEY that indicates that DxDiag is using
  15. // DirectDraw. If DxDiag starts up and this value exists, DxDiag
  16. // probably crashed in DirectDraw and DxDiag should offer to run without
  17. // using DirectDraw.
  18. #define DXD_IN_DD_KEY TEXT("Software\\Microsoft\\DirectX Diagnostic Tool")
  19. #define DXD_IN_DD_VALUE TEXT("DxDiag In DirectDraw")
  20. struct TestResult
  21. {
  22. BOOL m_bStarted; // has user tried to run test yet?
  23. BOOL m_bCancelled;
  24. LONG m_iStepThatFailed;
  25. HRESULT m_hr;
  26. TCHAR m_szDescription[300]; // description of test result
  27. TCHAR m_szDescriptionEnglish[300]; // description of test result, non-localized
  28. };
  29. struct DisplayInfo
  30. {
  31. GUID m_guid;
  32. GUID m_guidDeviceIdentifier;
  33. TCHAR m_szKeyDeviceID[200];
  34. TCHAR m_szKeyDeviceKey[200];
  35. TCHAR m_szDeviceName[100];
  36. TCHAR m_szDescription[200];
  37. TCHAR m_szManufacturer[200];
  38. TCHAR m_szChipType[200];
  39. TCHAR m_szDACType[200];
  40. TCHAR m_szRevision[100];
  41. TCHAR m_szDisplayMemory[100];
  42. TCHAR m_szDisplayMemoryEnglish[100];
  43. TCHAR m_szDisplayMode[100];
  44. TCHAR m_szDisplayModeEnglish[100];
  45. DWORD m_dwWidth;
  46. DWORD m_dwHeight;
  47. DWORD m_dwBpp;
  48. DWORD m_dwRefreshRate;
  49. TCHAR m_szMonitorName[200];
  50. TCHAR m_szMonitorKey[200];
  51. TCHAR m_szMonitorMaxRes[100];
  52. HMONITOR m_hMonitor;
  53. TCHAR m_szDriverName[200];
  54. TCHAR m_szDriverVersion[100];
  55. TCHAR m_szDriverAttributes[100];
  56. TCHAR m_szDriverLanguage[100];
  57. TCHAR m_szDriverLanguageLocal[100];
  58. TCHAR m_szDriverDate[100];
  59. TCHAR m_szDriverDateLocal[100];
  60. LONG m_cbDriver;
  61. TCHAR m_szDrv[100];
  62. TCHAR m_szDrv2[100];
  63. TCHAR m_szMiniVdd[100];
  64. TCHAR m_szMiniVddDate[100];
  65. LONG m_cbMiniVdd;
  66. TCHAR m_szVdd[100];
  67. BOOL m_bCanRenderWindow;
  68. BOOL m_bDriverBeta;
  69. BOOL m_bDriverDebug;
  70. BOOL m_bDriverSigned;
  71. BOOL m_bDriverSignedValid;
  72. DWORD m_dwDDIVersion;
  73. TCHAR m_szDDIVersion[100];
  74. DWORD m_iAdapter;
  75. TCHAR m_szDX8VendorId[50];
  76. TCHAR m_szDX8DeviceId[50];
  77. TCHAR m_szDX8SubSysId[50];
  78. TCHAR m_szDX8Revision[50];
  79. GUID m_guidDX8DeviceIdentifier;
  80. DWORD m_dwDX8WHQLLevel;
  81. BOOL m_bDX8DriverSigned;
  82. BOOL m_bDX8DriverSignedValid;
  83. TCHAR m_szDX8DeviceIdentifier[100];
  84. TCHAR m_szDX8DriverSignDate[50]; // Valid only if m_bDriverSigned is TRUE
  85. BOOL m_bNoHardware;
  86. BOOL m_bDDAccelerationEnabled;
  87. BOOL m_b3DAccelerationExists;
  88. BOOL m_b3DAccelerationEnabled;
  89. BOOL m_bAGPEnabled;
  90. BOOL m_bAGPExists;
  91. BOOL m_bAGPExistenceValid; // TRUE if m_bAGPExists can be trusted
  92. TCHAR m_szDDStatus[100];
  93. TCHAR m_szDDStatusEnglish[100];
  94. TCHAR m_szD3DStatus[100];
  95. TCHAR m_szD3DStatusEnglish[100];
  96. TCHAR m_szAGPStatus[100];
  97. TCHAR m_szAGPStatusEnglish[100];
  98. RegError* m_pRegErrorFirst;
  99. TCHAR m_szNotes[3000];
  100. TCHAR m_szNotesEnglish[3000];
  101. TestResult m_testResultDD; // This is filled in by testdd.cpp
  102. TestResult m_testResultD3D7; // This is filled in by main.cpp (testd3d.cpp)
  103. TestResult m_testResultD3D8; // This is filled in by main.cpp (testd3d8.cpp)
  104. DWORD m_dwTestToDisplayD3D;
  105. DisplayInfo* m_pDisplayInfoNext;
  106. };
  107. HRESULT GetBasicDisplayInfo(DisplayInfo** ppDisplayInfoFirst);
  108. HRESULT GetExtraDisplayInfo(DisplayInfo* pDisplayInfoFirst);
  109. HRESULT GetDDrawDisplayInfo(DisplayInfo* pDisplayInfoFirst);
  110. VOID DestroyDisplayInfo(DisplayInfo* pDisplayInfoFirst);
  111. BOOL IsDDHWAccelEnabled(VOID);
  112. BOOL IsD3DHWAccelEnabled(VOID);
  113. BOOL IsAGPEnabled(VOID);
  114. VOID DiagnoseDisplay(SysInfo* pSysInfo, DisplayInfo* pDisplayInfoFirst);
  115. #endif // DISPINFO_H