Описание пути к объекту класса
Путь к объекту класса описывает расположение класса в пространстве имен.
Для указания пути к объекту можно использовать следующие методы:
Полный путь к объекту к классу добавляет имя класса в путь к пространству имен.
В следующем примере показано расположение класса Win32_LogicalDisk в пространстве имен \root\cimv2 на сервере с именем Администратор.
\\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>