Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les noms de classes WMI sont insensibles à la casse, doivent commencer par une lettre et ne peuvent pas commencer ou se terminer par un trait de soulignement. Tous les caractères restants doivent être des lettres, des chiffres ou des traits de soulignement.
Les applications clientes WMI peuvent accéder aux noms de classes WMI d’un pilote et les afficher aux utilisateurs. Les noms de classes descriptifs peuvent aider à rendre les classes plus intuitives à utiliser.
Les noms de classes WMI doivent être uniques dans l’espace de noms WMI. Par conséquent, les noms de classes WMI d’un pilote ne peuvent pas dupliquer ceux définis par un autre pilote.
Pour éviter les collisions de noms, un développeur de pilotes peut définir une classe de base spécifique au pilote et dériver toutes les classes WMI associées du pilote de cette classe de base. Le nom de classe et le nom de la classe de base sont plus susceptibles de générer un nom unique. Par exemple, l’exemple suivant montre une classe de base abstraite pour les blocs de données d’un pilote série :
// Serial driver's base class for data blocks
[abstract]
class MSSerial {
}
// Example class definition for a data block
[
//Class qualifiers
]
class MSSerial_StandardSerialInformation : MSSerial
{
//Data items
}
Les blocs de données personnalisés spécifiques à l’appareil doivent inclure le fabricant, le modèle et le type de pilote ou de périphérique dans le nom de la classe de base. Par exemple:
[abstract]
class Adaptec1542 {
}
class Adaptec1542_Bandwidth : Adaptec1542 {
//Data items
}
class Adaptec1542_Speed : Adaptec1542 {
//Data items
}
WMI n’autorise qu’une seule classe de base abstraite dans une hiérarchie de classes donnée. Les classes qui définissent des blocs d’événements doivent dériver de WmiEvent, qui est une classe de base abstraite, de sorte que le qualificateur abstrait ne peut pas être utilisé dans une classe de base définie par le pilote pour les blocs d’événements. Au lieu de cela, dérivez une classe de base nonabstract de WmiEvent, puis dérivez des classes d’événements individuelles de cette classe de base. Par exemple:
//Serial driver's base class for event blocks
class MSSerialEvent : WmiEvent
{
}
//Example class definition for an event block
[
//Class qualifiers
]
class MSSerial_SendEvent : MSSerialEvent
{
//Data items
}
Pour plus d’informations sur la définition de classes de base au format MOF, consultez le Kit de développement logiciel (SDK) Microsoft Windows.