Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
No Configuration Manager, para efetuar uma consulta assíncrona com 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 processadores de eventos:
QueryProcessObjectReady. Este processador de eventos é chamado para cada objeto devolvido pela consulta. O processador de eventos fornece um objeto IResultObject que representa o objeto.
QueryProcessCompleted. Este processador de eventos é chamado quando a consulta é concluída. Também fornece informações sobre quaisquer erros que ocorram. Para obter mais informações, consulte Para obter informações sobre o processamento de erros, veja Como Lidar com erros assíncronos Configuration Manager utilizando o Código Gerido.
O segundo parâmetro do método ProcessQuery é a instrução WQL da consulta.
Para executar uma consulta assíncrona
Configure uma ligação ao Fornecedor de SMS. Para obter mais informações, veja Noções básicas do Fornecedor de SMS.
Crie o objeto SmsBackgroundWorker e preencha as propriedades QueryProcessorObjectReady e QueryProcessorCompleted com os nomes dos métodos de chamada de retorno.
No objeto WqlConnectionManager que obtém no primeiro passo, chame o método ProcessQuery do objeto QueryProcessor para iniciar a consulta assíncrona.
Exemplo
O exemplo seguinte consulta todos os objetos SMS_Collection disponíveis e, no processador de eventos, o exemplo escreve várias das propriedades da coleção na consola do Configuration Manager.
Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.
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 | Descrição |
|---|---|---|
connection |
Gerido: WqlConnectionManager |
Uma ligação válida ao Fornecedor de SMS. |
Compilando o código
Namespaces
System
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programação robusta
As Configuration Manager exceções que podem ser geradas são SmsConnectionException e SmsQueryException. Estes podem ser capturados em conjunto com SmsException.
Confira também
Descrição geral dos objetosConfiguration Manager Propriedades LentasComo Chamar um Método de Classe de Objeto Configuration Manager através do Código GeridoComo Ligar a um Fornecedor de Configuration Manager através do Código GeridoComo Criar um Configuration Manager Objeto ao Utilizar Código GeridoComo Modificar um Objeto de Configuration Manager Utilizando Código GeridoComo Executar uma Consulta de Configuration Manager Síncrona com o Código GeridoComo Ler uma Configuration Manager Object by Using Managed CodeHow to Read Lazy Properties by Using Managed CodeHow to Perform a Synchronous Configuration Manager Query Using Managed CodeConfiguration Manager Extended WMI Query LanguageConfiguration Manager Result SetsConfiguration Manager consultas especiaissobre consultas