Descrever um caminho de objeto de classe
Um caminho de objeto de classe descreve o local de uma classe em um namespace.
Você pode usar os seguintes métodos para especificar um caminho de objeto:
Um caminho de objeto completo para uma classe acrescenta o nome da classe a um caminho de namespace.
O exemplo a seguir mostra o local da classe Win32_LogicalDisk no namespace \root\cimv2 no servidor chamado Admin.
\\Admin\Root\CimV2:Win32_LogicalDisk
Um caminho de objeto relativo representa uma classe que reside no namespace atual. Um caminho de objeto relativo para uma classe contém apenas o nome da classe.
O exemplo a seguir mostra o caminho relativo para a classe Win32_LogicalDisk.
Win32_LogicalDisk
Quando você consulta um nome de classe, mas não especifica instâncias, o WMI retorna a definição da classe. O procedimento a seguir descreve como recuperar uma definição de classe no VBScript.
Para recuperar uma definição de classe no VBScript
Você pode usar a conexão do moniker com uma consulta ou GetObject. Também é possível usar SWbemServices.Get.
O exemplo a seguir mostra como usar GetObject para obter uma definição de classe.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2:Win32_Printer")
O exemplo a seguir mostra como consultar uma definição de classe.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer")
Você pode recuperar uma definição de classe no C++ especificando apenas o nome da classe e nenhum caminho para uma instância específica. O procedimento a seguir descreve como recuperar uma definição de classe no C++.
Para recuperar uma definição de classe no C++
Faça uma chamada para as funções IWbemServices::GetObject ou IWbemServices::GetObjectAsync.
O exemplo a seguir mostra como chamar a função IWbemServices::GetObject.
IWbemServices* pSvcs = 0; BSTR Path = SysAllocString(L"Win32_LogicalDisk"); IWbemClassObject *pDiskClass = 0; pSvcs->GetObject(Path, 0, 0, &pDiskClass, 0);
O exemplo de código anterior requer a instrução #include a seguir para compilar corretamente.
#include <wbemidl.h>