Como executar uma consulta de gestor de configuração assíncronea através da utilização de código gerido
No Gestor de Configuração, para realizar uma consulta assíncronea utilizando o fornecedor de SMS gerido, utilize o método ProcessQuery.
O primeiro parâmetro do método ProcessQuery é uma instância da classe SmsBackgroundWorker que fornece dois manipuladores de eventos:
ConsultaProcessObjectReady. Este manipulador de eventos é chamado para cada objeto devolvido pela consulta. O manipulador de eventos fornece um objeto IResultObject que representa o objeto.
ConsultaProcessAda. Este manipulador de eventos é chamado quando a consulta estiver concluída. Também fornece informações sobre quaisquer erros que ocorram. Para obter mais informações, consulte Para obter informações sobre o manuseamento de erros, consulte Como Lidar com erros assíncronos do Gestor de Configuração utilizando código gerido.
O segundo parâmetro do método ProcessQuery é a declaração WQL para a consulta.
Para realizar uma consulta assíncronea
Configurar uma ligação com o Fornecedor DE SMS. Para mais informações, consulte os fundamentos do Fornecedor de SMS.
Crie o objeto SmsBackgroundWorker e povoe as propriedades QueryProcessorObjectReady e QueryProcessorCompleted com os nomes do método de chamada.
A partir do objeto WqlConnectionManager que obtém no primeiro passo, ligue para o método Processo processo para iniciar a consulta assíncronda.
Exemplo
As seguintes consultas de exemplo para todos os objetos SMS_Collection disponíveis, e no manipulador de eventos, o exemplo escreve várias das propriedades de coleção para a consola Do Gestor de Configuração.
Para obter informações sobre a chamada do código de amostra, consulte o Código de Identificação do Gestor de Chamadas.
public void QueryCollections(WqlConnectionManager connection)
{
try
{
// Set up the query.
SmsBackgroundWorker bw1 = new SmsBackgroundWorker();
bw1.QueryProcessorObjectReady += new EventHandler<QueryProcessorObjectEventArgs>(bw1_QueryProcessorObjectReady);
bw1.QueryProcessorCompleted += new EventHandler<RunWorkerCompletedEventArgs>(bw1_QueryProcessorCompleted);
// Query for all collections.
connection.QueryProcessor.ProcessQuery(bw1, "select * from SMS_Collection");
// Pause while query runs.
Console.ReadLine();
}
catch (SmsException ex)
{
Console.WriteLine("Failed to start asynchronous query: ", ex.Message);
}
}
void bw1_QueryProcessorObjectReady(object sender, QueryProcessorObjectEventArgs e)
{
try
{
// Get the collection.
IResultObject collection = (IResultObject)e.ResultObject;
//Display properties.
Console.WriteLine(collection["CollectionID"].StringValue);
Console.WriteLine(collection["Name"].StringValue);
Console.WriteLine();
collection.Dispose();
}
catch (SmsQueryException eX)
{
Console.WriteLine("Query Error: " + eX.Message);
}
}
void bw1_QueryProcessorCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Console.WriteLine("Done...");
}
Este método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Description |
---|---|---|
connection |
Gerido: WqlConnectionManager |
Uma ligação válida ao Fornecedor de SMS. |
A Compilar o Código
Espaços de nomes
Sistema
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assemblagem
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programação Robusta
As exceções do Gestor de Configuração que podem ser levantadas são SmsConnectionException e SmsQueryException. Estes podem ser apanhados juntamente com o SmsException.
Consulte também
Visão geral de objetos Gestor de Configuração Propriedades Preguiçosas
Como chamar um método de classe de objeto de gestor de configuração usando código gerido
Como Ligação a um fornecedor de gestor de configuração usando código gerido
Como criar um objeto de gestor de configuração usando código gerido
Como modificar um objeto de gestor de configuração utilizando código gerido
Como executar uma consulta de gestor de configuração sincronizada através da utilização de código gerido
Como ler um objeto de gestor de configuração usando código gerido
Como ler propriedades preguiçosas usando código gerido
Como executar uma consulta de gestor de configuração sincronizada usando código gerido
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)