Método SWbemServices.InstancesOfAsync

O método InstancesOfAsync do objeto SWbemServices recupera instâncias de uma classe especificada de acordo com os critérios definidos pelo usuário.

O método é chamado no modo assíncrono. Para obter mais informações, consulte Chamar um método.

Para obter a explicação da sintaxe, consulte Convenções de documento para a API de Script.

Sintaxe

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

Parâmetros

ObjWbemSink

Coletor de objeto que recebe as instâncias de maneira assíncrona. Crie um objeto SWbemSink para receber os objetos.

strClass

Obrigatório. Cadeia de caracteres que contém o nome da classe para as instâncias desejadas. Este parâmetro não pode ficar em branco.

iFlags [opcional]

Determina a profundidade da enumeração de chamada e se a chamada retorna imediatamente ou não. Esse parâmetro pode aceitar os valores a seguir.

wbemQueryFlagShallow (1 (0x1))

Força a enumeração a incluir apenas subclasses imediatas da classe pai especificada.

wbemQueryFlagDeep (0 (0x0))

Padrão desse parâmetro. Esse valor força a enumeração a incluir todas as classes na hierarquia.

wbemFlagSendStatus (128 (0x80))

Faz com que chamadas assíncronas enviem atualizações de status ao manipulador de eventos OnProgress para o coletor de objetos.

wbemFlagDontSendStatus (0 (0x0))

Evita que chamadas assíncronas enviem atualizações de status ao manipulador de eventos OnProgress do coletor de objetos.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Faz com que o WMI retorne dados de aditamento da classe com a definição da classe base. Para obter mais informações, consulte Localizar informações de classe WMI.

objWbemNamedValueSet [opcional]

Normalmente, isso é indefinido. Caso contrário, esse será um objeto SWbemNamedValueSet cujos elementos representam as informações de contexto que podem ser usadas pelo provedor que está atendendo à solicitação. Um provedor que dê suporte ou exija informações de contexto deve documentar os nomes de valor reconhecidos, o tipo de dados do valor, os valores permitidos e a semântica.

objWbemAsyncContext [opcional]

Um objeto SWbemNamedValueSet que é retornado ao coletor de objetos para identificar a origem da chamada assíncrona original. Use esse parâmetro se estiver fazendo várias chamadas assíncronas usando o mesmo coletor de objetos. Para usar esse parâmetro, crie um objeto SWbemNamedValueSet e use o método SWbemNamedValueSet.Add para adicionar um valor que identifique a chamada assíncrona que você está fazendo. Esse objeto SWbemNamedValueSet é retornado ao coletor de objeto, e a origem da chamada pode ser extraída usando o método SWbemNamedValueSet.Item.

Retornar valor

Esse método não retorna um valor. Se tiver êxito, o coletor receberá um evento OnObjectReady por instância. Após a última instância, o coletor de objetos receberá um evento OnCompleted.

Códigos do Erro

Após a conclusão do método InstancesOfAsync, o objeto de Erro pode conter um dos códigos de erro da lista a seguir.

wbemErrAccessDenied - 2147749891 (0x80041003)

O usuário atual não tem permissão para visualizar instâncias da classe especificada.

wbemErrFailed - 2147749889 (0x80041001)

Ocorreu um erro não especificado.

wbemErrInvalidClass - 2147749904 (0x80041010)

A classe especificada não é válida.

wbemErrInvalidParameter - 2147749896 (0x80041008)

Um parâmetro especificado não é válido.

wbemErrOutOfMemory – 2147749894 (0x80041006)

Não há memória suficiente para concluir a operação.

Comentários

Essa chamada é retornada imediatamente. Os objetos solicitados e o status são retornados ao chamador por meio de retornos de chamada entregues ao coletor especificado no objWbemSink. Para processar cada objeto quando ele retornar, crie uma sub-rotina de evento objWbemSink.OnObjectReady. Depois que todos os objetos forem retornados, execute o processamento final na implementação do evento objWbemSink.OnCompleted.

Um retorno de chamada assíncrono permite que um usuário não autenticado forneça dados ao coletor. Isso representa riscos de segurança para seus scripts e aplicativos. Para eliminar os riscos, consulte Configurar a segurança em uma chamada assíncrona

O método InstancesOfAsync só funciona para objetos de classe. Não é um erro para o enumerador retornado ter zero (0) elementos.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Cabeçalho
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

Confira também

SWbemServices

Chamar um método