//=============================================================================
// This file contains the defines useful for defining the dataset of default
// system info to be collected (primarily resource IDs).
//=============================================================================

#pragma once

enum { RESOURCE_DMA = 0, RESOURCE_IRQ, RESOURCE_IO, RESOURCE_MEM, RESOURCE_CONFLICTS, RESOURCE_FORCED };
enum { CODEC_AUDIO = 0, CODEC_VIDEO };

enum {	QUERY_CDROM = 1,
		QUERY_SERVICES,
		QUERY_PROGRAMGROUP,
		QUERY_STARTUP,
		QUERY_KEYBOARD,
		QUERY_POINTDEV,
		QUERY_MODEM,
		QUERY_NETPROT,
		QUERY_ENVVAR,
		QUERY_SOUNDDEV,
		QUERY_DISPLAY,
		QUERY_INFRARED,
		QUERY_PARALLEL,
		QUERY_PRINTER,
		QUERY_NETCONNECTION,
		QUERY_DRIVER,
		QUERY_SIGNEDDRIVER,
		QUERY_IDE,
		QUERY_SCSI,
		QUERY_PRINTJOBS,
		QUERY_NETADAPTER,
		QUERY_SERIALPORT };

extern HRESULT SystemSummary(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT ResourceCategories(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT CODECs(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT SimpleQuery(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT ComponentDrives(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT Winsock(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT Disks(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT ProblemDevices(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT RunningTasks(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT LoadedModules(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT OLERegistration(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT ComponentsUSB(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);
extern HRESULT WindowsErrorReporting(CWMIHelper * pWMI, DWORD dwIndex, volatile BOOL * pfCancel, CPtrList * aColValues, int iColCount, void ** ppCache);

#define FIRST_COLUMN_CAPTION_ID		400

#define IDS_VALUE					FIRST_COLUMN_CAPTION_ID + 0
#define IDS_ITEM					FIRST_COLUMN_CAPTION_ID + 1
#define IDS_CREATIONDATE			FIRST_COLUMN_CAPTION_ID + 2
#define IDS_SIZE					FIRST_COLUMN_CAPTION_ID + 3
#define IDS_VERSION					FIRST_COLUMN_CAPTION_ID + 4
#define IDS_FILE					FIRST_COLUMN_CAPTION_ID + 5
#define IDS_STATUS					FIRST_COLUMN_CAPTION_ID + 6
#define IDS_DESCRIPTION				FIRST_COLUMN_CAPTION_ID + 7
#define IDS_MANUFACTURER			FIRST_COLUMN_CAPTION_ID + 8
#define IDS_CODEC					FIRST_COLUMN_CAPTION_ID + 9
#define IDS_DEVICE					FIRST_COLUMN_CAPTION_ID + 10
#define IDS_RESOURCE				FIRST_COLUMN_CAPTION_ID + 12
#define IDS_DISPLAYNAME				FIRST_COLUMN_CAPTION_ID + 13
#define IDS_NAME					FIRST_COLUMN_CAPTION_ID + 14
#define IDS_STATE					FIRST_COLUMN_CAPTION_ID + 15
#define IDS_STARTMODE				FIRST_COLUMN_CAPTION_ID + 16
#define IDS_SERVICETYPE				FIRST_COLUMN_CAPTION_ID + 17
#define IDS_PATH					FIRST_COLUMN_CAPTION_ID + 18
#define IDS_ERRORCONTROL			FIRST_COLUMN_CAPTION_ID + 19
#define IDS_STARTNAME				FIRST_COLUMN_CAPTION_ID + 20
#define IDS_TAGID					FIRST_COLUMN_CAPTION_ID + 21
#define IDS_IRQCHANNEL				FIRST_COLUMN_CAPTION_ID + 22
#define IDS_IOPORT					FIRST_COLUMN_CAPTION_ID + 23
#define IDS_DMACHANNEL				FIRST_COLUMN_CAPTION_ID + 24
#define IDS_MEMORYADDRESS			FIRST_COLUMN_CAPTION_ID + 25
#define IDS_GROUPNAME				FIRST_COLUMN_CAPTION_ID + 26
#define IDS_USERNAME				FIRST_COLUMN_CAPTION_ID + 27
#define IDS_PROGRAM					FIRST_COLUMN_CAPTION_ID + 28
#define IDS_COMMAND					FIRST_COLUMN_CAPTION_ID + 29
#define IDS_LOCATION				FIRST_COLUMN_CAPTION_ID + 30
#define IDS_PNPDEVICEID				FIRST_COLUMN_CAPTION_ID + 31
#define IDS_YES						FIRST_COLUMN_CAPTION_ID + 32
#define IDS_NO						FIRST_COLUMN_CAPTION_ID + 33
#define IDS_VARIABLE				FIRST_COLUMN_CAPTION_ID + 34
#define IDS_PORTNAME				FIRST_COLUMN_CAPTION_ID + 35
#define IDS_SERVERNAME				FIRST_COLUMN_CAPTION_ID + 36
#define IDS_LOCALNAME				FIRST_COLUMN_CAPTION_ID + 37
#define IDS_REMOTENAME				FIRST_COLUMN_CAPTION_ID + 38
#define IDS_TYPE					FIRST_COLUMN_CAPTION_ID + 39
#define IDS_STARTED					FIRST_COLUMN_CAPTION_ID + 40
#define IDS_ACCEPTPAUSE				FIRST_COLUMN_CAPTION_ID + 41
#define IDS_ACCEPTSTOP				FIRST_COLUMN_CAPTION_ID + 42
#define IDS_DRIVER					FIRST_COLUMN_CAPTION_ID + 43
#define IDS_ERRORCODE				FIRST_COLUMN_CAPTION_ID + 44
#define IDS_DOCUMENT				FIRST_COLUMN_CAPTION_ID + 45
#define IDS_OWNER					FIRST_COLUMN_CAPTION_ID + 46
#define IDS_NOTIFY					FIRST_COLUMN_CAPTION_ID + 47
#define IDS_TIMESUBMITTED			FIRST_COLUMN_CAPTION_ID + 49
#define IDS_STARTTIME				FIRST_COLUMN_CAPTION_ID + 50
#define IDS_UNTILTIME				FIRST_COLUMN_CAPTION_ID + 51
#define IDS_ELAPSEDTIME				FIRST_COLUMN_CAPTION_ID + 52
#define IDS_PAGESPRINTED			FIRST_COLUMN_CAPTION_ID + 53
#define IDS_JOBID					FIRST_COLUMN_CAPTION_ID + 54
#define IDS_PRIORITY				FIRST_COLUMN_CAPTION_ID + 55
#define IDS_PARAMETERS				FIRST_COLUMN_CAPTION_ID + 56
#define IDS_PRINTPROCESSOR			FIRST_COLUMN_CAPTION_ID + 57
#define IDS_HOSTPRINTQUEUE			FIRST_COLUMN_CAPTION_ID + 58
#define IDS_DATATYPE				FIRST_COLUMN_CAPTION_ID + 59
#define IDS_PROCESSID				FIRST_COLUMN_CAPTION_ID + 60
#define IDS_MINWORKINGSET			FIRST_COLUMN_CAPTION_ID + 61
#define IDS_MAXWORKINGSET			FIRST_COLUMN_CAPTION_ID + 62
#define IDS_FILEDATE				FIRST_COLUMN_CAPTION_ID + 63
#define IDS_OBJECT					FIRST_COLUMN_CAPTION_ID + 64
#define IDS_LOCALSERVER				FIRST_COLUMN_CAPTION_ID + 65
#define IDS_RESOURCETYPE			FIRST_COLUMN_CAPTION_ID + 66
#define IDS_DEVICETYPE				FIRST_COLUMN_CAPTION_ID + 67
#define IDS_TIME					FIRST_COLUMN_CAPTION_ID + 68
#define IDS_CHANGE					FIRST_COLUMN_CAPTION_ID + 69
#define IDS_DETAILS					FIRST_COLUMN_CAPTION_ID + 70

#define FIRST_QUERY_CAPTION_ID		475

#define IDS_SYSSUMM1				FIRST_QUERY_CAPTION_ID + 1
#define IDS_SYSSUMM2				FIRST_QUERY_CAPTION_ID + 2
#define IDS_SYSSUMM3				FIRST_QUERY_CAPTION_ID + 3
#define IDS_SYSSUMM4				FIRST_QUERY_CAPTION_ID + 4
#define IDS_SYSSUMM5				FIRST_QUERY_CAPTION_ID + 5
#define IDS_SYSSUMM6				FIRST_QUERY_CAPTION_ID + 6
#define IDS_SYSSUMM7				FIRST_QUERY_CAPTION_ID + 7
#define IDS_SYSSUMM8				FIRST_QUERY_CAPTION_ID + 8
#define IDS_SYSSUMM9				FIRST_QUERY_CAPTION_ID + 9
#define IDS_SYSSUMM10				FIRST_QUERY_CAPTION_ID + 10
#define IDS_SYSSUMM11				FIRST_QUERY_CAPTION_ID + 11
#define IDS_SYSSUMM12				FIRST_QUERY_CAPTION_ID + 12
#define IDS_SYSSUMM13				FIRST_QUERY_CAPTION_ID + 13

#define FIRST_CAT_CAPTION_ID		500

#define IDS_SYSTEMSUMMARY0					FIRST_CAT_CAPTION_ID + 0
#define IDS_RESOURCES0						FIRST_CAT_CAPTION_ID + 1
#define IDS_RESOURCESCONFLICTS0				FIRST_CAT_CAPTION_ID + 2
#define IDS_RESOURCESDMA0					FIRST_CAT_CAPTION_ID + 3
#define IDS_RESOURCESFORCEDHARDWARE0		FIRST_CAT_CAPTION_ID + 4
#define IDS_RESOURCESIO0					FIRST_CAT_CAPTION_ID + 5
#define IDS_RESOURCESIRQS0					FIRST_CAT_CAPTION_ID + 6
#define IDS_RESOURCESMEMORY0				FIRST_CAT_CAPTION_ID + 7
#define IDS_COMPONENTS0						FIRST_CAT_CAPTION_ID + 8
#define IDS_COMPONENTSMULTIMEDIA0			FIRST_CAT_CAPTION_ID + 9
#define IDS_COMPONENTSMULTIMEDIAAUDIO0		FIRST_CAT_CAPTION_ID + 10
#define IDS_COMPONENTSMULTIMEDIAVIDEO0		FIRST_CAT_CAPTION_ID + 11
#define IDS_COMPONENTSMULTIMEDIACDROM0		FIRST_CAT_CAPTION_ID + 12
#define IDS_COMPONENTSMULTIMEDIASOUND0		FIRST_CAT_CAPTION_ID + 13
#define IDS_COMPONENTSDISPLAY0				FIRST_CAT_CAPTION_ID + 14
#define IDS_COMPONENTSINFRARED0				FIRST_CAT_CAPTION_ID + 15
#define IDS_COMPONENTSINPUT0				FIRST_CAT_CAPTION_ID + 16
#define IDS_COMPONENTSKEYBOARD0				FIRST_CAT_CAPTION_ID + 17
#define IDS_COMPONENTSPOINTDEV0				FIRST_CAT_CAPTION_ID + 18
#define IDS_COMPONENTSMODEM0				FIRST_CAT_CAPTION_ID + 19
#define IDS_COMPONENTSNETWORK0				FIRST_CAT_CAPTION_ID + 20
#define IDS_COMPONENTSNETADAPTER0			FIRST_CAT_CAPTION_ID + 21
#define IDS_COMPONENTSNETWORKPROTOCOL0		FIRST_CAT_CAPTION_ID + 22
#define IDS_COMPONENTSNETWORKWINSOCK0		FIRST_CAT_CAPTION_ID + 23
#define IDS_COMPONENTSPORTS0				FIRST_CAT_CAPTION_ID + 24
#define IDS_COMPONENTSSERIALPORTS0			FIRST_CAT_CAPTION_ID + 25
#define IDS_COMPONENTSPARALLELPORTS0		FIRST_CAT_CAPTION_ID + 26
#define IDS_COMPONENTSSTORAGE0				FIRST_CAT_CAPTION_ID + 27
#define IDS_COMPONENTSSTORAGEDRIVES0		FIRST_CAT_CAPTION_ID + 28
#define IDS_COMPONENTSSTORAGESCSI0			FIRST_CAT_CAPTION_ID + 29
#define IDS_COMPONENTSPRINTING0				FIRST_CAT_CAPTION_ID + 30
#define IDS_COMPONENTSPROBLEMDEVICES0		FIRST_CAT_CAPTION_ID + 31
#define IDS_COMPONENTSUSB0					FIRST_CAT_CAPTION_ID + 32
#define IDS_SWENV0							FIRST_CAT_CAPTION_ID + 33
#define IDS_SWENVDRIVERS0					FIRST_CAT_CAPTION_ID + 34
#define IDS_SWENVENVVARS0					FIRST_CAT_CAPTION_ID + 35
#define IDS_SWENVJOBS0						FIRST_CAT_CAPTION_ID + 36
#define IDS_SWENVPRINT0						FIRST_CAT_CAPTION_ID + 37
#define IDS_SWENVNETCONN0					FIRST_CAT_CAPTION_ID + 38
#define IDS_SWENVRUNNINGTASKS0				FIRST_CAT_CAPTION_ID + 39
#define IDS_SWENVLOADEDMODULES0				FIRST_CAT_CAPTION_ID + 40
#define IDS_SWENVSERVICES0					FIRST_CAT_CAPTION_ID + 41
#define IDS_SWENVPROGRAMGROUP0				FIRST_CAT_CAPTION_ID + 42
#define IDS_SWENVSTARTUPPROGRAMS0			FIRST_CAT_CAPTION_ID + 43
#define IDS_SWENVOLEREG0					FIRST_CAT_CAPTION_ID + 44
#define IDS_COMPONENTSSTORAGEIDE0			FIRST_CAT_CAPTION_ID + 45
#define IDS_COMPONENTSSTORAGEDISKS0			FIRST_CAT_CAPTION_ID + 46
#define IDS_SWENVSIGNEDDRIVERS0				FIRST_CAT_CAPTION_ID + 47
#define IDS_SWWINERR0						FIRST_CAT_CAPTION_ID + 48
#define IDS_SYSTEMSUMMARYMACHINENAME				FIRST_CAT_CAPTION_ID + 49

#define FIRST_QUERY_ID						550

#define IDS_CDROMCOLUMNS					FIRST_QUERY_ID + 0
#define IDS_SERVICES1						FIRST_QUERY_ID + 1
#define IDS_PROGRAMGROUP1					FIRST_QUERY_ID + 2
#define IDS_STARTUP1						FIRST_QUERY_ID + 3
#define IDS_KEYBOARD1						FIRST_QUERY_ID + 4
#define IDS_POINTDEV1						FIRST_QUERY_ID + 5
#define IDS_MODEM1							FIRST_QUERY_ID + 6
#define IDS_NETPROT1						FIRST_QUERY_ID + 7
#define IDS_ENVVAR1							FIRST_QUERY_ID + 8
#define IDS_SOUNDDEV1						FIRST_QUERY_ID + 9
#define IDS_DISPLAY1						FIRST_QUERY_ID + 10
#define IDS_INFRARED1						FIRST_QUERY_ID + 11
#define IDS_PARALLEL1						FIRST_QUERY_ID + 12
#define IDS_PRINTER1						FIRST_QUERY_ID + 13
#define IDS_NETCONNECTION1					FIRST_QUERY_ID + 14
#define IDS_DRIVER1							FIRST_QUERY_ID + 15
#define IDS_IDE1							FIRST_QUERY_ID + 16
#define IDS_SCSI1							FIRST_QUERY_ID + 17
#define IDS_PRINTJOBS1						FIRST_QUERY_ID + 18
#define IDS_OLE1							FIRST_QUERY_ID + 19
#define IDS_DISKS1							FIRST_QUERY_ID + 20
#define IDS_NETWORKADAPTER1					FIRST_QUERY_ID + 21
#define IDS_NETWORKADAPTER2					FIRST_QUERY_ID + 22
#define IDS_SERIALPORT1						FIRST_QUERY_ID + 23
#define IDS_SERIALPORT2						FIRST_QUERY_ID + 24
#define IDS_DRIVESTYPE2						FIRST_QUERY_ID + 25
#define IDS_DRIVESTYPE3						FIRST_QUERY_ID + 26
#define IDS_DRIVESTYPE4						FIRST_QUERY_ID + 27
#define IDS_WINSOCK1						FIRST_QUERY_ID + 28
#define IDS_DISKS2							FIRST_QUERY_ID + 30
#define IDS_PROBLEMDEVICE1					FIRST_QUERY_ID + 31
#define IDS_LOADEDMODULE1					FIRST_QUERY_ID + 32
#define IDS_OLEREG1							FIRST_QUERY_ID + 33
#define IDS_USB1							FIRST_QUERY_ID + 34
#define IDS_CODEC1							FIRST_QUERY_ID + 35
#define IDS_SIGNEDDRIVER1					FIRST_QUERY_ID + 36

#define IDS_DEVICENAME						FIRST_QUERY_ID + 37
#define IDS_SIGNED							FIRST_QUERY_ID + 38
#define IDS_DEVICECLASS						FIRST_QUERY_ID + 39
#define IDS_DRIVERVERSION					FIRST_QUERY_ID + 40
#define IDS_DRIVERDATE						FIRST_QUERY_ID + 41
#define IDS_INFNAME							FIRST_QUERY_ID + 42
#define IDS_DRIVERNAME						FIRST_QUERY_ID + 43
#define IDS_DEVICEID						FIRST_QUERY_ID + 44

#define IDS_SWWINERR1						FIRST_QUERY_ID + 45
