Поделиться через


Описание пути объекта класса

Путь к объекту класса описывает расположение класса в пространстве имен.

Чтобы указать путь к объекту, можно использовать следующие методы:

  • Полный путь объекта к классу добавляет имя класса в путь к пространству имен.

    В следующем примере показано расположение класса Win32_LogicalDisk в пространстве имен \root\cimv2 на сервере с именем admin.

    \\Admin\Root\CimV2:Win32_LogicalDisk
    
  • Относительный путь объекта представляет класс, который находится в текущем пространстве имен. Относительный путь объекта к классу содержит только имя класса.

    В следующем примере показан относительный путь к классу Win32_LogicalDisk.

    Win32_LogicalDisk
    

При запросе имени класса без указания экземпляров WMI возвращает определение класса. В следующей процедуре описывается, как получить определение класса в VBScript.

Получение определения класса в VBScript

  • Вы можете использовать соединение с моникером либо с запросом, либо GetObject. Вы также можете использовать SWbemServices.Get.

    В следующем примере показано, как использовать GetObject для получения определения класса.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
       & "{impersonationLevel=impersonate}!\\" _
       & strComputer & "\root\cimv2:Win32_Printer")
    

    В следующем примере показано, как запрашивать определение класса.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" _
        & strComputer & "\root\cimv2")
    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer")
    

Определение класса в C++ можно получить, указав только имя класса и не путь к конкретному экземпляру. В следующей процедуре описывается, как получить определение класса в C++.

Чтобы извлечь определение класса в C++

  • Вызовите функции IWbemServices::GetObject или IWbemServices::GetObjectAsync.

    В следующем примере показано, как вызвать функциюIWbemServices::GetObject.

    IWbemServices* pSvcs = 0;
    
    BSTR Path = SysAllocString(L"Win32_LogicalDisk");
    IWbemClassObject *pDiskClass = 0;
    pSvcs->GetObject(Path, 0, 0, &pDiskClass, 0);
    

    В предыдущем примере кода требуется правильно скомпилировать следующую инструкцию #include.

    #include <wbemidl.h>