WMI 類別名稱和基類
WMI 類別名稱不區分大小寫、開頭必須是字母,且不能以底線開頭或結尾。 所有剩餘的字元都必須是字母、數位或底線。
WMI 用戶端應用程式可以存取驅動程式的 WMI 類別名稱,並將其顯示給使用者。 描述性類別名稱有助於讓類別更直覺地使用。
WMI 類別名稱在 WMI 命名空間內必須是唯一的。 因此,驅動程式的 WMI 類別名稱不能複製另一個驅動程式所定義的名稱。
為了協助防止名稱衝突,驅動程式寫入器可以定義驅動程式特定的基類,並從該基類衍生所有驅動程式的 WMI 類別。 類別名稱和基類名稱較可能產生唯一的名稱。 例如,下列範例顯示序列驅動程式資料區塊的抽象基類:
// 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
}
裝置特定的自訂資料區塊應該在基類名稱中包含驅動程式或裝置的製造商、型號和類型。 例如:
[abstract]
class Adaptec1542 {
}
class Adaptec1542_Bandwidth : Adaptec1542 {
//Data items
}
class Adaptec1542_Speed : Adaptec1542 {
//Data items
}
WMI 只允許指定類別階層中的一個抽象基類。 定義事件區塊的類別必須衍生自 WmiEvent,這是抽象基類,因此 抽象 限定詞不能用於事件區塊的驅動程式定義基類中。 相反地,從 WmiEvent衍生非abstract 基類,然後從該基類衍生個別事件類別。 例如:
//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
}
如需以 MOF 格式定義基類的詳細資訊,請參閱Microsoft Windows SDK。