Écriture d’un fournisseur d’instance

Un fournisseur d'instances fournit des instances d'une ou plusieurs classes données. Par exemple, un fournisseur de instance peut fournir des informations sur un processeur ou un autre type de matériel. Étant donné que les objets gérés par un fournisseur de instance ont tendance à changer régulièrement, tous les fournisseurs instance sont considérés comme des fournisseurs d’extraction, c’est-à-dire un fournisseur qui récupère dynamiquement des informations concernant un objet managé chaque fois que WMI effectue une requête d’informations. Le nom provient de l’idée que WMI « extrait » les informations du fournisseur pour le compte d’une requête cliente. À l’aide de la technologie d’extraction, un fournisseur de instance peut prendre en charge l’extraction, l’énumération, la modification, la suppression et le traitement des requêtes d’un instance spécifique.

Les fournisseurs hautes performances peuvent augmenter l’efficacité d’un fournisseur de instance ou accéder par programmation aux données qui s’affichent dans le Moniteur système. Pour plus d’informations, consultez Faire d’un fournisseur d’instance un fournisseur d'High-Performance.

La procédure suivante décrit comment écrire un fournisseur de instance.

Pour écrire un fournisseur de instance

  1. Enregistrer votre fournisseur auprès de WMI.

    Les fournisseurs de classes s'enregistrent auprès de WMI en créant une instance __Win32Provider et une instance __ClassProviderRegistration.

  2. Initialise votre fournisseur.

    WMI utilise IWbemProviderInit pour charger et initialiser un fournisseur. Il s’agit d’une tâche commune à tous les fournisseurs.

    Notes

    Les fournisseurs de classes sont fortement encouragés à utiliser le modèle multithreading « Both ».

     

  3. Implémenter l'interface IWbemServices pour votre fournisseur.

    L’interface IWbemServices est l’interface principale d’un fournisseur de classe pull.

  4. Ajoutez tout code supplémentaire nécessaire pour votre fournisseur.

    Lors de la conception de votre fournisseur, vous devrez probablement appeler des interfaces WMI. Pour plus d’informations, consultez Passer des appels à WMI.

    Lorsque vous récupérez des informations pour un client, vous devrez peut-être accéder aux niveaux de sécurité de ce client. Pour plus d’informations, consultez Emprunt d’identité d’un client.

  5. Si nécessaire, implémentez l’interface hautes performances.

    L’interface hautes performances augmente la vitesse à laquelle le fournisseur peut réagir aux requêtes de WMI.

  6. Si nécessaire, implémentez la prise en charge des mises à jour instance partielles.

    Comme son nom l’indique, une mise à jour à instance partielle est une technique utilisée pour mettre à jour uniquement une partie d’un instance. Pour plus d’informations sur l’appel d’une instance partielle à partir d’un client, consultez Mise à jour d’une partie d’une instance et Récupération d’une partie d’une instance WMI.

  7. Remplacez le fournisseur préexistant par votre nouveau code.

    Cette étape n’est pas nécessaire si vous n’avez pas de fournisseur préexistant à écraser. Pour plus d’informations, consultez Mise à jour d’un fournisseur.