Método SWbemObject.SubclassesAsync_

O método SubclassesAsync_ de SWbemObject fornece de forma assíncrona as subclasses do objeto atual, que deve ser uma classe.

Para conferir uma explicação dessa sintaxe, consulte Convenções de documentação para API de script.

Sintaxe

SWbemObject.SubclassesAsync_( _
  ByVal objWbemSink, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Parâmetros

objWbemSink [entrada]

Obrigatórios. Coletor de objetos que recebe os objetos de maneira assíncrona.

iFlags [in, opcional]

Determina o quão detalhadamente a chamada enumera. Esse parâmetro pode aceitar os valores a seguir.

wbemQueryFlagDeep (0 (0x0))

Força a enumeração recursiva em todas as subclasses derivadas da classe pai especificada. A própria classe pai não é retornada na enumeração.

wbemQueryFlagShallow (1 (0x1))

Padrão desse parâmetro. Força a enumeração a incluir apenas subclasses imediatas da classe pai especificada.

wbemFlagSendStatus (128 (0x80))

Faz com que chamadas assíncronas enviem atualizações de status ao manipulador de eventos SWbemSink.OnProgress do 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 sobre qualificadores alterados, confira Localizar informações de classe do WMI.

objWbemNamedValueSet [entrada, 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 essas informações deve documentar os nomes de valor reconhecidos, o tipo de dados do valor, os valores permitidos e a semântica.

objWbemAsyncContext [entrada, opcional]

Este é um objeto SWbemNamedValueSet que é retornado ao coletor de objetos para identificar a origem da chamada assíncrona original. Utilize esse parâmetro quando fizer 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 objetos e a origem da chamada pode ser extraída usando o método SWbemNamedValueSet.Item. Para obter mais informações, consulte Chamar um método.

Retornar valor

Esse método não retorna um valor. Se tiver êxito, o coletor receberá um evento OnObjectReady para cada 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 SubclassesAsync_, o objeto Err poderá conter um dos códigos de erro da lista a seguir.

wbemErrAccessDenied - 2147749891 (0x80041003)

O usuário atual não tem permissão para exibir uma ou mais das classes retornadas pela função.

wbemErrFailed – 2147749889 (0x80041001)

Erro não especificado.

wbemErrInvalidClass – 2147749904 (0x80041010)

A classe especificada não existe.

wbemErrInvalidParameter – 2147749896 (0x80041008)

Foi especificado um parâmetro invá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 que chegar, crie uma sub-rotina do evento objWbemSink.OnObjectReady. Depois que todos os objetos forem retornados, você poderá executar 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, use comunicação semissíncrona ou síncrona. Para obter mais informações, consulte Chamar um método.

É recomendável que os scripts verifiquem a origem da chamada usando um parâmetro objWbemAsyncContext.

Não é um erro a coleção retornada ter zero elementos se não houver subclasses do objeto atual. O método SubclassesAsync_ funciona apenas para objetos de classe.

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_SWbemObject
IID
IID_ISWbemObject

Confira também

SWbemObject

SWbemObjectSet

SWbemRefreshableItem