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 关键字指示语句返回类定义对象的结果集,而不是关联类的实际实例。 这些对象包含引用源对象的实例所属的类的定义。 例如,以下语句返回 AdapterDriverAdapterProtocol 类的定义:

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

ClassDefsOnlyResultClass 关键字互斥。 将它们一起使用会导致查询错误无效。

Role 关键字指示返回的关联只是源对象扮演特定角色的关联。 角色由指定属性定义,该角色是类型为 ref的引用属性。Role 关键字在关联中非常有用,其中某些对象在某些情况下可以扮演一个角色,而另一个角色在另一个角色(例如分层关联中)。 例如,可以使用 Role 关键字检索源对象扮演父级角色的所有关联。 以下语句演示了检索具有 属性引用源对象的关联作为父对象的语法:

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"