Développement d’un fournisseur WMI
Un fournisseur est un objet Component Object Model (COM) qui sert d’intermédiaire entre WMI et un objet managé. Par exemple, lorsqu’une application ou un script demande des données du disque à l’aide de la classe Win32_LogicalDisk, les données sont obtenues dynamiquement via un fournisseur Win32 préinstallé.
Si vous souhaitez fournir des données via WMI à d’autres applications, vous pouvez créer un fournisseur de code non managé en écrivant un serveur COM ou via les Assistants WMI ATL dans Visual Studio. Vous pouvez écrire un fournisseur de code managé en utilisant WMI dans .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 vos définitions de classe WMI pour les objets managés sont restaurées dans le référentiel WMI en cas d’échec et de redémarrage de WMI, utilisez l’instruction de préprocesseur de récupération automatique #pragma dans votre fichier format MOF.
Un fournisseur se compose de classes définies dans le schéma format MOF et d’un fichier DLL qui exécute les fonctions du fournisseur. Par exemple, le MOF qui définit les classes du fournisseur Win32 est CIMWin32.mof et la DLL est CIMWin32.dll, les deux se trouvent dans %windir%\System32\Wbem.
Le schéma MOF du fournisseur peut contenir plusieurs types de fournisseurs. Par exemple, le fournisseur de journaux d’événements a des types d’instances, méthodes et fournisseurs d’événements dans un fichier MOF nommé Ntevt.mof. Il est recommandé d’assembler toutes les classes et le schéma d’inscription des fournisseurs associé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 appareil matériel ou les opérations des logiciels.
Le tableau suivant répertorie les tâches de base qui créent un fournisseur.
Tâche | Description |
---|---|
Conception de classes de format MOF | Développez un modèle pour les entités que vous souhaitez gérer via WMI et créez un fichier format MOF pour décrire le schéma. |
Fourniture de données à WMI en écrivant un fournisseur | Créez le fournisseur le plus simple couplé à WMI. |
Incorporation d’un fournisseur dans une application | Incluez le fournisseur en tant que composant dans une application si elle ne s’exécute pas tout le temps. |
Inscription d’un fournisseur | Inscrivez le fournisseur avec COM et WMI. |
Initialisation d’un fournisseur | Implémentez les interfaces IWbemProviderInit et IWbemProviderInitSink. |
Exécution d’appels à WMI | Appelez des interfaces WMI à partir d’un fournisseur. |
Emprunt d’identité d’un client | Définissez 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 | Supprimez le fournisseur de la mémoire pendant l’arrêt ou lorsque le fournisseur est inactif. |
Débogage des fournisseurs et Classes de configuration et de résolution des problèmes des fournisseurs | Déboguez votre fournisseur à l’aide des fonctionnalités fournies par WMI. |
Obtention et fourniture de données sur un ordinateur 64 bits | Évaluez si vous avez besoin d’un fournisseur de compatibilité d’application 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 :
- Écriture d’un fournisseur d’instances
- Écriture d’un fournisseur de méthodes
- Écriture d’un fournisseur d’événements
- Écriture d’un fournisseur de consommateurs d’événements
- Écriture d’un fournisseur de classes
- Écriture d’un fournisseur de propriétés
- Faire d’un fournisseur d’instance un fournisseur haute performance