Método SWbemServices.SubclassesOfAsync

O método SubclassesOfAsync do objeto SWbemServices retorna uma coleção de subclasses para uma classe especificada. Use apenas esse método para objetos de classe.

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

Para obter uma explicação dessa sintaxe, consulte Convenções de Documento para a API de Script.

Sintaxe

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

Parâmetros

ObjWbemSink

Obrigatórios. Coletor de objeto que recebe as subclasses de forma assíncrona. Crie um objeto SWbemSink para receber os objetos.

strSuperclass [opcional]

Especifica um nome de classe pai. Somente as classes que são subclasses dessa classe são retornadas no enumerador. Se esse parâmetro estiver em branco e se iFlags for wbemQueryFlagShallow, somente as classes de nível superior serão retornadas (ou seja, classes que não têm classe pai). Se esse parâmetro estiver em branco e se iFlags for wbemQueryFlagDeep, todas as classes dentro do namespace serão retornadas.

iFlags [opcional]

Determina a profundidade da enumeração de chamada. O valor padrão para esse parâmetro é wbemQueryFlagDeep. 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 para esse parâmetro. Esse valor força a enumeração recursiva em todas as subclasses derivadas da classe pai especificada. A classe pai não é retornada na enumeração.

wbemFlagSendStatus (128 (0x80))

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

wbemFlagDontSendStatus (0 (0x0))

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

wbemFlagUseAmendedQualifiers (131072 (0x20000))

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

objwbemNamedValueSet [opcional]

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

objWbemAsyncContext [opcional]

Um objeto SWbemNamedValueSet que retorna ao coletor de objetos para identificar a origem da chamada assíncrona original. Use esse parâmetro para fazer várias chamadas assíncronas usando o mesmo coletor de objeto. 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 Chamando um método.

Valor retornado

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 recebe um evento OnCompleted .

Códigos do Erro

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

Observação

Uma coleção retornada sem elementos não é um erro.

wbemErrAccessDenied - 2147749891 (0x80041003)

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

wbemErrFailed - 2147749889 (0x80041001)

Erro não especificado.

wbemErrInvalidClass - 2147749904 (0x80041010)

A classe especificada não existe.

wbemErrInvalidParameter - 2147749896 (0x80041008)

Parâmetro inválido foi especificado.

wbemErrOutOfMemory - 2147749894 (0x80041006)

Memória insuficiente para concluir a operação.

Comentários

Essa chamada retorna imediatamente. Os objetos e o status solicitados são retornados ao chamador por meio de retornos de chamada entregues ao coletor especificado em objWbemSink. Para processar cada objeto quando ele chegar, crie um objWbemSink. Sub-rotina de evento OnObjectReady . Depois que todos os objetos forem retornados, você poderá executar o processamento final em sua implementação do objWbemSink. Evento 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 Configurando a Segurança em uma Chamada Assíncrona.

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

SWbemObjectSet