Método SWbemServices.InstancesOfAsync

El método InstancesOfAsync del objeto SWbemServices recupera instancias de una clase especificada según los criterios especificados por el usuario.

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

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

Sintaxis

SWbemServices.InstancesOfAsync( _
  ByVal ObjWbemSink, _
  ByVal strClass, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Parámetros

ObjWbemSink

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

strClass

Necesario. Cadena que contiene el nombre de la clase para las instancias que desee. Este parámetro no puede estar en blanco.

iFlags [opcional]

Determina la profundidad de la enumeración de llamadas y si la llamada se devuelve inmediatamente. 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 obliga a la enumeración a incluir todas las clases de la jerarquía.

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, consulte 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 requiera información de contexto 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 si realiza varias llamadas asincrónicas mediante 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.

Valor devuelto

Este método no devuelve ningún valor. Si se ejecuta correctamente, el receptor recibe un evento OnObjectReady por 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 InstancesOfAsync, el objeto Err puede contener uno de los códigos de error de la lista siguiente.

wbemErrAccessDenied: 2147749891 (0x80041003)

El usuario actual no tiene permiso para ver las instancias de la clase especificada.

wbemErrFailed - 2147749889 (0x80041001)

Error no especificado.

wbemErrInvalidClass - 2147749904 (0x80041010)

La clase especificada no es válida.

wbemErrInvalidParameter - 2147749896 (0x80041008)

Un parámetro especificado no es válido.

wbemErrOutOfMemory: 2147749894 (0x80041006)

No hay suficiente memoria para completar la operación.

Comentarios

Esta llamada se 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 se devuelva, 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.

El método InstancesOfAsync solo funciona para objetos de clase. No es un error que el enumerador devuelto tenga cero (0) elementos.

Requisitos

Requisito Valor
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

Llamada a un método