Freigeben über


Verweise (WMI)

Der MOF-Verweis Schlüsselwort beschreibt einen Objektpfad und ordnet einem VT_BSTR Automatisierungstyp zu. Der Objektpfad kann entweder ein vollständiger Pfad zu einem Server und Namespace oder ein relativer Pfad zu einem anderen Objekt im selben Namespace sein. Sie können einen Verweis Schlüsselwort verwenden, um zwei oder mehr Klassen miteinander zu verknüpfen. WMI unterstützt zwei Objektpfadtypen, die zum Definieren allgemeiner oder bestimmter Pfade innerhalb von WMI verwendet werden.

Der Hauptzweck des Bezugs Schlüsselworts besteht darin, die Transportzeit und Codierung zwischen Objekten zu reduzieren, die vollständig im WMI-Repository vorhanden sind. Sie können auch das Verweis- Schlüsselwort verwenden, um eine Zuordnung zwischen zwei Klassen zu erstellen. Weitere Informationen finden Sie unter Deklarieren einer Zuordnungsklasse. Wenn sich das referenzierte Element in derselben MOF-Datei befindet, verwenden Sie einen Alias, um den Bezugswert zu initialisieren. Weitere Informationen finden Sie unter Erstellen eines Alias-.

Anmerkung

Wenn ein Bezug Schlüsselwort auf eine Schlüsseleigenschaft angewendet wird, können Sie Objektverweise durch den Objektzeichenfolgenwert anstelle des abgeleiteten Werts unterscheiden.

 

MOF unterstützt das Konzept eines schwach typierten und stark typierten Objektpfads. Ein schwach typierter Objektpfad verweist auf ein Objekt einer nicht angegebenen Klasse und verwendet das Ref Schlüsselwort mit dem schlüsselwort OBJECT. Ein stark typiertes Objekt verweist auf ein Objekt einer bestimmten Klasse und verwendet Verweis mit dem Klassennamen. Das folgende Beispiel beschreibt einen schwach typierten RefToAnyClass Verweis, der auf eine beliebige Klasse oder Klasseninstanz verweisen kann, und einen RefToClassX- Verweis, der nur auf eine ClassX- Klasse oder Instanz verweisen kann:

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

Im folgenden Beispiel werden zwei Instanzen und ein Zuordnungsobjekt beschrieben, das auf die vorherigen Instanzen verweist:

#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";
};