Descrizione di un percorso oggetto classe
Un percorso oggetto classe descrive la posizione di una classe all'interno di uno spazio dei nomi.
Per specificare un percorso oggetto, è possibile utilizzare i metodi seguenti:
Un percorso completo di un oggetto verso una classe aggiunge il nome della classe a un percorso del namespace.
Nell'esempio seguente viene illustrato il percorso della classe Win32_LogicalDisk all'interno \rdello spazio dei nomi oot\cimv2 nel server denominato Admin.
\\Admin\Root\CimV2:Win32_LogicalDisk
Un percorso oggetto relativo rappresenta una classe che risiede nello spazio dei nomi corrente. Un percorso dell'oggetto relativo a una classe contiene solo il nome della classe.
Nell'esempio seguente viene illustrato il percorso relativo della classe Win32_LogicalDisk.
Win32_LogicalDisk
Quando si esegue una query per un nome di classe ma non si specificano istanze, WMI restituisce la definizione della classe. La procedura seguente descrive come recuperare una definizione di classe in VBScript.
Per recuperare una definizione di classe in VBScript
È possibile utilizzare la connessione moniker sia con una query che con GetObject. È anche possibile usare SWbemServices.Get.
Nell'esempio seguente viene illustrato come usare GetObject per ottenere una definizione di classe.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2:Win32_Printer")
Nell'esempio seguente viene illustrato come eseguire una query per una definizione di classe.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer")
È possibile recuperare una definizione di classe in C++ specificando solo il nome della classe e nessun percorso di una determinata istanza. La procedura seguente descrive come recuperare una definizione di classe in C++.
Per recuperare una definizione di classe in C++
Effettuare una chiamata alle funzioni di IWbemServices::GetObject o IWbemServices::GetObjectAsync.
Nell'esempio seguente viene illustrato come chiamare la funzioneIWbemServices::GetObject.
IWbemServices* pSvcs = 0; BSTR Path = SysAllocString(L"Win32_LogicalDisk"); IWbemClassObject *pDiskClass = 0; pSvcs->GetObject(Path, 0, 0, &pDiskClass, 0);
L'esempio di codice precedente richiede che l'istruzione #include seguente venga compilata correttamente.
#include <wbemidl.h>