Description d’un chemin d’accès d’objet de classe

Un chemin d’accès à l’objet de classe décrit l’emplacement d’une classe dans un espace de noms.

Vous pouvez utiliser les méthodes suivantes pour spécifier un chemin d’accès à l’objet :

  • Un chemin d'accès complet à une classe ajoute le nom de la classe à un chemin d'accès à l'espace de noms.

    L’exemple suivant montre l’emplacement de la classe Win32_LogicalDisk dans l’espace de noms \root\cimv2 sur le serveur nommé Admin.

    \\Admin\Root\CimV2:Win32_LogicalDisk
    
  • Un chemin d’accès d’objet relatif représente une classe qui réside dans l’espace de noms actuel. Un chemin d’accès d’objet relatif à une classe contient uniquement le nom de la classe.

    L’exemple suivant montre le chemin d’accès relatif à la classe Win32_LogicalDisk.

    Win32_LogicalDisk
    

Lorsque vous interrogez un nom de classe mais que vous ne spécifiez aucune instance, WMI retourne la définition de classe. La procédure suivante décrit comment récupérer une définition de classe dans VBScript.

Pour récupérer une définition de classe dans VBScript

  • Vous pouvez utiliser la connexion moniker avec une requête ou GetObject. Vous pouvez également utiliser SWbemServices.Get.

    L’exemple suivant montre comment utiliser GetObject pour obtenir une définition de classe.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
       & "{impersonationLevel=impersonate}!\\" _
       & strComputer & "\root\cimv2:Win32_Printer")
    

    L’exemple suivant montre comment interroger une définition de classe.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" _
        & strComputer & "\root\cimv2")
    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer")
    

Vous pouvez récupérer une définition de classe en C++ en spécifiant uniquement le nom de la classe et aucun chemin d’accès à une instance particulière. La procédure suivante décrit comment récupérer une définition de classe en C++.

Pour récupérer une définition de classe dans C++

  • Appelez les fonctions IWbemServices::GetObject ou IWbemServices::GetObjectAsync.

    L'exemple suivant montre comment appeler la fonction IWbemServices::GetObject.

    IWbemServices* pSvcs = 0;
    
    BSTR Path = SysAllocString(L"Win32_LogicalDisk");
    IWbemClassObject *pDiskClass = 0;
    pSvcs->GetObject(Path, 0, 0, &pDiskClass, 0);
    

    L'exemple de code précédent nécessite l'instruction #include suivante pour être compilé correctement.

    #include <wbemidl.h>