Mountain Notebook https://bbs.21ic.com/?108394 [收藏] [复制] [RSS]

日志

WMI 常用方法

已有 1214 次阅读2010-1-29 06:55 |个人分类:VisualC++|系统分类:兴趣爱好

一直以来都没有用过WMI, 都是用的PDH来获取系统信息.感觉两者很些相似,都是类似于性能数据库,基本的一些什么硬件软件信息都可以比较全面的获得.只是用VC来调用相对比较繁杂,用VB和C#就方便多了.这些天到MSDN上找了些资料,总算大致搞清了一些编程思路.对于那些很想知道怎么获取诸如CPUID,硬盘ID,BIOS信息以及主板信息的人来说应该有些帮助吧.试着用MSDN的例子乱写了一通,以下是通过WMI获取BIOS的例子,不对之处还请指正 ^_^:

#define _WIN32_DCOM
#include <iostream>
using namespace std ;
#include <windows.h>
#include <comdef.h>
#include <wbemcli.h>

#pragma comment(lib, "Wbemuuid")

int main(int argc,char**argv)
{
    HRESULT hres ;
    
    // Initialize COM.
    hres=CoInitializeEx(0,COINIT_MULTITHREADED);
    if(FAILED(hres))
    {
        cout<<"Failed to initialize COM library. Error code = 0x"
   <<hex<<hres<<endl ;
        return 1 ;
        // Program has failed.
    }
    
    // Initialize
    hres=CoInitializeSecurity(
   NULL,-1,NULL,NULL,RPC_C_AUTHN_LEVEL_DEFAULT,
   RPC_C_IMP_LEVEL_IMPERSONATE,NULL,EOAC_NONE,NULL);
    
    
    if(FAILED(hres))
    {
        cout<<"Failed to initialize security. Error code = 0x"
   <<hex<<hres<<endl ;
        CoUninitialize();
        return 1 ;
        // Program has failed.
    }
    
    // Obtain the initial locator to Windows Management on a particular host computer.
    IWbemLocator*pLoc=0 ;
    
    hres=CoCreateInstance(CLSID_WbemLocator,0,CLSCTX_INPROC_SERVER,
   IID_IWbemLocator,(LPVOID*)&pLoc);
    
    if(FAILED(hres))
    {
        cout<<"Failed to create IWbemLocator object. Err code = 0x"
   <<hex<<hres<<endl ;
        CoUninitialize();
        return 1 ;
        // Program has failed.
    }
    
    IWbemServices*pSvc=0 ;
    
    // Connect to the root\cimv2 namespace with the current user and obtain pointer pSvc
    //     to make IWbemServices calls.
    
    hres=pLoc->ConnectServer(_bstr_t(L"ROOT\\CIMV2"),
    NULL,NULL,0,NULL,0,0,&pSvc);
    
    if(FAILED(hres))
    {
        cout<<"Could not connect. Error code = 0x"
        <<hex<<hres<<endl ;
        pLoc->Release();
        CoUninitialize();
        return 1 ;
        // Program has failed.
    }
    
    cout<<"Connected to WMI"<<endl ;
    
    // Set the IWbemServices proxy so that impersonation of the user (client) occurs.
    hres=CoSetProxyBlanket(pSvc,RPC_C_AUTHN_WINNT,RPC_C_AUTHZ_NONE,NULL,
   RPC_C_AUTHN_LEVEL_CALL,RPC_C_IMP_LEVEL_IMPERSONATE,NULL,EOAC_NONE);
    
    if(FAILED(hres))
    {
        cout<<"Could not set proxy blanket. Error code = 0x"
        <<hex<<hres<<endl ;
        pSvc->Release();
        pLoc->Release();
        CoUninitialize();
        return 1 ;
        // Program has failed.
    }
    
    
    // Use the IWbemServices pointer to make requests of WMI.
    // Make requests here:
    
    // For example, query for print queues that have more than 10 jobs
    IEnumWbemClassObject*pEnumerator=NULL ;
    hres=pSvc->ExecQuery(
  bstr_t("WQL"),
  bstr_t("SELECT * from Win32_BIOS"),
  WBEM_FLAG_FORWARD_ONLY|WBEM_FLAG_RETURN_IMMEDIATELY,
  NULL,
  &pEnumerator);
    
    if(FAILED(hres))
    {
        cout<<"Query for print queues failed. Error code = 0x"
        <<hex<<hres<<endl ;
        pSvc->Release();
        pLoc->Release();
        CoUninitialize();
        return 1 ;
        // Program has failed.
    }
    else
    {
        IWbemClassObject*pInstance=NULL ;
        ULONG dwCount ;
        while(pEnumerator->Next(
   WBEM_INFINITE,
   1,
   &pInstance,
   &dwCount)==S_OK)
        {
            SAFEARRAY*pvNames=NULL ;
            if(pInstance->GetNames(NULL,WBEM_FLAG_ALWAYS|WBEM_MASK_CONDITION_ORIGIN,NULL,&pvNames)==S_OK)
            {
                long vbl,vbu ;
                SafeArrayGetLBound(pvNames,1,&vbl);
                SafeArrayGetUBound(pvNames,1,&vbu);
                for(long idx=vbl;idx<=vbu;idx++)
                {
                    long aidx=idx ;
                    wchar_t *wsName=0 ;
                    VARIANT vValue ;
                    VariantInit(&vValue);
                    
                    SafeArrayGetElement(pvNames,&aidx,&wsName);
                    
                    BSTR bs=SysAllocString(wsName);
                    hres=pInstance->Get(bs,0,&vValue,NULL,0);
                    SysFreeString(bs);
                    
                    
                    if(SUCCEEDED(hres))
                    {
                        char szANSIString[MAX_PATH];
                        WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,wsName,-1,
       szANSIString,sizeof(szANSIString),NULL,NULL);
                        
                        cout<<szANSIString<<" : " ;
                        switch(vValue.vt)
                        {
                            case VT_BSTR :
        wprintf(L"%s",V_BSTR(&vValue));
        break ;
                            case VT_I2 :
        wprintf(L"%d",V_I2(&vValue));
        break ;
                            case VT_I4 :
        wprintf(L"%d",V_I4(&vValue));
        break ;
                            case VT_BOOL :
        wprintf(L"%s",V_BOOL(&vValue)?L"TRUE":L"FALSE");
        break ;
                            default:
        /*WCHAR tmp[100];
        wcscpy(tmp, V_BSTR(&vValue));
        char tmp1[MAX_PATH];
        WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,tmp,-1,
         tmp1,sizeof(tmp1),NULL,NULL);
                          
        cout<<tmp1;*/
        break;
                        }
      cout<<endl ;
                    }
                    
                    SysFreeString(wsName);
                }
                
            }
            else
            {
                cout<<"Query for print queues failed. Error code = 0x"
                <<hex<<hres<<endl ;
                pSvc->Release();
                pLoc->Release();
                CoUninitialize();
                return 1 ;
                // Program has failed.
            }
            if(pvNames)SafeArrayDestroy(pvNames);
        }
        if(pInstance)pInstance->Release();
        
    }
    // Cleanup
    // ========
    pEnumerator->Release();
    pSvc->Release();
    pLoc->Release();
    CoUninitialize();
    
    return 0;
    // Program successfully completed.
}
//------------------------------------------------------------------------------------------------------------



对于怎么用BCB编, 感觉还容易一点,因为我在类型转换的时候碰到了一些问题,而在BCB中的Variant类做了比较好的封装,
具体代码可以到http://www.cppfans.com上找到.



void GetWmiInfo(TStrings *lpList, WideString wsClass)
{
  IWbemLocator *pWbemLocator = NULL;
  if(CoCreateInstance(CLSID_WbemAdministrativeLocator, NULL, CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER, IID_IUnknown, (void**)&pWbemLocator) == S_OK)
   {
     IWbemServices *pWbemServices = NULL;
     WideString wsNamespace = (L"root\\cimv2");
     if(pWbemLocator->ConnectServer(wsNamespace, NULL, NULL, NULL, 0, NULL, NULL, &pWbemServices) == S_OK)
      {
        IEnumWbemClassObject *pEnumClassObject = NULL;
        WideString wsWQL=L"WQL", wsQuery=WideString(L"Select * from ")+wsClass;
        if(pWbemServices->ExecQuery(wsWQL, wsQuery, WBEM_FLAG_RETURN_IMMEDIATELY,NULL, &pEnumClassObject) == S_OK)
         {
           IWbemClassObject *pClassObject = NULL;
           ULONG uCount = 1, uReturned;
           if(pEnumClassObject->Reset() == S_OK)
            {
              int iEnumIdx = 0;
              while(pEnumClassObject->Next(WBEM_INFINITE, uCount, &pClassObject, &uReturned) == S_OK)
               {
                 lpList->Add("---------------- ["+IntToStr(iEnumIdx)+"] -----------------");

                 SAFEARRAY *pvNames = NULL;
                 if(pClassObject->GetNames(NULL, WBEM_FLAG_ALWAYS | WBEM_MASK_CONDITION_ORIGIN, NULL, &pvNames) == S_OK)
                  {
                    long vbl, vbu;
                    SafeArrayGetLBound(pvNames, 1, &vbl);
                    SafeArrayGetUBound(pvNames, 1, &vbu);
                    for(long idx=vbl; idx<=vbu; idx++)
                     {
                       long aidx = idx;
                       wchar_t *wsName = 0;
                       VARIANT vValue;
                       VariantInit(&vValue);
                       SafeArrayGetElement(pvNames, &aidx, &wsName);

                       BSTR bs = SysAllocString(wsName);
                       HRESULT hRes = pClassObject->Get(bs, 0, &vValue, NULL, 0);
                       SysFreeString(bs);

                       if(hRes == S_OK)
                        {
                          AnsiString s;
                          Variant v = *(Variant*)&vValue;
                          if(v.IsArray())
                           {
                             for(int i=v.ArrayLowBound(); i<=v.ArrayHighBound(); i++)
                              {
                                Variant a = v.GetElement(i);
                                if(!s.IsEmpty())
                                  s+=", ";
                                s+=VarToStr(a);
                              }
                           }
                          else
                           {
                             s = VarToStr(v);
                           }
                          lpList->Add(AnsiString(wsName)+"="+s);
                        }

                       VariantClear(&vValue);
                       SysFreeString(wsName);
                     }
                  }
                 if(pvNames)SafeArrayDestroy(pvNames);
                 iEnumIdx++;
               }
            }
           if(pClassObject)pClassObject->Release();
         }
        if(pEnumClassObject)pEnumClassObject->Release();
      }
     if(pWbemServices)pWbemServices->Release();
   }
  if(pWbemLocator)pWbemLocator->Release();
}





收集到以下的一些类可以获取相关信息,真是应用尽有啊, :-)


Computer system hardware
Cooling device classes
  Win32_Fan
  Win32_HeatPipe
  Win32_Refrigeration
  Win32_TemperatureProbe)}
Input device classes
  Win32_Keyboard
     Win32_PointingDevice)}
Mass storage classes
     Win32_AutochkSetting
     Win32_CDROMDrive
     Win32_DiskDrive
     Win32_FloppyDrive
     Win32_LogicalDisk
     Win32_MappedLogicalDisk
     Win32_TapeDrive)}
Motherboard, controller, and port classes
  Win32_1394Controller
  Win32_1394ControllerDevice
  Win32_AllocatedResource
  Win32_AssociatedProcessorMemory
  Win32_BaseBoard
  Win32_BIOS
  Win32_Bus
  Win32_CacheMemory
  Win32_ControllerHasHub
  Win32_DeviceBus
  Win32_DeviceMemoryAddress
  Win32_DeviceSettings
  Win32_DMAChannel
  Win32_FloppyController
  Win32_IDEController
  Win32_IDEControllerDevice
  Win32_InfraredDevice
  Win32_IRQResource
  Win32_MemoryArray
  Win32_MemoryArrayLocation
  Win32_MemoryDevice
  Win32_MemoryDeviceArray
  Win32_MemoryDeviceLocation
  Win32_MotherboardDevice
  Win32_OnBoardDevice
  Win32_ParallelPort
  Win32_PCMCIAController
  Win32_PhysicalMemory
  Win32_PhysicalMemoryArray
  Win32_PhysicalMemoryLocation
  Win32_PNPAllocatedResource
  Win32_PNPDevice
  Win32_PNPEntity
  Win32_PortConnector
  Win32_PortResource
  Win32_Processor
  Win32_SCSIController
  Win32_SCSIControllerDevice
  Win32_SerialPort
  Win32_SerialPortConfiguration
  Win32_SerialPortSetting
  Win32_SMBIOSMemory
  Win32_SoundDevice
  Win32_SystemBIOS
  Win32_SystemDriverPNPEntity
  Win32_SystemEnclosure
  Win32_SystemMemoryResource
  Win32_SystemSlot
  Win32_USBController
  Win32_USBControllerDevice
  Win32_USBHub)}
Networking device classes
  Win32_NetworkAdapter
  Win32_NetworkAdapterConfiguration
  Win32_NetworkAdapterSetting)}
Power classes
  Win32_AssociatedBattery
  Win32_Battery
  Win32_CurrentProbe
  Win32_PortableBattery
  Win32_PowerManagementEvent
  Win32_UninterruptiblePowerSupply
  Win32_VoltageProbe)}
Printing classes
  Win32_DriverForDevice
  Win32_Printer
  Win32_PrinterConfiguration
  Win32_PrinterController
  Win32_PrinterDriver
  Win32_PrinterDriverDll
  Win32_PrinterSetting
  Win32_PrintJob
  Win32_TCPIPPrinterPort)}
Telephony classes
  Win32_POTSModem
  Win32_POTSModemToSerialPort)}
Video and monitor classes
  Win32_DesktopMonitor
  Win32_DisplayConfiguration
  Win32_DisplayControllerConfiguration
  Win32_VideoConfiguration
  Win32_VideoController
  Win32_VideoSettings)})}
Users
COM
  Win32_ClassicCOMApplicationClasses
  Win32_ClassicCOMClass
  Win32_ClassicCOMClassSettings
  Win32_ClientApplicationSetting
  Win32_COMApplication
  Win32_COMApplicationClasses
  Win32_COMApplicationSettings
  Win32_COMClass
  Win32_ComClassAutoEmulator
  Win32_ComClassEmulator
  Win32_ComponentCategory
  Win32_COMSetting
  Win32_DCOMApplication
  Win32_DCOMApplicationAccessAllowedSetting
  Win32_DCOMApplicationLaunchAllowedSetting
  Win32_DCOMApplicationSetting
  Win32_ImplementedCategory)}
Desktop
  Win32_Desktop
  Win32_Environment
  Win32_TimeZone
  Win32_UserDesktop)}
Drivers
  Win32_DriverVXD
  Win32_SystemDriver)}
File system
  Win32_CIMLogicalDeviceCIMDataFile
  Win32_Directory
  Win32_DirectorySpecification
  Win32_DiskDriveToDiskPartition
  Win32_DiskPartition
  Win32_DiskQuota
  Win32_LogicalDiskRootDirectory
  Win32_LogicalDiskToPartition
  Win32_OperatingSystemAutochkSetting
  Win32_QuotaSetting
  Win32_ShortcutFile
  Win32_SubDirectory
  Win32_SystemPartitions
  Win32_VolumeQuotaSetting)}
Job objects
  Win32_CollectionStatistics
  Win32_LUID
  Win32_LUIDandAttributes
  Win32_NamedJobObject
  Win32_NamedJobObjectActgInfo
  Win32_NamedJobObjectLimit
  Win32_NamedJobObjectLimitSetting
  Win32_NamedJobObjectProcess
  Win32_NamedJobObjectSecLimit
  Win32_NamedJobObjectSecLimitSetting
  Win32_NamedJobObjectStatistics
  Win32_SIDandAttributes
  Win32_TokenGroups
  Win32_TokenPrivileges)}
Memory and page files
  Win32_LogicalMemoryConfiguration
  Win32_PageFile
  Win32_PageFileElementSetting
  Win32_PageFileSetting
  Win32_PageFileUsage
  Win32_SystemLogicalMemoryConfiguration)}
Multimedia audio/visual
  Win32_CodecFile)}
Networking
   Win32_ActiveRoute
   Win32_IP4PersistedRouteTable
   Win32_IP4RouteTable
   Win32_IP4RouteTableEvent
   Win32_NetworkClient
   Win32_NetworkConnection
   Win32_NetworkProtocol
   Win32_NTDomain
   Win32_PingStatus
   Win32_ProtocolBinding)}
Operating system events
  Win32_ComputerShutdownEvent
  Win32_ComputerSystemEvent
  NWin32_DeviceChangeEvent
  Win32_ModuleLoadTrace
  Win32_ModuleTrace
  Win32_ProcessStartTrace
  Win32_ProcessStopTrace
  Win32_ProcessTrace
  Win32_SystemConfigurationChangeEvent
  Win32_SystemTrace
  Win32_ThreadStartTrace
  Win32_ThreadStopTrace
  Win32_ThreadTrace
  Win32_VolumeChangeEvent)}
Operating system settings
  Win32_BootConfiguration
  Win32_ComputerSystem
  Win32_ComputerSystemProcessor
  Win32_ComputerSystemProduct
  Win32_DependentService
  Win32_LoadOrderGroup
  Win32_LoadOrderGroupServiceDependencies
  Win32_LoadOrderGroupServiceMembers
  Win32_OperatingSystem
  Win32_OperatingSystemQFE
  Win32_OSRecoveryConfiguration
  Win32_QuickFixEngineering
  Win32_StartupCommand
  Win32_SystemBootConfiguration
  Win32_SystemDesktop
  Win32_SystemDevices
  Win32_SystemLoadOrderGroups
  Win32_SystemNetworkConnections
  Win32_SystemOperatingSystem
  Win32_SystemProcesses
  Win32_SystemProgramGroups
  Win32_SystemResources
  Win32_SystemServices
  Win32_SystemSetting
  Win32_SystemSystemDriver
  Win32_SystemTimeZone
  Win32_SystemUsers)}
Processes
  Win32_Process
  Win32_ProcessStartup
  Win32_Thread)}
Registry
  Win32_Registry)}
Scheduler jobs
  Win32_CurrentTime
  Win32_ScheduledJob)}
Security
  NWin32_AccountSID
  Win32_ACE
  Win32_LogicalFileAccess
  Win32_LogicalFileAuditing
  Win32_LogicalFileGroup
  Win32_LogicalFileOwner
  Win32_LogicalFileSecuritySetting
  Win32_LogicalShareAccess
  Win32_LogicalShareAuditing
  Win32_LogicalShareSecuritySetting
  NWin32_PrivilegesStatus
  NWin32_SecurityDeor
  Win32_SecuritySetting
  Win32_SecuritySettingAccess
  Win32_SecuritySettingAuditing
  Win32_SecuritySettingGroup
  Win32_SecuritySettingOfLogicalFile
  NodWin32_SecuritySettingOfLogicalShare
  Win32_SecuritySettingOfObject
  Win32_SecuritySettingOwner
  Win32_SID
  Win32_Trustee)}
Services
  Win32_BaseService
  Win32_Service)}
Shares
  Win32_ServerConnection
   Win32_ServerSession
   Win32_ConnectionShare
   Win32_PrinterShare
   Win32_SessionConnection
   Win32_SessionProcess
   Win32_ShareToDirectory
   Win32_Share)}
Start menu
  NoWin32_LogicalProgramGroup
  Win32_LogicalProgramGroupDirectory
  Win32_LogicalProgramGroupItem
  Win32_LogicalProgramGroupItemDataFile
  Win32_ProgramGroup
  Win32_ProgramGroupContents
  Win32_ProgramGroupOrItem)}
Users
  Win32_Account
  Win32_Group
  Win32_GroupInDomain
  Win32_GroupUser
  Win32_LogonSession
  Win32_LogonSessionMappedDisk
  Win32_NetworkLoginProfile
  Win32_SystemAccount
  Win32_UserAccount
  Win32_UserInDomain)}
Windows NT event log
  Win32_NTEventlogFile
  Win32_NTLogEvent
  Win32_NTLogEventComputer
  Win32_NTLogEventLog
  Win32_NTLogEventUser)}
Windows Product Activation
  Win32_ComputerSystemWindowsProductActivationSetting
  Win32_Proxy
  Win32_WindowsProductActivation)})}
Installed applications
Win32_ActionCheck
Win32_ApplicationCommandLine
Win32_ApplicationService
Win32_Binary
Win32_BindImageAction
Win32_CheckCheck
Win32_ClassInfoAction
Win32_CommandLineAccess
Win32_Condition
Win32_CreateFolderAction
Win32_DuplicateFileAction
Win32_EnvironmentSpecification
Win32_ExtensionInfoAction
Win32_FileSpecification
Win32_FontInfoAction
Win32_IniFileSpecification
Win32_InstalledSoftwareElement
Win32_LaunchCondition
Win32_ManagedSystemElementResource
Win32_MIMEInfoAction
Win32_MoveFileAction
Win32_MSIResource
Win32_ODBCAttribute
Win32_ODBCDataSourceAttribute
Win32_ODBCDataSourceSpecification
Win32_ODBCDriverAttribute
Win32_ODBCDriverSoftwareElement
Win32_ODBCDriverSpecification
Win32_ODBCSourceAttribute
Win32_ODBCTranslatorSpecification
Win32_Patch
Win32_PatchFile
Win32_PatchPackage
Win32_Product
Win32_ProductCheck
Win32_ProductResource
Win32_ProductSoftwareFeatures
Win32_ProgIDSpecification
Win32_Property
Win32_PublishComponentAction
Win32_RegistryAction
Win32_RemoveFileAction
Win32_RemoveIniAction
Win32_ReserveCost
Win32_SelfRegModuleAction
Win32_ServiceControl
Win32_ServiceSpecification
Win32_ServiceSpecificationService
Win32_SettingCheck
Win32_ShortcutAction
Win32_ShortcutSAP
Win32_SoftwareElement
Win32_SoftwareElementAction
Win32_SoftwareElementCheck
Win32_SoftwareElementCondition
Win32_SoftwareElementResource
Win32_SoftwareFeature
Win32_SoftwareFeatureAction
Win32_SoftwareFeatureCheck
Win32_SoftwareFeatureParent
Win32_SoftwareFeatureSoftwareElements
Win32_TypeLibraryAction)}
WMI service management
WMI Configuration Classes
  Win32_MethodParameterClass)}
WMI Management Classes
  Win32_WMISetting
  Win32_WMIElementSetting)})}
Performance counters
Formatted Performance Counter Classes
  Win32_PerfFormattedData
  Win32_PerfFormattedData_ASP_ActiveServerPages
  Win32_PerfFormattedData_ContentFilter_IndexingServiceFilter
  Win32_PerfFormattedData_ContentIndex_IndexingService
  Win32_PerfFormattedData_InetInfo_InternetInformationServicesGlobal
  Win32_PerfFormattedData_ISAPISearch_HttpIndexingService
  Win32_PerfFormattedData_MSDTC_DistributedTransactionCoordinator
  Win32_PerfFormattedData_NTFSDRV_SMTPNTFSStoreDriver
  Win32_PerfFormattedData_PerfDisk_LogicalDisk
  Win32_PerfFormattedData_PerfDisk_PhysicalDisk
  Win32_PerfFormattedData_PerfNet_Browser
  Win32_PerfFormattedData_PerfNet_Redirector
  Win32_PerfFormattedData_PerfNet_Server
  Win32_PerfFormattedData_PerfNet_ServerWorkQueues
  Win32_PerfFormattedData_PerfOS_Cache
  Win32_PerfFormattedData_PerfOS_Memory
  Win32_PerfFormattedData_PerfOS_Objects
  Win32_PerfFormattedData_PerfOS_PagingFile
  Win32_PerfFormattedData_PerfOS_Processor
  Win32_PerfFormattedData_PerfOS_System
  Win32_PerfFormattedData_PerfProc_FullImage_Costly
  Win32_PerfFormattedData_PerfProc_Image_Costly
  Win32_PerfFormattedData_PerfProc_JobObject
  Win32_PerfFormattedData_PerfProc_JobObjectDetails
  Win32_PerfFormattedData_PerfProc_Process
  Win32_PerfFormattedData_PerfProc_ProcessAddressSpace_Costly
  Win32_PerfFormattedData_PerfProc_Thread
  Win32_PerfFormattedData_PerfProc_ThreadDetails_Costly
  Win32_PerfFormattedData_PSched_PSchedFlow
  Win32_PerfFormattedData_PSched_PSchedPipe
  Win32_PerfFormattedData_RemoteAccess_RASPort
  Win32_PerfFormattedData_RemoteAccess_RASTotal
  Win32_PerfFormattedData_RSVP_ACSRSVPInterfaces
  Win32_PerfFormattedData_RSVP_ACSRSVPService
  Win32_PerfFormattedData_SMTPSVC_SMTPServer
  Win32_PerfFormattedData_Spooler_PrintQueue
  Win32_PerfFormattedData_TapiSrv_Telephony
  Win32_PerfFormattedData_Tcpip_ICMP
  Win32_PerfFormattedData_Tcpip_IP
  Win32_PerfFormattedData_Tcpip_NBTConnection
  Win32_PerfFormattedData_Tcpip_NetworkInterface
  Win32_PerfFormattedData_Tcpip_TCP
  Win32_PerfFormattedData_Tcpip_UDP
  Win32_PerfFormattedData_TermService_TerminalServices
  Win32_PerfFormattedData_TermService_TerminalServicesSession
  Win32_PerfFormattedData_W3SVC_WebService)}
Raw Performance Counter Classes
   Win32_PerfRawData
   Win32_PerfRawData_ASP_ActiveServerPages
  Win32_PerfRawData_ContentFilter_IndexingServiceFilter
  Win32_PerfRawData_ContentIndex_IndexingService
  Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal
  Win32_PerfRawData_ISAPISearch_HttpIndexingService
  Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator
  Win32_PerfRawData_NTFSDRV_SMTPNTFSStoreDriver
  Win32_PerfRawData_PerfDisk_LogicalDisk
   Win32_PerfRawData_PerfDisk_PhysicalDisk
   Win32_PerfRawData_PerfNet_Browser
  Win32_PerfRawData_PerfNet_Redirector
  Win32_PerfRawData_PerfNet_Server
  Win32_PerfRawData_PerfNet_ServerWorkQueues
   Win32_PerfRawData_PerfOS_Cache
   Win32_PerfRawData_PerfOS_Memory
   Win32_PerfRawData_PerfOS_Objects
   Win32_PerfRawData_PerfOS_PagingFile
   Win32_PerfRawData_PerfOS_Processor
   Win32_PerfRawData_PerfOS_System
   Win32_PerfRawData_PerfProc_FullImage_Costly
   Win32_PerfRawData_PerfProc_Image_Costly
   Win32_PerfRawData_PerfProc_JobObject
   Win32_PerfRawData_PerfProc_JobObjectDetails
   Win32_PerfRawData_PerfProc_Process
   Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly
   Win32_PerfRawData_PerfProc_Thread
   Win32_PerfRawData_PerfProc_ThreadDetails_Costly
   Win32_PerfRawData_PSched_PSchedFlow
  NWin32_PerfRawData_PSched_PSchedPipe
  Win32_PerfRawData_RemoteAccess_RASPort
  Win32_PerfRawData_RemoteAccess_RASTotal
  Win32_PerfRawData_RSVP_ACSRSVPInterfaces
  Win32_PerfRawData_RSVP_ACSRSVPService
  Win32_PerfRawData_SMTPSVC_SMTPServer
  Win32_PerfRawData_Spooler_PrintQueue
  Win32_PerfRawData_TapiSrv_Telephony
  Win32_PerfRawData_Tcpip_ICMP
  Win32_PerfRawData_Tcpip_IP
  Win32_PerfRawData_Tcpip_NBTConnection
  Win32_PerfRawData_Tcpip_NetworkInterface
  Win32_PerfRawData_Tcpip_TCP
  Win32_PerfRawData_Tcpip_UDP
  Win32_PerfRawData_TermService_TerminalServices
  Win32_PerfRawData_TermService_TerminalServicesSession
  Win32_PerfRawData_W3SVC_WebService

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)