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++
Použijte kvalifikátor s voláním metody IWbemQualifierSet::Put.
Můžete použít jiné metody IWbemQualifierSet k načtení nebo odstranění existujících kvalifikátorů.
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); };