REFERENCES OF-Anweisung

Die REFERENCES OF-Anweisung ruft alle Zuordnungsinstanzen ab, die auf eine bestimmte Quellinstanz verweisen. Die REFERENCES OF-Anweisung ähnelt der ASSOCIATORS OF-Anweisung in ihrer Syntax. Anstatt jedoch Endpunktinstanzen abzurufen, werden die dazwischen liegenden Zuordnungsinstanzen abgerufen.

Die REFERENCES OF WHERE-Klausel kann mindestens eins der folgenden vordefinierten Schlüsselwörter und deren Werte enthalten:

REFERENCES OF {SourceObject} WHERE 
    ClassDefsOnly
    RequiredQualifier = QualifierName
    ResultClass = ClassName
    Role = PropertyName

Um ein Quellobjekt anzugeben, verwenden Sie einen beliebigen gültigen Objektpfad für „SourceObject“. Wie bei der SELECT-Anweisung ist die WHERE-Klausel optional und wird verwendet, um die Abfrage weiter zu definieren. Das heißt, die folgende Aussage ist absolut gültig:

REFERENCES OF {Adapter="AHA-294X"}

Der Schlüsselwort ClassDefsOnly gibt an, dass die Anweisung ein Resultset von Klassendefinitionsobjekten zurückgibt und nicht tatsächliche Instanzen der Zuordnungsklassen. Diese Objekte enthalten Definitionen von Klassen, zu denen die Instanzen gehören, die auf das Quellobjekt verweisen. Die folgende Anweisung gibt beispielsweise Definitionen für die AdapterDriver- und AdapterProtocol-Klassen zurück:

REFERENCES OF {Adapter="AHA-294X"} WHERE ClassDefsOnly

Das Schlüsselwort RequiredQualifier gibt an, dass die zurückgegebenen Zuordnungsobjekte den angegebenen Qualifizierer enthalten müssen. Das Schlüsselwort RequiredQualifier kann verwendet werden, um bestimmte Instanzen von Zuordnungen in das Resultset einzubeziehen. Die folgende Anweisung gibt beispielsweise Zuordnungsinstanzen zurück, die einen Qualifizierer namens AdapterTag enthalten:

REFERENCES OF {Adapter="AHA-294X"}  WHERE RequiredQualifier = AdapterTag

Das Schlüsselwort ResultClass gibt an, dass die zurückgegebenen Zuordnungsobjekte zu der angegebenen Klasse gehören oder von dieser abgeleitet werden müssen. Die folgende Anweisung gibt beispielsweise Zuordnungen der AdapterDriver-Klasse oder der Unterklassen von AdapterDriver zurück:

REFERENCES OF {Adapter="AHA-294X"} WHERE ResultClass = AdapterDriver

Die Schlüsselwörter ClassDefsOnly und ResultClass schließen sich gegenseitig aus. Wenn Sie sie zusammen verwenden, wird ein ungültiger Abfragefehler verursacht.

Das Schlüsselwort Role gibt an, dass die zurückgegebenen Zuordnungen nur diejenigen sind, in denen das Quellobjekt eine bestimmte Rolle spielt. Die Rolle wird durch die angegebene Eigenschaft definiert, eine Verweiseigenschaft vom Typ ref. Das Schlüsselwort Role ist nützlich in Zuordnungen, in denen ein bestimmtes Objekt in einigen Fällen eine Rolle und in anderen eine andere Rolle spielen kann, z. B. in hierarchischen Zuordnungen. Das Schlüsselwort Role kann beispielsweise verwendet werden, um alle Zuordnungen abzurufen, in denen das Quellobjekt die Rolle des übergeordneten Objekts spielt. Die folgende Anweisung veranschaulicht die Syntax zum Abrufen von Zuordnungen, die über eine parent-Eigenschaft verfügen, die auf das Quellobjekt als übergeordnetes Objekt verweist:

REFERENCES OF {Adapter="AHA-294X"} WHERE Role = parent

Hinweis

Komplexe Abfragen können nicht „And“ oder „Or“ verwenden, um Schlüsselwörter für ASSOCIATORS OF- und REFERENCES OF-Anweisungen zu trennen. Darüber hinaus ist das Gleichheitszeichen der einzige gültige Operator, der mit den Schlüsselwörtern in diesen Abfragen verwendet werden kann. Beispielsweise ist die folgende Abfrage gültig:

 

"REFERENCES OF {Win32_NetworkAdapter.DeviceID="0"} " +
    "WHERE resultclass = Win32_NetworkAdapterSetting " +
    "requiredQualifier = Dynamic"

Hinweis

Die nächsten Beispiele sind ungültig. Im ersten Beispiel wird das Gleichheitszeichen nicht verwendet, und im zweiten Beispiel wird fälschlicherweise versucht, das Schlüsselwort AND zu verwenden:

 

"REFERENCES OF {Win32_NetworkAdapter.DeviceID="0"} " +
    "WHERE resultclass = Win32_NetworkAdapterSetting " +
    "requiredQualifier <> Dynamic"

"REFERENCES OF {Win32_NetworkAdapter.DeviceID="0"} " +
"WHERE resultclass = Win32_NetworkAdapterSetting " +
"AND requiredQualifier = Dynamic"