Sdílet prostřednictvím


Použití kvalifikátoru

Stejně jako mnoho dalších technik ve formátu MOF (Managed Object Format) je použití kvalifikátoru pro váš kód relativně jednoduchý proces.

Jedinými skutečnými výzvami jsou následující omezení v konvencích pojmenování, které WMI vynucuje:

  • Kvalifikátor může popsat třídu, instanci, vlastnost, metodu nebo parametr metody.

  • Názvy kvalifikátoru nesmí obsahovat úvodní ani koncové podtržítka.

  • Název kvalifikátoru nemůže začínat číslicí.

  • Název kvalifikátoru nesmí obsahovat speciální znaky, jako například & * @ ! ~ \ /.

  • Všechny názvy kvalifikátoru nerozlišují velká a malá písmena.

  • Nelze předefinovat standardní kvalifikátory WMI ani žádné kvalifikátory popsané ve specifikaci DMTF CIM.

  • Kvalifikátory nejsou explicitně deklarovány.

    Pokud deklarujete typ kvalifikátoru, rozhraní WMI předpokládá typ jako logickou hodnotu s hodnotou TRUE. V opačném případě WMI určuje typy kvalifikátorů podle hodnot kvalifikátoru, které deklarujete.

  • Při vytváření vlastních kvalifikátorů byste měli před název schématu zadat název kvalifikátoru.

    Účelem tohoto pravidla je vyhnout se nejasnostem s novými specifikátory.

  • Můžete vytvořit homogenní pole kvalifikátorů.

    Následující příklad kódu ukazuje, jak jsou pole kvalifikátoru specifikována se složenými závorkami, které obklopují hodnoty.

    [StringArray{"hello", "there"}, SingleElementArray{3}]
    
  • Rozhraní WMI nepodporuje typy automatizace, které nejsou uvedené v odkazu, například VT_NULL. Další informace najdete v tématu Datových Typů MOF.

Následující postup vám pomůže pomocí jazyka C++ přidat kvalifikátor do vlastnosti.

Použití kvalifikátoru pomocí jazyka C++

Následující postup vám pomůže použít kvalifikátor v souborech MOF.

Popis klíčového slova nebo identifikátoru pomocí kvalifikátoru MOF

  • Umístěte kvalifikátor do hranatých závorek před klíčové slovo nebo identifikátor, který kvalifikátor popisuje.

    Následující příklad kódu ukazuje, jak se používají kvalifikátory.

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

    Následující příklad popisuje správné umístění kvalifikátorů.

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