Método SWbemServices.SubclassesOf

El método SubclassesOf del objeto SWbemServices devuelve un objeto SWbemObjectSet. Este objeto es una colección de subclases de una clase especificada. Los elementos de la colección devuelta se pueden obtener mediante métodos de colección estándar. Para obtener más información, consulte Acceso a una colección.

Este método solo funciona para objetos de clase.

Se llama al método en el modo semisincrónico. Para obtener más información, consulte Llamada a un método.

Para obtener una explicación de esta sintaxis, vea Convenciones de documentación para la API de scripting.

Sintaxis

objWbemObjectSet = .SubclassesOf( _
  [ ByVal strSuperclass ], _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

Parámetros

strSuperclass [opcional]

Especifica un nombre de clase principal. Solo las subclases de esta clase se devuelven en el enumerador. Si deja este parámetro en blanco y si iFlags es wbemQueryFlagShallow, solo se devuelven las clases de nivel superior (es decir, las clases que no tienen ninguna clase principal). Si este parámetro está en blanco y iFlags es wbemQueryFlagDeep, se devuelven todas las clases del espacio de nombres.

iFlags [opcional]

Determina cómo se enumera la llamada detallada. Los valores predeterminados de este parámetro son wbemFlagReturnImmediately y wbemQueryFlagDeep. Este parámetro puede aceptar los siguientes valores.

wbemQueryFlagShallow (1 (0x1))

Obliga a la enumeración a incluir solo subclases inmediatas de la clase principal especificada.

wbemQueryFlagDeep (0 (0x0))

Valor predeterminado para este parámetro. Este valor fuerza la enumeración recursiva en todas las subclases derivadas de la clase principal especificada. La clase principal no se devuelve en la enumeración.

wbemFlagReturnImmediately (16 (0x10))

Hace que la llamada se devuelva inmediatamente.

wbemFlagReturnWhenComplete (0 (0x0))

Hace que esta llamada se bloquee hasta que se haya completado la llamada. Esta marca llama al método en el modo sincrónico.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Hace que WMI devuelva datos de modificación de clase con la definición de clase base. Para más información, vea Localización de información de clases WMI.

objWbemNamedValueSet [opcional]

Normalmente, esto no está definido. De lo contrario, se trata de un objeto SWbemNamedValueSet cuyos elementos representan la información de contexto que puede usar el proveedor que atiende la solicitud. Un proveedor que admita o necesite esa información debe documentar los nombres de valor reconocidos, el tipo de datos del valor, los valores permitidos y la semántica.

Valor devuelto

Si el método se ejecuta correctamente, se devuelve un objeto SWbemObjectSet.

Códigos de error

Después de completar el método SubclassesOf, el objeto Err puede contener uno de los códigos de error de la lista siguiente.

Nota

Una colección devuelta con cero elementos no es un error.

wbemErrAccessDenied: 2147749891 (0x80041003)

El usuario actual no tiene permiso para ver una o varias de las clases devueltas por la llamada.

wbemErrFailed: 2147749889 (0x80041001)

Error no especificado.

wbemErrInvalidClass: 2147749904 (0x80041010)

La clase especificada no existe.

wbemErrInvalidParameter - 2147749896 (0x80041008)

Se ha especificado un parámetro no válido.

wbemErrOutOfMemory: 2147749894 (0x80041006)

No hay suficiente memoria para completar la operación.

Ejemplos

En el ejemplo de PowerShell siguiente se muestra cómo recuperar las subclases de una clase en un sistema remoto.

$NameSpace = 'root\ccm'
$ComputerName = 'sccm.company.com'
$WbemLocator = New-Object -ComObject "WbemScripting.SWbemLocator"
$WbemServices = $WbemLocator.ConnectServer($ComputerName, $Namespace)
$WbemClasses = $WbemServices.SubclassesOf()
$WbemClasses

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008
Encabezado
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
Archivo DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

Consulte también

SWbemServices

SWbemObjectSet