Partilhar via


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:

Para realizar uma consulta assíncronea

  1. Configurar uma ligação com o Fornecedor DE SMS. Para mais informações, consulte os fundamentos do Fornecedor de SMS.

  2. Crie o objeto SmsBackgroundWorker e povoe as propriedades QueryProcessorObjectReady e QueryProcessorCompleted com os nomes do método de chamada.

  3. 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)