Инструкция REFERENCES OF
Инструкция REFERENCES OF извлекает все экземпляры ассоциации, ссылающиеся на конкретный исходный экземпляр. Инструкция REFERENCES OF аналогична инструкции ASSOCIATOR OF в его синтаксисе. Однако вместо получения экземпляров конечных точек он извлекает промежуточные экземпляры ассоциации.
Предложение REFERENCES OF WHERE может включать одно или несколько следующих предопределенных ключевых слов и их значения:
REFERENCES OF {SourceObject} WHERE
ClassDefsOnly
RequiredQualifier = QualifierName
ResultClass = ClassName
Role = PropertyName
Чтобы указать исходный объект, используйте любой допустимый путь к объекту SourceObject. Как и в инструкции SELECT, предложение WHERE является необязательным и используется для дальнейшего определения запроса. То есть, следующая инструкция является совершенно допустимой:
REFERENCES OF {Adapter="AHA-294X"}
Ключевое слово ClassDefsOnly указывает, что инструкция возвращает результирующий набор объектов определения класса, а не фактические экземпляры классов ассоциаций. Эти объекты содержат определения классов, к которым относятся экземпляры, ссылающиеся на исходный объект. Например, следующая инструкция возвращает определения для классов адаптера AdapterDrive r и 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
Ключевые слова <
Ключевое слово роли указывает, что возвращаемые связи являются только теми, в которых исходный объект играет определенную роль. Роль определяется указанным свойством, ссылочным свойством типа ref. Ключевое слово роли полезно в сопоставлениях, где определенный объект может играть одну роль в некоторых случаях и другую роль в других, например в иерархических связях. Ключевое слово роли можно использовать для получения всех связей, в которых исходный объект играет роль родительского объекта, например. Следующая инструкция иллюстрирует синтаксис получения связей, имеющих свойство родительского , ссылающееся на исходный объект в качестве родительского объекта:
REFERENCES OF {Adapter="AHA-294X"} WHERE Role = parent
Заметка
Сложные запросы не могут использовать "And" или "Or" для разделения ключевых слов для инструкций ASSOCIATOR 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"