Opisywanie ścieżki obiektu klasy
Ścieżka obiektu klasy opisuje lokalizację klasy w przestrzeni nazw.
Aby określić ścieżkę obiektu, można użyć następujących metod:
Pełna ścieżka obiektu do klasy dodaje nazwę klasy do ścieżki przestrzeni nazw.
W poniższym przykładzie pokazano lokalizację klasy Win32_LogicalDisk w przestrzeni nazw \root\cimv2 na serwerze o nazwie Admin.
\\Admin\Root\CimV2:Win32_LogicalDisk
Ścieżka obiektu względnego reprezentuje klasę, która znajduje się w bieżącej przestrzeni nazw. Względna ścieżka obiektu do klasy zawiera tylko nazwę klasy.
W poniższym przykładzie przedstawiono ścieżkę względną do klasy Win32_LogicalDisk.
Win32_LogicalDisk
Gdy wykonujesz zapytanie o nazwę klasy, ale nie określisz żadnych wystąpień, usługa WMI zwraca definicję klasy. Poniższa procedura opisuje sposób pobierania definicji klasy w języku VBScript.
Aby pobrać definicję klasy w języku VBScript
Możesz użyć połączenia moniker z zapytaniem lub GetObject. Możesz również użyć SWbemServices.Get.
W poniższym przykładzie pokazano, jak uzyskać definicję klasy przy użyciu GetObject.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2:Win32_Printer")
W poniższym przykładzie pokazano, jak wykonywać zapytania dotyczące definicji klasy.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer")
Definicję klasy w języku C++ można pobrać, określając tylko nazwę klasy i bez ścieżki do określonego wystąpienia. Poniższa procedura opisuje sposób pobierania definicji klasy w języku C++.
Aby pobrać definicję klasy w języku C++
Wywołaj funkcję IWbemServices::GetObject lub IWbemServices::GetObjectAsync.
W poniższym przykładzie pokazano, jak wywołać funkcjęIWbemServices::GetObject.
IWbemServices* pSvcs = 0; BSTR Path = SysAllocString(L"Win32_LogicalDisk"); IWbemClassObject *pDiskClass = 0; pSvcs->GetObject(Path, 0, 0, &pDiskClass, 0);
Poprzedni przykład kodu wymaga następującej instrukcji #include w celu poprawnego skompilowania.
#include <wbemidl.h>