Partilhar via


Como realizar uma consulta de gestor de configuração assíncronea usando o WMI

No Gestor de Configuração, executa uma consulta sincronizada para objetos do Gestor de Configuração, chamando o método execQueryAsync do objeto SWbemServices e implementando um método de pia para lidar com os resultados da consulta.

Para manusear cada objeto devolvido, crie uma subroutina de evento objWbemSink.OnObjectReady. Para ser notificado quando a consulta estiver concluída, crie uma subroutina de evento objWbemSink.OnCompleted.

Nota

As propriedades preguiçosas não são devolvidas em consultas assíncronas. Para obter mais informações, consulte Como Ler Propriedades Preguiçosas utilizando o WMI.

Para realizar uma consulta assíncronea

  1. Configurar uma ligação com o Fornecedor DE SMS. Para obter mais informações, consulte Como Ligação a um Fornecedor de SMS no Gestor de Configuração utilizando o WMI.

  2. Crie uma sub-rotina OnObjectReady para manusear objetos através da consulta.

  3. Crie uma subrotina OnCompleted para lidar com a conclusão da consulta.

  4. Utilizando o objeto SWbemServices que obtém a partir do primeiro passo, utilize o objeto ExecQueryAsync para consultar os objetos do Gestor de Configuração assíncronamente.

Exemplo

As seguintes consultas de código VBScript assíncroneas para todos os objetos SMS_Collection.

Para obter informações sobre a chamada do código de amostra, consulte o Código de Identificação do Gestor de Chamadas.

Dim bdone  
Sub QueryCollection(connection)  

    Dim sink  
    bdone = False  

    Set sink = WScript.CreateObject("wbemscripting.swbemsink","sink_")  

    ' Query for all collections.  
    connection.ExecQueryAsync sink, "select * from SMS_Collection"  

    ' Wait until all instances are returned.  
    While Not bdone      
        wscript.sleep 1000  
    Wend  
 End Sub     

' The sink subroutine to handle the OnObjectReady   
' event. This is called as each object returns.  
Sub sink_OnObjectReady(collection, octx)  
    WScript.Echo "CollectionID: " + collection.CollectionID  
    WScript.Echo "Name: " + collection.Name  
    Wscript.Echo  
End Sub  

' The sink subroutine to handle the OnCompleted event.  
' This is called when all the objects are returned.   
' The oErr parameter obtains an SWbemLastError object,  
' if available from the provider.  
Sub sink_OnCompleted(HResult, oErr, oCtx)  
    WScript.Echo "All collections returned"  
    bdone = true  
End Sub  

Este método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Description
connection SWbemServices Uma ligação válida ao Fornecedor de SMS.

Consulte também

Windows Instrumentação de Gestão
Visão geral de objetos Como chamar um método de classe de objeto de gestor de configuração usando WMI
Como Ligação a um fornecedor de SMS no Gestor de Configuração através da utilização do WMI
Como criar um objeto de gestor de configuração usando o WMI
Como eliminar um objeto de gestor de configuração usando o WMI
Como modificar um objeto de gestor de configuração usando o WMI
Como executar uma consulta de gestor de configuração sincronizada usando o WMI
Como ler um objeto de gestor de configuração usando o WMI
Como ler propriedades preguiçosas usando o WMI
Gestor de configuração disse que a linguagem de consulta do WMI alargou
Conjuntos de resultados do gestor de configuração
Consultas especiais do gestor de configuração
About queries (Acerca das consultas)