Método SWbemObject.SubclassesAsync_
El método SubclassesAsync\_ de SWbemObject proporciona asincrónicamente las subclases del objeto actual, el cual debe ser una clase.
Para obtener una explicación de esta sintaxis, consulte Convenciones de documentación para la API de scripting.
Sintaxis
SWbemObject.SubclassesAsync_( _
ByVal objWbemSink, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
Parámetros
-
objWbemSink [en]
-
Necesario. Receptor de objetos que recibe los objetos de forma asincrónica.
-
iFlags [entrada, opcional]
-
Determina cómo se enumera la llamada detallada. Este parámetro puede aceptar los valores siguientes.
-
wbemQueryFlagDeep (0 (0x0))
-
Fuerza la enumeración recursiva en todas las subclases derivadas de la clase primaria especificada. La clase principal misma no se devuelve en la enumeración.
-
wbemQueryFlagShallow (1 (0x1))
-
Valor predeterminado de este parámetro. Obliga a la enumeración a incluir solo subclases inmediatas de la clase principal especificada.
-
wbemFlagSendStatus (128 (0x80))
-
Hace que las llamadas asincrónicas envíen actualizaciones de estado al controlador de eventos SWbemSink.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 obtener más información sobre los calificadores modificados, consulte Localizar información de clase WMI.
objWbemNamedValueSet [entrada, 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.
objWbemAsyncContext [entrada, opcional]
Se trata de un objeto SWbemNamedValueSet que se devuelve al receptor del objeto para identificar el origen de la llamada asincrónica original. Use este parámetro cuando realice 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 para 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 SubclassesAsync_, el objeto Err puede contener uno de los códigos de error de la lista siguiente.
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
El usuario 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, use comunicación semisincrónica o sincrónica. Para más información, consulte Llamada a un método.
Se recomienda que los scripts comprueben el origen de la llamada mediante un parámetro objWbemAsyncContext.
No es un error para la colección devuelta tener cero elementos si no hay subclases del objeto actual. El método SubclassesAsync_ solo funciona para objetos de clase.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Encabezado |
|
Biblioteca de tipos |
|
Archivo DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |