windows-nt/Source/XPSP1/NT/shell/osshell/snapins/devmgr/snapin/devdetpg.h
2020-09-26 16:20:57 +08:00

119 lines
2.8 KiB
C++

// devdetpg.h : header file
//
#ifndef __DEVDETPG_H__
#define __DEVDETPG_H__
/*++
Copyright (C) 1997-1999 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__