Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Zprostředkovatel WMI se skládá ze souboru MOF (Managed Object Format) a souboru DLL. Soubor MOF definuje třídy, pro které implementace zprostředkovatele poskytuje data.
Definice tříd MOF jsou kompilovány nástrojem mofcomp a uloženy v úložišti WMI, označované také jako úložiště CIM (Common Information Model). Méně běžným způsobem, jak vytvořit třídy, je prostřednictvím metod rozhraní COM API pro rozhraní WMI.
Poznámka
Pokud chcete zajistit, aby se všechny definice tříd služby WMI pro spravované objekty obnovily do úložiště WMI, když dojde k selhání a restartování rozhraní WMI, použijte #pragma autorecover příkaz preprocesoru v souboru MOF.
V tomto tématu jsou popsány následující části:
- definování objektů pro správu
- definování vlastností nebo metod
- Propojování objektů mezi sebou
- související témata
Definování objektů pro správu
Jakmile identifikujete část organizace, kterou chcete spravovat, definujte objekty, které se mají spravovat. Definice musí obsahovat požadovaná data a umožňuje implementovat příslušná obchodní pravidla přesně. Objekty můžete definovat na podrobné úrovni, ale je nejlepší rozhodnout se mezi úrovní podrobností obsažených v definici a nutností poskytnout dostatek podrobností, aby bylo užitečné. Klávesové zkratky v rané fázi procesu můžou ušetřit čas, ale v budoucnu můžou způsobit větší práci.
Kurz CIM na webu DMTF (Distributed Management Task Force) obsahuje vynikající informace o procesu návrhu. Další informace najdete v tématu www.dmtf.org.
Při vývoji a implementaci návrhu schématu zvažte následující faktory:
Kvalifikanti
Kvalifikátory poskytují informace o popisu tříd, objektů, vlastností, metod a parametrů; a použijí se u definic tříd a vlastností. V kódu MOF jsou kvalifikátory uzavřeny v hranatých závorkách a mohou obsahovat [klíč] nebo [přidružení]. Další informace naleznete v tématu Přidání kvalifikátoru a Kvalifikátory rozhraní WMI.
Namespace
Obor názvů je logická jednotka pro seskupení tříd a objektů a řízení rozsahu a viditelnosti. Obor názvů obvykle obsahuje sadu tříd a objektů, které představují spravované objekty v konkrétním prostředí. Další informace naleznete v tématu Vytváření hierarchií v rámci rozhraní WMI.
Objekt
Modelovaný objekt může být fyzický nebo logický prvek schématu. Můžete například modelovat fyzickou diskovou jednotku, například jednotku pevného disku, nebo logický disk, který může být oddílem na fyzickém disku. Návrh, který používá třídu k modelování fyzické diskové jednotky a pak tuto třídu rozšiřuje na modelování logického disku, je rozšiřitelnější než ten, který se pokouší vytvořit samostatnou třídu pro každý typ disku.
Údaje
Data můžou být dynamická nebo statická. Pokud jsou data dynamická, musíte pro ně vytvořit poskytovatele třídy.
Chcete-li uživateli povolit úpravu dat, musíte určit, zda má být vlastnost přímo zapisovatelná nebo upravitelná pouze pomocí metody, kterou uživatel volá.
Definování vlastností nebo metod
Obecně platí, že vlastnost třídy WMI je podobná vlastnosti ve třídě C++. Pokud jediné akce, které váš kód implementuje pro část dat, je získat hodnotu nebo nastavit hodnotu, pak by data měla být definována jako vlastnost třídy WMI.
Metoda WMI obvykle provádí akci, která změní stav spravovaného objektu. Pokud je například akce povolení nebo zakázání operace hardwarového objektu, je pravděpodobně vhodnější vytvořit vlastnost pro čtení a zápis. Můžete se také rozhodnout vytvořit vlastnost, která zobrazuje stav hardwaru.
Při vytváření třídy nebo instance můžete zahrnout komentáře. Pomocí této techniky můžete zdokumentovat třídu nebo vysvětlit své programovací techniky. Další informace naleznete v tématu Vytvoření komentáře. Kromě toho můžete přidat data, která kvalifikují účel datového objektu. Další informace naleznete v tématu Přidání kvalifikátoru.
Korelace objektů mezi sebou
Existují dva způsoby, jak vzájemně propojit objekty: vytvořením samostatných objektů a objektu přidružení, který je spojuje, nebo vložením jednoho objektu do druhého objektu. CIM nepodporuje vložené objekty, takže pokud chcete být kompatibilní s CIM, musíte použít první metodu. Rozhraní WMI však podporuje vložené objekty, takže k reprezentaci vztahu mezi objekty použijte některou metodu. Příklady vložených objektů najdete ve třídách Win32 . Například Win32_SecurityDescriptor má vložený objekt Win32_ACE, který má jiný vložený objekt, Win32_Trustee.
Při rozhodování, jak znázorňovat vztahy mezi objekty, zvažte následující skutečnosti:
- Pokud je instance užitečná sama o sobě, pak přidružení funguje nejlépe. Například Win32_Process a Win32_UserAccount. Další informace naleznete v tématu definování třídy přidružení.
- Pokud instance neexistuje mimo nadřazený objekt, funguje nejlépe vložený objekt. Například Win32_SecurityDescriptor a Win32_ACE. Další informace naleznete v tématu vkládání objektů do třídy.
Související témata