Partilhar via


Como Escrever um Provedor de Instância

Um provedor de instâncias fornece instâncias de uma ou mais classes determinadas. Por exemplo, um provedor de instância pode fornecer informações sobre uma CPU ou outro tipo de hardware. Como os objetos gerenciados por um provedor de instância tendem a mudar regularmente, todos os provedores de instância são considerados provedores pull; ou seja, um provedor que recupera dinamicamente informações sobre um objeto gerenciado sempre que o WMI faz uma solicitação para as informações. O nome vem da ideia de que o WMI "extrai" as informações do provedor em nome de uma solicitação do cliente. Usando a tecnologia pull, um provedor de instância pode oferecer suporte à recuperação, enumeração, modificação, exclusão e processamento de consultas de uma instância específica.

Os provedores de alto desempenho podem aumentar a eficiência de um provedor de instância ou acessar programaticamente os dados que aparecem no Monitor do Sistema. Para obter mais informações, consulte Transformar um Instance Provider em um Provider High-Performance.

O procedimento a seguir descreve como escrever um provedor de instância.

Para criar um provedor de instâncias

  1. Registe o seu fornecedor com WMI.

    Os provedores de instâncias se registram no WMI criando uma instância __Win32Provider e uma classe __InstanceProviderRegistration.

  2. Inicialize o seu provedor.

    O WMI usa IWbemProviderInit para carregar e inicializar um provedor. Esta é uma tarefa comum a todos os fornecedores.

    Observação

    Os provedores de instância são fortemente incentivados a usar o modelo de multithreading "Both".

     

  3. Implemente a interface IWbemServices para seu provedor.

    A interface IWbemServices é a interface principal para um fornecedor de instâncias.

  4. Adicione qualquer código adicional necessário para o seu provedor.

    Ao projetar seu provedor, você provavelmente precisará chamar interfaces WMI. Para obter mais informações, consulte Efetuando chamadas para WMI.

    Ao recuperar informações para um cliente, talvez seja necessário acessar os níveis de segurança desse cliente. Para obter mais informações, consulte Fingir ser um cliente.

  5. Se necessário, implementar a interface de alto desempenho.

    A interface de alto desempenho aumenta a velocidade com que o provedor pode reagir às solicitações do WMI.

  6. Se necessário, implementar suporte para atualizações de instância parcial.

    Como o nome indica, uma atualização de instância parcial é uma técnica usada para atualizar apenas parte de uma instância. Para obter mais informações sobre como chamar uma instância parcial de um cliente, consulte Atualizando Parte de uma Instância e Recuperando Parte de uma Instância WMI.

  7. Substitua o provedor preexistente pelo novo código.

    Você não precisa executar esta etapa se não tiver um provedor preexistente para copiar. Para obter mais informações, consulte atualizando um provedor.