Método SWbemServices.SubclassesOfAsync

El método SubclassesOfAsync del objeto SWbemServices devuelve una colección de subclases para una clase especificada. Use este método solo para objetos de clase.

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

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

Sintaxis

SWbemServices.SubclassesOfAsync( _
  ByVal ObjWbemSink, _
  [ ByVal strSuperclass ], _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Parámetros

ObjWbemSink

Necesario. Receptor de objetos que recibe las subclases de forma asincrónica. Cree un objeto SWbemSink para recibir los objetos.

strSuperclass [opcional]

Especifica un nombre de clase principal. Solo las clases que son subclases de esta clase se devuelven en el enumerador. Si este parámetro está 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 la profundidad de la enumeración de llamadas. El valor predeterminado de este parámetro es wbemQueryFlagDeep. Este parámetro puede aceptar los valores siguientes.

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.

wbemFlagSendStatus (128 (0x80))

Hace que las llamadas asincrónicas envíen actualizaciones de estado al controlador de eventos OnProgress para el receptor de objetos.

wbemFlagDontSendStatus (0 (0x0))

Impide que las llamadas asincrónicas envíen actualizaciones de estado al controlador de eventos OnProgress para el receptor de objetos.

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, este parámetro 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.

objWbemAsyncContext [opcional]

Objeto SWbemNamedValueSet que se devuelve al receptor del objeto para identificar el origen de la llamada asincrónica original. Use este parámetro para realizar varias llamadas asincrónicas con el mismo receptor de objetos. Para usar este parámetro, cree un objeto SWbemNamedValueSet y use el método SWbemNamedValueSet.Add para agregar un valor que identifique la llamada asincrónica que realiza. Este objeto SWbemNamedValueSet se devuelve al receptor del objeto y el origen de la llamada se puede extraer mediante el método SWbemNamedValueSet.Item. Para más información, vea Llamada a un método.

Valor devuelto

Este método no devuelve ningún valor. Si se ejecuta correctamente, el receptor recibe un evento OnObjectReady por cada instancia. Después de la última instancia, el receptor del objeto recibe un evento OnCompleted.

Códigos de error

Después de completar el método SubcSubclassesOfAsynclassesOf, 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.

Comentarios

Esta llamada devuelve inmediatamente. Los objetos y el estado solicitados se devuelven al autor de la llamada mediante devoluciones de llamada entregadas al receptor especificado en objWbemSink. Para procesar cada objeto cuando llegue, cree una subrutina de eventos objWbemSink.OnObjectReady. Una vez que se devuelven todos los objetos, puede realizar el procesamiento final en la implementación del evento objWbemSink.OnCompleted.

Una devolución de llamada asincrónica permite a un usuario no autenticado proporcionar datos al receptor. Esto supone riesgos de seguridad para los scripts y las aplicaciones. Para eliminar los riesgos, consulte Establecimiento de la seguridad en una llamada asincrónica.

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