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 |
|
Biblioteca de tipos |
|
Archivo DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |