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 |
|
Biblioteca de tipos |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |