// ********************************************************************************* // // Copyright (c) Microsoft Corporation // // Module Name: // // SystemInfo.h // // Abstract: // // macros and function prototypes of SystemInfo.cpp // // Author: // // Sunil G.V.N. Murali (murali.sunil@wipro.com) 22-Dec-2000 // // Revision History: // // Sunil G.V.N. Murali (murali.sunil@wipro.com) 22-Dec-2000 : Created It. // // ********************************************************************************* #ifndef __SYSTEMINFO_H #define __SYSTEMINFO_H // resource header file #include "resource.h" // // NOTE: THIS MODULE WILL WRITTEN IN SUCH A FASHION THAT IT WORKS ONLY // IN UNICODE BUILD COMPILATION // #ifndef UNICODE #error Must compile only in unicode build environment #endif // // general purpose macros // #define EXIT_PROCESS( exitcode ) \ ReleaseGlobals(); \ return exitcode; \ 1 /*#define RELEASE_MEMORY( block ) \ if ( (block) != NULL ) \ { \ delete (block); \ (block) = NULL; \ } \ 1 #define RELEASE_MEMORY_EX( block ) \ if ( (block) != NULL ) \ { \ delete [] (block); \ (block) = NULL; \ } \ 1 */ #define DESTROY_ARRAY( array ) \ if ( (array) != NULL ) \ { \ DestroyDynamicArray( &(array) ); \ (array) = NULL; \ } \ 1 // // constants / defines / enumerations // // registry path #define LOCALE_PATH L"MIME\\Database\\Rfc1766" // messages #define ERROR_USERNAME_BUT_NOMACHINE GetResString( IDS_ERROR_USERNAME_BUT_NOMACHINE ) #define ERROR_PASSWORD_BUT_NOUSERNAME GetResString( IDS_ERROR_PASSWORD_BUT_NOUSERNAME ) #define ERROR_USERNAME_EMPTY GetResString( IDS_ERROR_USERNAME_EMPTY ) #define ERROR_NH_NOTSUPPORTED GetResString( IDS_ERROR_NH_NOTSUPPORTED ) #define ERROR_SERVERNAME_EMPTY GetResString( IDS_ERROR_SERVERNAME_EMPTY ) #define ERROR_INVALID_USAGE_REQUEST GetResString( IDS_ERROR_INVALID_USAGE_REQUEST ) // output formats #define TEXT_FORMAT_LIST GetResString( IDS_TEXT_FORMAT_LIST ) #define TEXT_FORMAT_TABLE GetResString( IDS_TEXT_FORMAT_TABLE ) #define TEXT_FORMAT_CSV GetResString( IDS_TEXT_FORMAT_CSV ) // // WMI related stuff // Win32_OperatingSystem class information #define WIN32_OPERATINGSYSTEM L"Win32_OperatingSystem" #define WIN32_OPERATINGSYSTEM_P_CAPTION L"Caption" #define WIN32_OPERATINGSYSTEM_P_CSNAME L"CSName" #define WIN32_OPERATINGSYSTEM_P_VERSION L"Version" #define WIN32_OPERATINGSYSTEM_P_CSDVERSION L"CSDVersion" #define WIN32_OPERATINGSYSTEM_P_BUILDNUMBER L"BuildNumber" #define WIN32_OPERATINGSYSTEM_P_MANUFACTURER L"Manufacturer" #define WIN32_OPERATINGSYSTEM_P_BUILDTYPE L"BuildType" #define WIN32_OPERATINGSYSTEM_P_REGUSER L"RegisteredUser" #define WIN32_OPERATINGSYSTEM_P_ORGANIZATION L"Organization" #define WIN32_OPERATINGSYSTEM_P_SERIALNUMBER L"SerialNumber" #define WIN32_OPERATINGSYSTEM_P_INSTALLDATE L"InstallDate" #define WIN32_OPERATINGSYSTEM_P_WINDOWSDIR L"WindowsDirectory" #define WIN32_OPERATINGSYSTEM_P_SYSTEMDIR L"SystemDirectory" #define WIN32_OPERATINGSYSTEM_P_BOOTDEVICE L"BootDevice" #define WIN32_OPERATINGSYSTEM_P_LOCALE L"Locale" #define WIN32_OPERATINGSYSTEM_P_FREEPHYSICALMEMORY L"FreePhysicalMemory" #define WIN32_OPERATINGSYSTEM_P_TOTALVIRTUALMEMORY L"TotalVirtualMemorySize" #define WIN32_OPERATINGSYSTEM_P_FREEVIRTUALMEMORY L"FreeVirtualMemory" // Win32_ComputerSystem class information #define WIN32_COMPUTERSYSTEM L"Win32_ComputerSystem" #define WIN32_COMPUTERSYSTEM_P_MODEL L"Model" #define WIN32_COMPUTERSYSTEM_P_SYSTEMTYPE L"SystemType" #define WIN32_COMPUTERSYSTEM_P_TOTALPHYSICALMEMORY L"TotalPhysicalMemory" #define WIN32_COMPUTERSYSTEM_P_MANUFACTURER L"Manufacturer" #define WIN32_COMPUTERSYSTEM_P_DOMAIN L"Domain" #define WIN32_COMPUTERSYSTEM_P_DOMAINROLE L"DomainRole" #define WIN32_COMPUTERSYSTEM_P_USERNAME L"UserName" // Win32_BIOS #define WIN32_BIOS L"Win32_BIOS" #define WIN32_BIOS_P_VERSION L"Version" // Win32_TimeZone #define WIN32_TIMEZONE L"Win32_TimeZone" #define WIN32_TIMEZONE_P_CAPTION L"Caption" // Win32_PageFile #define WIN32_PAGEFILE L"Win32_PageFileSetting" #define WIN32_PAGEFILE_P_NAME L"Name" // Win32_Processor #define WIN32_PROCESSOR L"Win32_Processor" #define WIN32_PROCESSOR_P_CAPTION L"Caption" #define WIN32_PROCESSOR_P_MANUFACTURER L"Manufacturer" #define WIN32_PROCESSOR_P_CURRENTCLOCKSPEED L"CurrentClockSpeed" #define WIN32_PROCESSOR_P_MAXCLOCKSPEED L"MaxClockSpeed" // Win32_PerfRawData_PerfOS_System #define WIN32_PERFRAWDATA_PERFOS_SYSTEM L"Win32_PerfRawData_PerfOS_System" #define WIN32_PERFRAWDATA_PERFOS_SYSTEM_P_SYSUPTIME L"SystemUpTime" #define WIN32_PERFRAWDATA_PERFOS_SYSTEM_P_TIMESTAMP L"Timestamp_Object" #define WIN32_PERFRAWDATA_PERFOS_SYSTEM_P_FREQUENCY L"Frequency_Object" // Win32_Keyboard #define WIN32_KEYBOARD L"Win32_Keyboard" #define WIN32_KEYBOARD_P_LAYOUT L"Layout" // Win32_QuickFixEngineering #define WIN32_QUICKFIXENGINEERING L"Win32_QuickFixEngineering" #define WIN32_QUICKFIXENGINEERING_P_HOTFIXID L"HotFixID" #define WIN32_QUICKFIXENGINEERING_P_FIXCOMMENTS L"FixComments" // Win32_NetworkAdapter #define WIN32_NETWORKADAPTER L"Win32_NetworkAdapter" #define WIN32_NETWORKADAPTER_P_INDEX L"Index" #define WIN32_NETWORKADAPTER_P_NETCONNECTIONID L"NetConnectionID" #define WIN32_NETWORKADAPTER_P_DESCRIPTION L"Description" #define WIN32_NETWORKADAPTER_P_STATUS L"NetConnectionStatus" // Win32_NetworkAdapterConfiguration #define WIN32_NETWORKADAPTERCONFIGURATION_GET L"Win32_NetworkAdapterConfiguration.Index=%d" #define WIN32_NETWORKADAPTERCONFIGURATION_P_IPADDRESS L"IPAddress" #define WIN32_NETWORKADAPTERCONFIGURATION_P_DHCPENABLED L"DHCPEnabled" #define WIN32_NETWORKADAPTERCONFIGURATION_P_DHCPSERVER L"DHCPServer" // // registry specific // registry paths #define SUBKEY_VOLATILE_ENVIRONMENT L"Volatile Environment" #define KEY_LOGONSERVER L"LOGONSERVER" // // column heading names and their indexes in the array ( in fact positions ) #define MAX_COLUMNS 32 // column headings #define COLHEAD_HOSTNAME GetResString( IDS_COLHEAD_HOSTNAME ) #define COLHEAD_OS_NAME GetResString( IDS_COLHEAD_OS_NAME ) #define COLHEAD_OS_VERSION GetResString( IDS_COLHEAD_OS_VERSION ) #define COLHEAD_OS_MANUFACTURER GetResString( IDS_COLHEAD_OS_MANUFACTURER ) #define COLHEAD_OS_CONFIG GetResString( IDS_COLHEAD_OS_CONFIG ) #define COLHEAD_OS_BUILDTYPE GetResString( IDS_COLHEAD_OS_BUILDTYPE ) #define COLHEAD_REG_OWNER GetResString( IDS_COLHEAD_REG_OWNER ) #define COLHEAD_REG_ORG GetResString( IDS_COLHEAD_REG_ORG ) #define COLHEAD_PRODUCT_ID GetResString( IDS_COLHEAD_PRODUCT_ID ) #define COLHEAD_INSTALL_DATE GetResString( IDS_COLHEAD_INSTALL_DATE ) #define COLHEAD_SYSTEM_UPTIME GetResString( IDS_COLHEAD_SYSTEM_UPTIME ) #define COLHEAD_SYSTEM_MANUFACTURER GetResString( IDS_COLHEAD_SYSTEM_MANUFACTURER ) #define COLHEAD_SYSTEM_MODEL GetResString( IDS_COLHEAD_SYSTEM_MODEL ) #define COLHEAD_SYSTEM_TYPE GetResString( IDS_COLHEAD_SYSTEM_TYPE ) #define COLHEAD_PROCESSOR GetResString( IDS_COLHEAD_PROCESSOR ) #define COLHEAD_BIOS_VERSION GetResString( IDS_COLHEAD_BIOS_VERSION ) #define COLHEAD_WINDOWS_DIRECTORY GetResString( IDS_COLHEAD_WINDOWS_DIRECTORY ) #define COLHEAD_SYSTEM_DIRECTORY GetResString( IDS_COLHEAD_SYSTEM_DIRECTORY ) #define COLHEAD_BOOT_DEVICE GetResString( IDS_COLHEAD_BOOT_DEVICE ) #define COLHEAD_SYSTEM_LOCALE GetResString( IDS_COLHEAD_SYSTEM_LOCALE ) #define COLHEAD_INPUT_LOCALE GetResString( IDS_COLHEAD_INPUT_LOCALE ) #define COLHEAD_TIME_ZONE GetResString( IDS_COLHEAD_TIME_ZONE ) #define COLHEAD_TOTAL_PHYSICAL_MEMORY GetResString( IDS_COLHEAD_TOTAL_PHYSICAL_MEMORY ) #define COLHEAD_AVAILABLE_PHYSICAL_MEMORY GetResString( IDS_COLHEAD_AVAILABLE_PHYSICAL_MEMORY ) #define COLHEAD_VIRTUAL_MEMORY_MAX GetResString( IDS_COLHEAD_VIRTUAL_MEMORY_MAX ) #define COLHEAD_VIRTUAL_MEMORY_AVAILABLE GetResString( IDS_COLHEAD_VIRTUAL_MEMORY_AVAILABLE ) #define COLHEAD_VIRTUAL_MEMORY_INUSE GetResString( IDS_COLHEAD_VIRTUAL_MEMORY_INUSE ) #define COLHEAD_PAGEFILE_LOCATION GetResString( IDS_COLHEAD_PAGEFILE_LOCATION ) #define COLHEAD_DOMAIN GetResString( IDS_COLHEAD_DOMAIN ) #define COLHEAD_LOGON_SERVER GetResString( IDS_COLHEAD_LOGON_SERVER ) #define COLHEAD_HOTFIX GetResString( IDS_COLHEAD_HOTFIX ) #define COLHEAD_NETWORK_CARD GetResString( IDS_COLHEAD_NETWORK_CARD ) // colwidths #define COLWIDTH_HOSTNAME AsLong( GetResString( IDS_COLWIDTH_HOSTNAME ), 10 ) #define COLWIDTH_OS_NAME AsLong( GetResString( IDS_COLWIDTH_OS_NAME ), 10 ) #define COLWIDTH_OS_VERSION AsLong( GetResString( IDS_COLWIDTH_OS_VERSION ), 10 ) #define COLWIDTH_OS_MANUFACTURER AsLong( GetResString( IDS_COLWIDTH_OS_MANUFACTURER ), 10 ) #define COLWIDTH_OS_CONFIG AsLong( GetResString( IDS_COLWIDTH_OS_CONFIG ), 10 ) #define COLWIDTH_OS_BUILDTYPE AsLong( GetResString( IDS_COLWIDTH_OS_BUILDTYPE ), 10 ) #define COLWIDTH_REG_OWNER AsLong( GetResString( IDS_COLWIDTH_REG_OWNER ), 10 ) #define COLWIDTH_REG_ORG AsLong( GetResString( IDS_COLWIDTH_REG_ORG ), 10 ) #define COLWIDTH_PRODUCT_ID AsLong( GetResString( IDS_COLWIDTH_PRODUCT_ID ), 10 ) #define COLWIDTH_INSTALL_DATE AsLong( GetResString( IDS_COLWIDTH_INSTALL_DATE ), 10 ) #define COLWIDTH_SYSTEM_UPTIME AsLong( GetResString( IDS_COLWIDTH_SYSTEM_UPTIME ), 10 ) #define COLWIDTH_SYSTEM_MANUFACTURER AsLong( GetResString( IDS_COLWIDTH_SYSTEM_MANUFACTURER ), 10 ) #define COLWIDTH_SYSTEM_MODEL AsLong( GetResString( IDS_COLWIDTH_SYSTEM_MODEL ), 10 ) #define COLWIDTH_SYSTEM_TYPE AsLong( GetResString( IDS_COLWIDTH_SYSTEM_TYPE ), 10 ) #define COLWIDTH_PROCESSOR AsLong( GetResString( IDS_COLWIDTH_PROCESSOR ), 10 ) #define COLWIDTH_BIOS_VERSION AsLong( GetResString( IDS_COLWIDTH_BIOS_VERSION ), 10 ) #define COLWIDTH_WINDOWS_DIRECTORY AsLong( GetResString( IDS_COLWIDTH_WINDOWS_DIRECTORY ), 10 ) #define COLWIDTH_SYSTEM_DIRECTORY AsLong( GetResString( IDS_COLWIDTH_SYSTEM_DIRECTORY ), 10 ) #define COLWIDTH_BOOT_DEVICE AsLong( GetResString( IDS_COLWIDTH_BOOT_DEVICE ), 10 ) #define COLWIDTH_SYSTEM_LOCALE AsLong( GetResString( IDS_COLWIDTH_SYSTEM_LOCALE ), 10 ) #define COLWIDTH_INPUT_LOCALE AsLong( GetResString( IDS_COLWIDTH_INPUT_LOCALE ), 10 ) #define COLWIDTH_TIME_ZONE AsLong( GetResString( IDS_COLWIDTH_TIME_ZONE ), 10 ) #define COLWIDTH_TOTAL_PHYSICAL_MEMORY AsLong( GetResString( IDS_COLWIDTH_TOTAL_PHYSICAL_MEMORY ), 10 ) #define COLWIDTH_AVAILABLE_PHYSICAL_MEMORY AsLong( GetResString( IDS_COLWIDTH_AVAILABLE_PHYSICAL_MEMORY ), 10 ) #define COLWIDTH_VIRTUAL_MEMORY_MAX AsLong( GetResString( IDS_COLWIDTH_VIRTUAL_MEMORY_MAX ), 10 ) #define COLWIDTH_VIRTUAL_MEMORY_AVAILABLE AsLong( GetResString( IDS_COLWIDTH_VIRTUAL_MEMORY_AVAILABLE ), 10 ) #define COLWIDTH_VIRTUAL_MEMORY_INUSE AsLong( GetResString( IDS_COLWIDTH_VIRTUAL_MEMORY_INUSE ), 10 ) #define COLWIDTH_PAGEFILE_LOCATION AsLong( GetResString( IDS_COLWIDTH_PAGEFILE_LOCATION ), 10 ) #define COLWIDTH_DOMAIN AsLong( GetResString( IDS_COLWIDTH_DOMAIN ), 10 ) #define COLWIDTH_LOGON_SERVER AsLong( GetResString( IDS_COLWIDTH_LOGON_SERVER ), 10 ) #define COLWIDTH_HOTFIX AsLong( GetResString( IDS_COLWIDTH_HOTFIX ), 10 ) #define COLWIDTH_NETWORK_CARD AsLong( GetResString( IDS_COLWIDTH_NETWORK_CARD ), 10 ) // indexes #define CI_HOSTNAME 0 #define CI_OS_NAME 1 #define CI_OS_VERSION 2 #define CI_OS_MANUFACTURER 3 #define CI_OS_CONFIG 4 #define CI_OS_BUILDTYPE 5 #define CI_REG_OWNER 6 #define CI_REG_ORG 7 #define CI_PRODUCT_ID 8 #define CI_INSTALL_DATE 9 #define CI_SYSTEM_UPTIME 10 #define CI_SYSTEM_MANUFACTURER 11 #define CI_SYSTEM_MODEL 12 #define CI_SYSTEM_TYPE 13 #define CI_PROCESSOR 14 #define CI_BIOS_VERSION 15 #define CI_WINDOWS_DIRECTORY 16 #define CI_SYSTEM_DIRECTORY 17 #define CI_BOOT_DEVICE 18 #define CI_SYSTEM_LOCALE 19 #define CI_INPUT_LOCALE 20 #define CI_TIME_ZONE 21 #define CI_TOTAL_PHYSICAL_MEMORY 22 #define CI_AVAILABLE_PHYSICAL_MEMORY 23 #define CI_VIRTUAL_MEMORY_MAX 24 #define CI_VIRTUAL_MEMORY_AVAILABLE 25 #define CI_VIRTUAL_MEMORY_INUSE 26 #define CI_PAGEFILE_LOCATION 27 #define CI_DOMAIN 28 #define CI_LOGON_SERVER 29 #define CI_HOTFIX 30 #define CI_NETWORK_CARD 31 // formats #define FMT_OSVERSION GetResString( IDS_FMT_OSVERSION ) #define FMT_KILOBYTES GetResString( IDS_FMT_KILOBYTES ) #define FMT_MEGABYTES GetResString( IDS_FMT_MEGABYTES ) #define FMT_PROCESSOR_TOTAL GetResString( IDS_FMT_PROCESSOR_TOTAL ) #define FMT_PROCESSOR_INFO GetResString( IDS_FMT_PROCESSOR_INFO ) #define FMT_UPTIME GetResString( IDS_FMT_UPTIME ) #define FMT_HOTFIX_TOTAL GetResString( IDS_FMT_HOTFIX_TOTAL ) #define FMT_HOTFIX_INFO GetResString( IDS_FMT_HOTFIX_INFO ) #define FMT_NIC_TOTAL GetResString( IDS_FMT_NIC_TOTAL ) #define FMT_NIC_INFO GetResString( IDS_FMT_NIC_INFO ) #define FMT_NIC_STATUS GetResString( IDS_FMT_NIC_STATUS ) #define FMT_DHCP_STATUS GetResString( IDS_FMT_DHCP_STATUS ) #define FMT_DHCP_SERVER GetResString( IDS_FMT_DHCP_SERVER ) #define FMT_IPADDRESS_TOTAL GetResString( IDS_FMT_IPADDRESS_TOTAL ) #define FMT_IPADDRESS_INFO GetResString( IDS_FMT_IPADDRESS_INFO ) #define FMT_CONNECTION GetResString( IDS_FMT_CONNECTION ) // // Mapping information of Win32_ComputerSystem's DomainRole property // NOTE: Refer to the _DSROLE_MACHINE_ROLE enumeration values in DsRole.h header file #define VALUE_STANDALONEWORKSTATION GetResString( IDS_VALUE_STANDALONEWORKSTATION ) #define VALUE_MEMBERWORKSTATION GetResString( IDS_VALUE_MEMBERWORKSTATION ) #define VALUE_STANDALONESERVER GetResString( IDS_VALUE_STANDALONESERVER ) #define VALUE_MEMBERSERVER GetResString( IDS_VALUE_MEMBERSERVER ) #define VALUE_BACKUPDOMAINCONTROLLER GetResString( IDS_VALUE_BACKUPDOMAINCONTROLLER ) #define VALUE_PRIMARYDOMAINCONTROLLER GetResString( IDS_VALUE_PRIMARYDOMAINCONTROLLER ) // netcard status mapping #define VALUE_DISCONNECTED GetResString( IDS_VALUE_DISCONNECTED ) #define VALUE_CONNECTING GetResString( IDS_VALUE_CONNECTING ) #define VALUE_CONNECTED GetResString( IDS_VALUE_CONNECTED ) #define VALUE_DISCONNECTING GetResString( IDS_VALUE_DISCONNECTING ) #define VALUE_HWNOTPRESENT GetResString( IDS_VALUE_HWNOTPRESENT ) #define VALUE_HWDISABLED GetResString( IDS_VALUE_HWDISABLED ) #define VALUE_HWMALFUNCTION GetResString( IDS_VALUE_HWMALFUNCTION ) #define VALUE_MEDIADISCONNECTED GetResString( IDS_VALUE_MEDIADISCONNECTED ) #define VALUE_AUTHENTICATING GetResString( IDS_VALUE_AUTHENTICATING ) #define VALUE_AUTHSUCCEEDED GetResString( IDS_VALUE_AUTHSUCCEEDED ) #define VALUE_AUTHFAILED GetResString( IDS_VALUE_AUTHFAILED ) #define VALUE_YES GetResString( IDS_VALUE_YES ) #define VALUE_NO GetResString( IDS_VALUE_NO ) // status messages #define MSG_OSINFO GetResString( IDS_MSG_OSINFO ) #define MSG_COMPINFO GetResString( IDS_MSG_COMPINFO ) #define MSG_PERFINFO GetResString( IDS_MSG_PERFINFO ) #define MSG_PROCESSORINFO GetResString( IDS_MSG_PROCESSORINFO ) #define MSG_BIOSINFO GetResString( IDS_MSG_BIOSINFO ) #define MSG_INPUTLOCALEINFO GetResString( IDS_MSG_INPUTLOCALEINFO ) #define MSG_TZINFO GetResString( IDS_MSG_TZINFO ) #define MSG_PAGEFILEINFO GetResString( IDS_MSG_PAGEFILEINFO ) #define MSG_HOTFIXINFO GetResString( IDS_MSG_HOTFIXINFO ) #define MSG_NICINFO GetResString( IDS_MSG_NICINFO ) #define MSG_PROFILEINFO GetResString( IDS_MSG_PROFILEINFO ) // // command line options // command line options and their indexes in the array #define MAX_OPTIONS 6 // options allowed ( no need to localize ) #define OPTION_USAGE _T( "?" ) #define OPTION_SERVER _T( "s" ) #define OPTION_USERNAME _T( "u" ) #define OPTION_PASSWORD _T( "p" ) #define OPTION_FORMAT _T( "fo" ) #define OPTION_NOHEADER _T( "nh" ) // option indexes #define OI_USAGE 0 #define OI_SERVER 1 #define OI_USERNAME 2 #define OI_PASSWORD 3 #define OI_FORMAT 4 #define OI_NOHEADER 5 // values allowed for format #define OVALUES_FORMAT GetResString( IDS_OVALUES_FORMAT ) // // CSystemInfo // class CSystemInfo { // constructor / destructor public: CSystemInfo(); ~CSystemInfo(); // data members private: // command line options CHString m_strServer; CHString m_strUserName; CHString m_strPassword; // WMI interfaces IWbemLocator* m_pWbemLocator; IWbemServices* m_pWbemServices; // progress message related HANDLE m_hOutput; CONSOLE_SCREEN_BUFFER_INFO m_csbi; // other(s) TARRAY m_arrData; // output data storage PTCOLUMNS m_pColumns; // output columns information BOOL m_bNeedPassword; // indicates whether password needs to be accepted or not BOOL m_bCloseConnection; // indicate whether closeconnection function to be called or not CHString m_strLogonUser; // used to find the logon server COAUTHIDENTITY* m_pAuthIdentity; // auth identity public: BOOL m_bUsage; DWORD m_dwFormat; // methods private: BOOL LoadOSInfo(); BOOL LoadBiosInfo(); BOOL LoadHotfixInfo(); BOOL LoadProfileInfo(); BOOL LoadComputerInfo(); BOOL LoadTimeZoneInfo(); BOOL LoadPageFileInfo(); BOOL LoadKeyboardInfo(); BOOL LoadProcessorInfo(); BOOL LoadPerformanceInfo(); BOOL LoadNetworkCardInfo(); // output related ... BOOL AllocateColumns(); public: BOOL LoadData(); BOOL Initialize(); BOOL ProcessOptions( DWORD argc, LPCTSTR argv[] ); BOOL Connect(); VOID ShowUsage(); VOID ShowOutput( DWORD dwStart = 0, DWORD dwEnd = MAX_COLUMNS ); }; #endif // __SYSTEMINFO_H