Développement d’un fournisseur WMI

Un fournisseur est un objet COM (Component Object Model) qui joue le rôle d’intermédiaire entre WMI et un objet géré. Par exemple, lorsqu’une application ou un script demande des données de disque à l’aide de la classe _ LogicalDisk WMI Win32 , les données sont obtenues de manière dynamique via le fournisseur Win32préinstallé.

Si vous souhaitez fournir des données via WMI à d’autres applications, vous pouvez créer un fournisseur de code non géré en écrivant un serveur COM ou via les assistants WMI ATL dans Visual Studio. Vous pouvez écrire un fournisseur de code managé à l’aide de WMI dans l' .NET Framework. Les rubriques de cette section décrivent le processus d’écriture d’un fournisseur COM non managé.

Notes

Pour vous assurer que toutes les définitions de classe WMI pour les objets managés sont restaurées dans l' espace de stockage WMI en cas d’échec et de redémarrage de WMI, utilisez l’instruction # pragma AutoRecover de préprocesseur dans votre fichier format MOF (MOF).

Un fournisseur se compose de classes définies dans le schéma format MOF (MOF) et d’un fichier dll qui exécute les fonctions du fournisseur. Par exemple, le fichier MOF qui définit les classes du fournisseur Win32 est CIMWin32. mof et la DLL est CIMWin32.dll, tous deux se trouvent dans% windir% \ system32 \ WBEM.

Le schéma MOF du fournisseur peut contenir plusieurs types de fournisseurs. Par exemple, le fournisseur du journal des événements possède des types d’instance, de méthode et de fournisseur d’événements dans un fichier MOF nommé ntevt. mof. Il est recommandé que toutes les classes et tous les schémas d’inscription des fournisseurs associés soient assemblés dans un seul fichier, plutôt que de créer un fichier par classe.

En plus d’utiliser des fournisseurs préinstallés, vous pouvez créer votre propre fournisseur pour fournir des informations sur un périphérique matériel ou les opérations du logiciel.

Le tableau suivant répertorie les tâches de base qui créent un fournisseur.

Tâche Description
Conception de classes format MOF (MOF) Développez un modèle pour les entités que vous souhaitez gérer via WMI et créez un fichier format MOF (MOF) pour décrire le schéma.
Fourniture de données à WMI en écrivant un fournisseur Créez le fournisseur le plus basique couplé à WMI.
Incorporation d’un fournisseur dans une application Incluez le fournisseur en tant que composant dans une application s’il ne s’exécute pas tout le temps.
Inscription d’un fournisseur Inscrivez le fournisseur auprès de COM et WMI.
Initialisation d’un fournisseur Implémentez les interfaces IWbemProviderInit et IWbemProviderInitSink .
Appels à WMI Appeler des interfaces WMI à partir d’un fournisseur.
Emprunt de l’identité d’un client Définir la sécurité pour accéder à une application cliente.
Mise à jour d’un fournisseur Améliorez le fournisseur en fonction des besoins.
Déchargement d’un fournisseur Supprimer le fournisseur de la mémoire pendant l’arrêt ou lorsque le fournisseur est inactif.
Fournisseurs de débogage et classes de dépannage et de configuration du fournisseur Déboguez votre fournisseur à l’aide des fonctionnalités fournies par WMI.
Obtention et fourniture de données sur un ordinateur 64 bits Déterminez si vous avez besoin d’un fournisseur de compatibilité des applications 32 bits ou si le fournisseur 64 bits peut fournir des données aux deux clients.

Les rubriques suivantes décrivent les étapes nécessaires pour écrire différents types de fournisseurs :