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
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.
Crie uma sub-rotina OnObjectReady para manusear objetos através da consulta.
Crie uma subrotina OnCompleted para lidar com a conclusão da consulta.
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)