REFERENCES OF, instruction
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 des instances de point de terminaison, il 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’instruction 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 référencent 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 particulières d’associations 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 ou être dérivés de la classe spécifiée. 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és ClassDefsOnly et ResultClass s’excluent mutuellement. Les utiliser ensemble provoquent 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. Le mot clé rôle 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, comme dans les associations hiérarchiques. Le mot clé rôle peut être utilisé pour récupérer toutes les associations dans lesquelles l’objet source joue le rôle du parent, par exemple. L’instruction suivante illustre la syntaxe permettant de récupérer des associations qui ont un propriété parente référençant l’objet source en tant que parent :
REFERENCES OF {Adapter="AHA-294X"} WHERE Role = parent
Note
Les requêtes complexes ne peuvent pas utiliser « And » ou « Or » pour séparer les mots clés pour les 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 de ces requêtes. Par exemple, la requête suivante est valide :
"REFERENCES OF {Win32_NetworkAdapter.DeviceID="0"} " +
"WHERE resultclass = Win32_NetworkAdapterSetting " +
"requiredQualifier = Dynamic"
Note
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"