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.

118 lines
2.9 KiB

  1. // devdetpg.h : header file
  2. //
  3. #ifndef __DEVDETPG_H__
  4. #define __DEVDETPG_H__
  5. /*++
  6. Copyright (C) Microsoft Corporation
  7. Module Name:
  8. devdetpg.h
  9. Abstract:
  10. header file for devdetpg.cpp
  11. Author:
  12. Jason Cobb (JasonC) created
  13. Revision History:
  14. --*/
  15. #include "proppage.h"
  16. #include "wmium.h"
  17. #include "wdmguid.h"
  18. //
  19. // help topic ids
  20. //
  21. #define IDH_DISABLEHELP (DWORD(-1))
  22. #define NUM_DN_STATUS_FLAGS 32
  23. #define NUM_CM_DEVCAP_FLAGS 10
  24. #define NUM_CONFIGFLAGS 14
  25. #define NUM_CSCONFIGFLAGS 3
  26. #define NUM_POWERCAPABILITIES 9
  27. typedef enum tagDetailsTypes {
  28. DETAILS_DEVICEINSTANCEID = 0,
  29. DETAILS_HARDWAREIDS,
  30. DETAILS_COMPATIDS,
  31. DETAILS_MATCHINGID,
  32. DETAILS_SERVICE,
  33. DETAILS_ENUMERATOR,
  34. DETAILS_CAPABILITIES,
  35. DETAILS_DEVNODE_FLAGS,
  36. DETAILS_CONFIGFLAGS,
  37. DETAILS_CSCONFIGFLAGS,
  38. DETAILS_EJECTIONRELATIONS,
  39. DETAILS_REMOVALRELATIONS,
  40. DETAILS_BUSRELATIONS,
  41. DETAILS_DEVICEUPPERFILTERS,
  42. DETAILS_DEVICELOWERFILTERS,
  43. DETAILS_CLASSUPPERFILTERS,
  44. DETAILS_CLASSLOWERFILTERS,
  45. DETAILS_CLASSINSTALLER,
  46. DETAILS_CLASSCOINSTALLERS,
  47. DETAILS_DEVICECOINSTALLERS,
  48. DETAILS_FIRMWAREREVISION,
  49. DETAILS_CURRENTPOWERSTATE,
  50. DETAILS_POWERCAPABILITIES,
  51. DETAILS_POWERSTATEMAPPINGS,
  52. DETAILS_MAX,
  53. } DETAILSTYPES, *PDETAILSTYPES;
  54. class CDeviceDetailsPage : public CPropSheetPage
  55. {
  56. public:
  57. CDeviceDetailsPage() :
  58. m_pDevice(NULL),
  59. m_hwndDetailsList(NULL),
  60. CPropSheetPage(g_hInstance, IDD_DEVDETAILS_PAGE)
  61. {}
  62. ~CDeviceDetailsPage()
  63. {}
  64. HPROPSHEETPAGE Create(CDevice* pDevice)
  65. {
  66. ASSERT(pDevice);
  67. m_pDevice = pDevice;
  68. m_psp.lParam = (LPARAM)this;
  69. return CreatePage();
  70. }
  71. protected:
  72. virtual BOOL OnInitDialog(LPPROPSHEETPAGE ppsp);
  73. virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
  74. virtual BOOL OnNotify(LPNMHDR pnmhdr);
  75. virtual void UpdateControls(LPARAM lParam = 0);
  76. virtual BOOL OnHelp(LPHELPINFO pHelpInfo);
  77. virtual BOOL OnContextMenu(HWND hWnd, WORD xPos, WORD yPos);
  78. private:
  79. void UpdateDetailsText();
  80. void DisplayMultiSzString(DWORD Property);
  81. void DisplayString(DWORD Property);
  82. void DisplayDevnodeFlags(DWORD StatusType);
  83. void DisplayRelations(DWORD RelationType);
  84. void DisplayMatchingId();
  85. void DisplayClassInstaller();
  86. void DisplayClassCoInstallers();
  87. void DisplayDeviceCoInstallers();
  88. void DisplayFirmwareRevision();
  89. void DisplayCurrentPowerState();
  90. void DisplayPowerStateMappings();
  91. void DisplayClassFilters(DWORD ClassFilter);
  92. void CopyToClipboard();
  93. CDevice* m_pDevice;
  94. HWND m_hwndDetailsList;
  95. };
  96. #endif // _DEVDETPG_H__