套用限定符

如同 Managed 物件格式 (MOF) 中的許多其他技術,將限定符套用至您的程式代碼是一個相對簡單的程式。

唯一真正的挑戰是 WMI 強制執行的命名慣例中有下列限制:

  • 限定符可以描述類別、實例、屬性、方法或方法參數。

  • 限定符名稱不能有開頭或尾端底線。

  • 限定符名稱不能以數字開頭。

  • 限定符名稱不能包含特殊字元,例如 & * @ ! ~ \ /.

  • 所有限定元名稱不區分大小寫。

  • 您無法重新定義標準 WMI 限定符或任何 DMTF CIM 規格中所述的限定符。

  • 限定符類型不會明確宣告。

    如果您未宣告限定符類型,WMI 會假設類型為布爾值,值為 TRUE。 否則,WMI 會根據您宣告的限定符值來輸入限定符。

  • 建立您自己的限定符時,您應該在架構名稱前面加上限定符名稱。

    此規則的目的是避免與新的限定符混淆。

  • 您可以建立限定符的同質陣列。

    下列程式代碼範例示範如何以大括弧括住值的限定符陣列來指定。

    [StringArray{"hello", "there"}, SingleElementArray{3}]
    
  • WMI 不支持參考中未列出的自動化類型,例如VT_NULL。 如需詳細資訊,請參閱 MOF資料類型

下列程式可協助您使用 C++ 將限定元新增至 屬性。

使用 C++ 套用限定符

下列程式可協助您在MOF檔案中套用限定符。

使用MOF以限定符描述關鍵詞或標識碼

  • 將限定元放在限定符描述的關鍵詞或標識碼之前方括弧。

    下列程式代碼範例示範如何使用限定符。

    [qualifiers...]
    class StdDisk
    {
      [qualifiers...]  uint32 dwNumCylinders;
      [qualifiers...]  uint32 dwNumHeads;
      [qualifiers...]  sint32 Method1();
      sint32 Method2([qualifiers...] Parameter1);
    };
    

    下列範例說明限定符的適當位置。

    [Abstract]
    class MyClass
    {
        [Amendment, InstanceOf]  uint32 dwNumber;
        sint32 MyMethod ([in] sint32 Param);
    };