Ассоциации классов
ЭКРАН 3. Просмотр зависимости классов.
Многие типы объектов так или иначе связаны с друг другом. Например, объект "компьютер" имеет процессор, программное обеспечение, операционную систему, активные процессы и т. д. WMI позволяет провайдерам создавать классы зависимости, чтобы задать логическую взаимосвязь между двумя различными классами. Классы зависимости сопоставляют один класс с другим, поэтому имеют только два свойства. Поскольку свойства - это ссылки на классы, они состоят из имени класса и модификатора Ref. На Экране 3 показана зависимость, в которой MOF-файл провайдера EventLog ассоциирует класс Win32_ NTLogEvent с классомWin32_ComputerSystem. Получая объект, приложение управления может сделать запрос ассоциированным объектам. Таким образом провайдер создает иерархию объектов.
На Экране 4 показан WMI-браузер объектов Object Browser (еще одно средство разработки, включенное в SDK) с корнем пространства имен CIMV2. Системные компоненты Win32 обычно размещают свои объекты в пределах пространства имен CIMV2. Object Browser сначала выводит экземпляр объекта Win32_ComputerSystem MARKLAPTOP, который соответствует компьютеру. Затем он получает объекты, связанные с Win32_ComputerSystem, и отображает их ниже MARKLAPTOP. Интерфейс пользователя Object Browser обозначает связанные объекты значком "папка с двойной стрелкой". Связанные с типом класса объекты отображаются ниже папки.
ЭКРАН 4. Применение браузера объектов Object Browser для просмотра корня пространства имен.
Object Browser показывает, что зависимый класс провайдера файла регистрации событий Win32_NTLogEventComputer расположен ниже MARKLAPTOP и что существуют многочисленные образцы класса Win32_NTLogEvent. На Экране 3 видно, как MOF-файл определяет класс Win32_NTLogEventComputer, чтобы сопоставить класс Win32_ ComputerSystem с классом Win32_ NTLogEvent. Указание экземпляра события Win32_NTLogEvent в Object Browser позволяет увидеть свойства класса в правой области окна. Microsoft Object Browser, по замыслу его создателей, должен был помогать WMI-разработчикам исследовать объекты, хотя приложение управления выполнило бы те же самые действия и представило информацию более понятным способом.