Instruction REFERENCES OF
L’instruction REFERENCES OF récupère toutes les instances d’association qui font référence à une instance source particulière. L’instruction REFERENCES OF est similaire à l’instruction ASSOCIATORS OF dans sa syntaxe. Toutefois, au lieu de récupérer les instances de point de terminaison, elle récupère les instances d’association intermédiaires.
La clause REFERENCES OF WHERE peut inclure un ou plusieurs des mots clés prédéfinis suivants et leurs valeurs :
REFERENCES OF {SourceObject} WHERE
ClassDefsOnly
RequiredQualifier = QualifierName
ResultClass = ClassName
Role = PropertyName
Pour spécifier un objet source, utilisez n’importe quel chemin d’accès d’objet valide pour SourceObject. Comme avec l’instruction SELECT, la clause WHERE est facultative et est utilisée pour définir davantage la requête. Autrement dit, l’affirmation suivante est parfaitement valide :
REFERENCES OF {Adapter="AHA-294X"}
Le mot clé ClassDefsOnly indique que l’instruction retourne un jeu de résultats d’objets de définition de classe plutôt que des instances réelles des classes d’association. Ces objets contiennent des définitions de classes auxquelles appartiennent les instances qui font référence à l’objet source. Par exemple, l’instruction suivante retourne des définitions pour les classes AdapterDriver et AdapterProtocol :
REFERENCES OF {Adapter="AHA-294X"} WHERE ClassDefsOnly
Le mot clé RequiredQualifier indique que les objets d’association retournés doivent inclure le qualificateur spécifié. Le mot clé RequiredQualifier peut être utilisé pour inclure des instances d’associations particulières dans le jeu de résultats. Par exemple, l’instruction suivante retourne des instances d’association qui incluent un qualificateur appelé AdapterTag :
REFERENCES OF {Adapter="AHA-294X"} WHERE RequiredQualifier = AdapterTag
Le mot clé ResultClass indique que les objets d’association retournés doivent appartenir à la classe spécifiée ou en être dérivés. Par exemple, l’instruction suivante retourne des associations de la classe AdapterDriver ou des sous-classes de AdapterDriver :
REFERENCES OF {Adapter="AHA-294X"} WHERE ResultClass = AdapterDriver
Les mots clé ClassDefsOnly et ResultClass sont mutuellement exclusifs. Les utiliser ensemble provoque une erreur de requête non valide.
Le mot clé Role indique que les associations retournées sont uniquement celles dans lesquelles l’objet source joue un rôle particulier. Le rôle est défini par la propriété spécifiée, une propriété de référence de type ref. La mot clé Role est utile dans les associations où un objet donné peut jouer un rôle dans certains cas et un autre rôle dans d’autres, par exemple dans les associations hiérarchiques. Le mot clé Role peut être utilisé pour récupérer toutes les associations dans lesquelles l’objet source joue le rôle de parent, par exemple. L’instruction suivante illustre la syntaxe de récupération des associations qui ont une propriété parente référençant l’objet source en tant que parent :
REFERENCES OF {Adapter="AHA-294X"} WHERE Role = parent
Notes
Les requêtes complexes ne peuvent pas utiliser « Et » ou « Ou » pour séparer les mots clés des instructions ASSOCIATORS OF et REFERENCES OF. En outre, le signe égal est le seul opérateur valide qui peut être utilisé avec les mots clés dans ces requêtes. Par exemple, la requête suivante est valide :
"REFERENCES OF {Win32_NetworkAdapter.DeviceID="0"} " +
"WHERE resultclass = Win32_NetworkAdapterSetting " +
"requiredQualifier = Dynamic"
Notes
Les exemples suivants ne sont pas valides. Le premier exemple n’utilise pas le signe égal et le deuxième exemple tente par erreur d’utiliser le mot clé AND :
"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"