REFERENCES OF 语句
REFERENCES OF 语句检索所有引用特定源实例的关联实例。 REFERENCES OF 语句在语法上类似于 ASSOCIATORS OF 语句。 但是,它不是检索终结点实例,而是检索中间的关联实例。
REFERENCES OF WHERE 子句可以包含以下一个或多个预定义关键字及其值:
REFERENCES OF {SourceObject} WHERE
ClassDefsOnly
RequiredQualifier = QualifierName
ResultClass = ClassName
Role = PropertyName
要指定源对象,请为 SourceObject 使用任何有效的对象路径。 与 SELECT 语句一样,WHERE 子句是可选的,用于进一步定义查询。 也就是说,以下语句是完全有效的:
REFERENCES OF {Adapter="AHA-294X"}
ClassDefsOnly 关键字指示语句返回类定义对象的结果集而不是关联类的实际实例。 这些对象包含引用源对象的实例所属的类的定义。 例如,以下语句返回 AdapterDriver 和 AdapterProtocol 类的定义:
REFERENCES OF {Adapter="AHA-294X"} WHERE ClassDefsOnly
RequiredQualifier 关键字指示返回的关联对象必须包含指定的限定符。 RequiredQualifier 关键字可用于在结果集中包含特定的关联实例。 例如,以下语句返回包含名为 AdapterTag 的限定符的关联实例:
REFERENCES OF {Adapter="AHA-294X"} WHERE RequiredQualifier = AdapterTag
ResultClass 关键字指示返回的关联对象必须属于或派生自指定的类。 例如,以下语句返回 AdapterDriver 类或 AdapterDriver 子类的关联:
REFERENCES OF {Adapter="AHA-294X"} WHERE ResultClass = AdapterDriver
ClassDefsOnly 和 ResultClass 关键字互斥。 将它们一起使用会导致无效查询错误。
Role 关键字指示返回的关联只是源对象在其中充当特定角色的关联。 该角色由指定属性定义,该属性是 ref 类型的引用属性。Role 关键字在以下关联中很有用:某个对象可以在某些情况下充当一个角色,而在其他情况下充当另一个角色(例如在层次结构关联中)。 例如,Role 关键字可用于检索源对象在其中充当父级角色的所有关联。 以下语句说明了检索具有引用源对象作为父对象的 parent 属性的关联的语法:
REFERENCES OF {Adapter="AHA-294X"} WHERE Role = parent
注意
复杂查询不能使用“And”或“Or”来分隔 ASSOCIATORS OF 和 REFERENCES OF 语句的关键字。 此外,等号是唯一可以与这些查询中的关键字一起使用的有效运算符。 例如,下面的查询是有效的:
"REFERENCES OF {Win32_NetworkAdapter.DeviceID="0"} " +
"WHERE resultclass = Win32_NetworkAdapterSetting " +
"requiredQualifier = Dynamic"
注意
以下示例无效。 第一个示例未使用等号,第二个示例错误地尝试使用 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"