Sdílet prostřednictvím


Odkazy (WMI)

Klíčové slovo MOF ref popisuje cestu objektu a mapuje se na typ VT_BSTR Automation. Cesta k objektu může být úplná cesta k serveru a oboru názvů nebo relativní cesta k jinému objektu ve stejném oboru názvů. K propojení dvou nebo více tříd můžete použít ref klíčové slovo. Rozhraní WMI podporuje dva typy cest objektů, které slouží k definování obecných nebo specifických cest v rámci rozhraní WMI.

Hlavním účelem klíčového slova ref je zkrátit dobu přenosu a kódování mezi objekty, které existují zcela v úložišti WMI. K vytvoření přidružení mezi dvěma třídami můžete také použít ref klíčové slovo. Další informace naleznete v tématu deklarování třídy přidružení. Pokud se odkazovaná položka nachází ve stejném souboru MOF, použijte alias k inicializaci ref hodnotu. Další informace naleznete v tématu Vytvoření aliasu.

Poznámka

Pokud se u vlastnosti klíče použije ref klíčové slovo, můžete odkazy na objekt odlišit podle hodnoty řetězce objektu namísto hodnoty dereferenced.

 

MOF podporuje koncept slabě typované a silně typované cesty objektu. Slabě zadaná cesta k objektu odkazuje na objekt nezadané třídy a používá klíčové slovo ref klíčové slovo s klíčovým slovem OBJECT. Objekt silného typu odkazuje na objekt konkrétní třídy a používá ref s názvem třídy. Následující příklad popisuje slabě typovaný RefToAnyClass odkaz, který může odkazovat na libovolnou třídu nebo instanci třídy, a RefToClassX odkaz, který může odkazovat pouze na ClassX třídy nebo instance:

class MyClass
{
    object ref RefToAnyClass;       // Weakly typed
    ClassX ref RefToClassX;         // Strongly typed
};

Následující příklad popisuje dvě instance a objekt přidružení, který odkazuje na předchozí instance:

#pragma namespace("\\\\.\\root")

instance of __Namespace
{
    Name = "WMI" ;
} ;

#pragma namespace("\\\\.\\root\\WMI")

Class A{
    [key] string aKey;
};

Class C{
    [key] string cKey;
};

// The following class creates an association 
// between the "A" class and the "C" class
    [Association] Class B{
    [key] A ref aRef;
    [Key, Min(1)] C ref cRef;
};

instance of a
{
    aKey = "This is the key for the A class";
};

instance of c
{
    cKey = "This is the key for the c class";
};