描述类对象路径
类对象路径描述类在命名空间中的位置。
可使用以下方法指定对象路径:
类的完整对象路径将类名追加到命名空间路径。
以下示例显示了 Win32_LogicalDisk 类在名为 Admin 的服务器上的 \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>