Descripción de una ruta de acceso de objeto de clase

Una ruta de acceso de objeto de clase describe la ubicación de una clase dentro de un espacio de nombres.

Puede usar los métodos siguientes para especificar una ruta de acceso de objeto:

  • Una ruta de acceso de objeto completa a una clase anexa el nombre de clase a una ruta de acceso de espacio de nombres.

    En el ejemplo siguiente se muestra la ubicación de la clase Win32_LogicalDisk dentro del espacio de nombres \root\cimv2 en el servidor denominado Administración.

    \\Admin\Root\CimV2:Win32_LogicalDisk
    
  • Una ruta de acceso de objeto relativa representa una clase que reside en el espacio de nombres actual. Una ruta de acceso de objeto relativa a una clase solo contiene el nombre de clase.

    En el ejemplo siguiente se muestra la ruta de acceso relativa a la clase Win32_LogicalDisk.

    Win32_LogicalDisk
    

Cuando se consulta un nombre de clase pero no se especifica ninguna instancia, WMI devuelve la definición de clase. En el procedimiento siguiente se describe cómo recuperar una definición de clase en VBScript.

Para recuperar una definición de clase en VBScript

  • Puede usar la conexión de moniker con una consulta o GetObject. También puede usar SWbemServices.Get.

    En el ejemplo siguiente se muestra cómo usar GetObject para obtener una definición de clase.

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

    En el ejemplo siguiente se muestra cómo consultar una definición de clase.

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

Puede recuperar una definición de clase en C++ especificando solo el nombre de clase y ninguna ruta de acceso a una instancia determinada. En el procedimiento siguiente se describe cómo recuperar una definición de clase en C++.

Para recuperar una definición de clase en C++

  • Realice una llamada a las funciones IWbemServices::GetObject o IWbemServices::GetObjectAsync.

    El siguiente ejemplo muestra cómo llamar a la funciónIWbemServices::GetObject.

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

    El ejemplo de código anterior requiere que la siguiente instrucción #include se compile correctamente.

    #include <wbemidl.h>