REFERÊNCIAS DA DECLARAÇÃO
A instrução REFERENCES OF recupera todas as instâncias de associação que se referem a uma instância de origem específica. A instrução REFERENCES OF é semelhante à instrução ASSOCIATORS OF em sua sintaxe. No entanto, em vez de recuperar instâncias de ponto de extremidade, ele recupera as instâncias de associação intervenientes.
A cláusula REFERÊNCIAS DE ONDE pode incluir uma ou mais das seguintes palavras-chave predefinidas e seus valores:
REFERENCES OF {SourceObject} WHERE
ClassDefsOnly
RequiredQualifier = QualifierName
ResultClass = ClassName
Role = PropertyName
Para especificar um objeto de origem, use qualquer caminho de objeto válido para SourceObject. Assim como a instrução SELECT, a cláusula WHERE é opcional e é usada para definir melhor a consulta. Ou seja, a seguinte afirmação é perfeitamente válida:
REFERENCES OF {Adapter="AHA-294X"}
A palavra-chave ClassDefsOnly indica que a instrução retorna um conjunto de resultados de objetos de definição de classe em vez de instâncias reais das classes de associação. Esses objetos contêm definições de classes às quais pertencem as instâncias que fazem referência ao objeto de origem. Por exemplo, a instrução a seguir retorna definições para o AdapterDriver e classes de AdapterProtocol:
REFERENCES OF {Adapter="AHA-294X"} WHERE ClassDefsOnly
A palavra-chave RequiredQualifier indica que os objetos de associação retornados devem incluir o qualificador especificado. A palavra-chave RequiredQualifier pode ser usada para incluir instâncias particulares de associações no conjunto de resultados. Por exemplo, a instrução a seguir retorna instâncias de associação que incluem um qualificador chamado AdapterTag:
REFERENCES OF {Adapter="AHA-294X"} WHERE RequiredQualifier = AdapterTag
A palavra-chave ResultClass indica que os objetos de associação retornados devem pertencer ou ser derivados da classe especificada. Por exemplo, a instrução a seguir retorna associações do AdapterDriver classe ou subclasses de AdapterDriver:
REFERENCES OF {Adapter="AHA-294X"} WHERE ResultClass = AdapterDriver
As palavras-chave ClassDefsOnly e ResultClass são mutuamente exclusivas. Usá-los juntos causa um erro de consulta inválido.
A palavra-chave Role indica que as associações retornadas são apenas aquelas nas quais o objeto de origem desempenha uma função específica. A função é definida pela propriedade especificada, uma propriedade de referência do tipo ref. A palavra-chave Role é útil em associações onde um determinado objeto pode desempenhar um papel em alguns casos e outro papel em outros, como em associações hierárquicas. A palavra-chave Role pode ser usada para recuperar todas as associações nas quais o objeto de origem desempenha a função de pai, por exemplo. A instrução a seguir ilustra a sintaxe para recuperar associações que têm uma propriedade pai referenciando o objeto de origem como pai:
REFERENCES OF {Adapter="AHA-294X"} WHERE Role = parent
Observação
Consultas complexas não podem usar "E" ou "Ou" para separar palavras-chave para instruções ASSOCIATORS OF e REFERENCES OF. Além disso, o sinal de igual é o único operador válido que pode ser usado com as palavras-chave nessas consultas. Por exemplo, a seguinte consulta é válida:
"REFERENCES OF {Win32_NetworkAdapter.DeviceID="0"} " +
"WHERE resultclass = Win32_NetworkAdapterSetting " +
"requiredQualifier = Dynamic"
Observação
Os exemplos seguintes não são válidos. O primeiro exemplo não usa o sinal de igual e o segundo exemplo erroneamente tenta usar a palavra-chave E:
"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"