// devdetpg.h : header file // #ifndef __DEVDETPG_H__ #define __DEVDETPG_H__ /*++ Copyright (C) Microsoft Corporation Module Name: devdetpg.h Abstract: header file for devdetpg.cpp Author: Jason Cobb (JasonC) created Revision History: --*/ #include "proppage.h" #include "wmium.h" #include "wdmguid.h" // // help topic ids // #define IDH_DISABLEHELP (DWORD(-1)) #define NUM_DN_STATUS_FLAGS 32 #define NUM_CM_DEVCAP_FLAGS 10 #define NUM_CONFIGFLAGS 14 #define NUM_CSCONFIGFLAGS 3 #define NUM_POWERCAPABILITIES 9 typedef enum tagDetailsTypes { DETAILS_DEVICEINSTANCEID = 0, DETAILS_HARDWAREIDS, DETAILS_COMPATIDS, DETAILS_MATCHINGID, DETAILS_SERVICE, DETAILS_ENUMERATOR, DETAILS_CAPABILITIES, DETAILS_DEVNODE_FLAGS, DETAILS_CONFIGFLAGS, DETAILS_CSCONFIGFLAGS, DETAILS_EJECTIONRELATIONS, DETAILS_REMOVALRELATIONS, DETAILS_BUSRELATIONS, DETAILS_DEVICEUPPERFILTERS, DETAILS_DEVICELOWERFILTERS, DETAILS_CLASSUPPERFILTERS, DETAILS_CLASSLOWERFILTERS, DETAILS_CLASSINSTALLER, DETAILS_CLASSCOINSTALLERS, DETAILS_DEVICECOINSTALLERS, DETAILS_FIRMWAREREVISION, DETAILS_CURRENTPOWERSTATE, DETAILS_POWERCAPABILITIES, DETAILS_POWERSTATEMAPPINGS, DETAILS_MAX, } DETAILSTYPES, *PDETAILSTYPES; class CDeviceDetailsPage : public CPropSheetPage { public: CDeviceDetailsPage() : m_pDevice(NULL), m_hwndDetailsList(NULL), CPropSheetPage(g_hInstance, IDD_DEVDETAILS_PAGE) {} ~CDeviceDetailsPage() {} HPROPSHEETPAGE Create(CDevice* pDevice) { ASSERT(pDevice); m_pDevice = pDevice; m_psp.lParam = (LPARAM)this; return CreatePage(); } protected: virtual BOOL OnInitDialog(LPPROPSHEETPAGE ppsp); virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); virtual BOOL OnNotify(LPNMHDR pnmhdr); virtual void UpdateControls(LPARAM lParam = 0); virtual BOOL OnHelp(LPHELPINFO pHelpInfo); virtual BOOL OnContextMenu(HWND hWnd, WORD xPos, WORD yPos); private: void UpdateDetailsText(); void DisplayMultiSzString(DWORD Property); void DisplayString(DWORD Property); void DisplayDevnodeFlags(DWORD StatusType); void DisplayRelations(DWORD RelationType); void DisplayMatchingId(); void DisplayClassInstaller(); void DisplayClassCoInstallers(); void DisplayDeviceCoInstallers(); void DisplayFirmwareRevision(); void DisplayCurrentPowerState(); void DisplayPowerStateMappings(); void DisplayClassFilters(DWORD ClassFilter); void CopyToClipboard(); CDevice* m_pDevice; HWND m_hwndDetailsList; }; #endif // _DEVDETPG_H__