Поделиться через


Проектирование классов управляемого формата объектов (MOF)

поставщик WMI состоит из файла формата управляемых объектов (MOF) и DLL-файла. MOF-файл определяет классы, для которых реализация поставщика предоставляет данные.

Определения классов MOF компилируются программой mofcomp mofcomp и хранятся в репозитории WMI, также известном как репозиторий Common Information Model (CIM). Менее распространенным способом создания классов является методы COM API для WMI.

Заметка

Чтобы убедиться, что все определения классов WMI для управляемых объектов восстанавливаются в репозиторий WMI в случае сбоя и перезапуска WMI, используйте инструкцию препроцессора #pragma autorecover в вашем MOF-файле.

 

В этом разделе рассматриваются следующие разделы:

Определение объектов для управления

После идентификации части организации для управления определите объекты для управления. Определение должно содержать необходимые данные и позволяет точно реализовать соответствующие бизнес-правила. Можно определить объекты на детализированном уровне, но лучше всего выбрать уровень детализации, содержащийся в определении, и предоставить достаточно подробных сведений, чтобы быть полезными. Упрощения на начальном этапе процесса могут сэкономить время, но могут быть причиной дополнительной работы в будущем.

Руководство по CIM на веб-сайте распределенной целевой группы управления (DMTF) содержит отличную информацию о процессе проектирования. Дополнительные сведения см. в www.dmtf.org.

При разработке и реализации схемы следует учитывать следующие факторы:

  • Квалификаторы

    Квалификаторы предоставляют сведения о том, как описывать классы, объекты, свойства, методы и параметры; они применяются к определениям классов и свойств. В коде MOF квалификаторы заключены в квадратные скобки и могут включать [ключ] или [ассоциацию]. Дополнительные сведения см. в разделах Добавление квалификатора и Квалификаторы WMI.

  • Пространство имен

    Пространство имен — это логическая единица для группирования классов и объектов, а также области управления и видимости. Как правило, пространство имен содержит набор классов и объектов, представляющих управляемые объекты в определенной среде. Дополнительные сведения см. в разделе Создание иерархий вWMI.

  • Объект

    Модельный объект может быть физическим или логическим элементом схемы. Например, можно моделировать физический диск, например жесткий диск или логический диск, который может быть секцией на физическом диске. Дизайн, использующий класс для моделирования физического диска, а затем расширяющий этот класс для моделирования логического диска, является более гибким и расширяемым по сравнению с тем, в котором создаётся отдельный класс для каждого типа диска.

  • Данные

    Данные могут быть динамическими или статическими. Если данные являются динамическими, необходимо создать для него поставщика классов.

    Чтобы пользователь мог изменять данные, необходимо определить, должно ли свойство быть непосредственно записываемым или модифицируемым только с помощью метода, вызываемого пользователем.

Определение свойств или методов

Как правило, свойство класса WMI похоже на свойство в классе C++. Если единственные действия, которые реализует код для элемента данных, — получить значение или задать значение, то данные должны быть определены как свойство класса WMI.

Метод WMI обычно выполняет действие, которое изменяет состояние управляемого объекта. Например, если действие заключается в включении или отключении операции аппаратного объекта, метод, вероятно, предпочтительнее для создания свойства чтения и записи. Вы можете также создать свойство, отображающее состояние оборудования.

При создании класса или экземпляра можно включить примечания. Используйте этот метод для документирования класса или объяснения методов программирования. Дополнительные сведения см. в статье "Создание комментария". Кроме того, можно добавить данные для квалификации цели объекта данных. Дополнительные сведения см. в разделе Добавление квалификатора.

Отношение объектов друг к другу

Существует два способа связать объекты друг с другом: путем создания отдельных объектов и объекта ассоциации, связанных с ними, или путем внедрения одного объекта в другой. CIM не поддерживает внедренные объекты, поэтому для соответствия CIM необходимо использовать первый метод. Однако WMI поддерживает внедренные объекты, поэтому используйте любой метод для представления связи между объектами. Примеры внедренных объектов можно найти в классах Win32. Например, Win32_SecurityDescriptor имеет внедренный объект Win32_ACE, который имеет другой внедренный объект, Win32_Trustee.

При выборе способа представления связей между объектами следует учитывать следующее:

Разработка поставщика WMI

предоставление данных в WMI

MOF: типы данных