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"