Conception de classes de format MOF

Un fournisseur WMI se compose d’un fichier de format MOF et d’un fichier DLL. Le fichier MOF définit les classes pour lesquelles l’implémentation du fournisseur fournit des données.

Les définitions de classe MOF sont compilées par l’utilitaire mofcomp et stockées dans le référentiel WMI, également appelé référentiel CIM (Common Information Model). Une façon moins courante de créer des classes consiste à utiliser les méthodes de l’API COM pour WMI.

Notes

Pour vous assurer que toutes vos définitions de classe WMI pour les objets managés soient restaurées dans le référentiel WMI si WMI rencontre un échec et redémarre, suivez les instructions du préprocesseur de récupération automatique #pragma situées dans votre fichier MOF.

 

Les sections suivantes sont abordées dans cette rubrique :

Définition des objets à gérer

Après avoir identifié la partie de votre entreprise que vous voulez gérer, définissez les objets à gérer. La définition doit inclure les données requises et vous permettre d’exécuter avec précision les règles d’entreprise pertinentes. Vous pouvez définir des objets à un niveau précis, mais il est préférable de choisir entre le niveau de détail de la définition et la nécessité de fournir suffisamment de détails pour qu'ils soient utiles. Utiliser les raccourcis au début du processus peuvent faire gagner du temps, mais ils peuvent entraîner davantage de travail par la suite.

Le didacticiel CIM du site web DMTF (Distributed Management Task Force) contient d’excellentes informations sur le processus de conception. Pour plus d’informations, consultez www.dmtf.org.

Tenez compte des facteurs suivants lorsque vous développez et exécutez une conception de schéma :

  • Qualificateurs

    Les qualificateurs fournissent des informations sur la façon de décrire des classes, des objets, des propriétés, des méthodes et des paramètres ; et ils sont appliqués aux définitions de classe et de propriété. Dans le code MOF, les qualificateurs sont placés entre crochets et peuvent inclure [key] ou [association]. Pour plus d’informations, consultez Ajout d’un qualificateur et Qualificateurs WMI.

  • Espace de noms

    Un espace de noms est une unité logique permettant de regrouper des classes et des objets, et de contrôler l’étendue et la visibilité. En règle générale, un espace de noms contient un ensemble de classes et d’objets représentant des objets gérés dans un environnement spécifique. Pour plus d’informations, consultez Création de hiérarchies dans WMI.

  • Object

    Un objet modélisé peut être un élément physique ou logique du schéma. Par exemple, vous pouvez modéliser un lecteur de disque physique tel qu’un lecteur de disque dur ou un disque logique qui peut être une partition sur un disque physique. Un design qui utilise une classe pour modéliser un lecteur de disque physique, puis étend cette classe pour modéliser un disque logique est plus extensible qu’un design qui tente de créer une classe distincte pour chaque type de disque.

  • Données

    Les données peuvent être dynamiques ou statiques. Si les données sont dynamiques, vous devez créer un fournisseur de classes pour elles.

    Pour permettre à l’utilisateur de modifier des données, vous devez déterminer si vous souhaitez ou non qu’une propriété soit directement accessible en écriture ou modifiable uniquement à l’aide d’une méthode appelée par l’utilisateur.

Définition de propriétés ou de méthodes

En règle générale, une propriété de classe WMI est similaire à une propriété de classe C++. Si les seules actions exécutées par votre code pour le morceau de données consistent à obtenir ou à définir la valeur, les données doivent être définies en tant que propriété de la classe WMI.

Une méthode WMI effectue généralement une action qui modifie l’état d’un objet géré. Par exemple, si l’action consiste à activer ou désactiver le fonctionnement d’un objet matériel, une méthode est probablement préférable à la création d’une propriété en lecture/écriture. Vous pouvez également décider de créer une propriété affichant l’état du matériel.

Lorsque vous créez une classe ou un instance, vous pouvez inclure des commentaires. Utilisez cette technique pour documenter votre classe ou expliquer vos techniques de programmation. Pour plus d’informations, consultez Création d'un commentaire. De plus, vous pouvez ajouter des données pour qualifier l’objectif d’un objet de données. Pour plus d'informations, consultez Ajout d'une liste.

Lier des objets les uns aux autres

Il existe deux façons de lier des objets les uns aux autres : en créant des objets distincts et un objet d’association qui les relie, ou en incorporant un objet dans un autre. CIM ne prend pas en charge les objets incorporés. Par conséquent, pour être conforme à CIM, vous devez utiliser la première méthode. Toutefois, WMI prend en charge les objets incorporés. Utilisez donc l’une ou l’autre méthode pour représenter une relation entre les objets. Vous trouverez des exemples d’objets incorporés dans les classes Win32. Par exemple, Win32_SecurityDescriptor a l’objet incorporé Win32_ACE, qui a un autre objet incorporé, Win32_Trustee.

Tenez compte des points suivants lorsque vous décidez comment représenter les relations entre les objets :

Développement d'un fournisseur WMI

Fourniture de données dans WMI

Types de données MOF