Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Teoria_LR_4.doc
Скачиваний:
10
Добавлен:
19.11.2019
Размер:
307.71 Кб
Скачать

Общие сведения о классах wmi

Все классы внутри одного пространства должны иметь уникальные имена (при этом имена классов из разных пространств могут совпадать). Класс не может иметь предка или потомка из другого пространства имен.

Полный путь к классу CIM имеет следующую структуру:

\\ComputerName\Namespace:ClassName.KeyProperty1=Value1, KeyProperty2=Value2 ...

Здесь:

  • ComputerName - сетевое имя компьютера. Для задания локального компьютера можно использовать символ ".";

  • Namespace - название пространства имен;

  • ClassName - имя класса;

  • KeyProperty1=Value1, KeyProperty2=Value2 ... - список ключевых пар "свойство-значение" объекта.

Например, экземпляр класса Win32_Process из пространства имен CIMV2 с идентификатором 4, запущенный на локальной машине, определяет такой путь:

\\.\Root\CIMV2:Win32_Process.Handle=4

Всякому ресурсу, управляемому с помощью WMI, соответствует свой класс. Каждый класс имеет свойства, методы и квалификаторы. Также свои квалификаторы могут быть у каждого свойства и метода.

Типы классов по способу хранения информации об управляемых ресурсах:

  • Абстрактный класс (abstract class) - шаблон для образования классов-потомков (абстрактных и неабстрактных), не может использоваться для получения экземпляра управляемого ресурса;

  • Статический класс (static class) - моделирует данные, которые физически хранятся в репозитории CIM (например, данные о собственных настройках WMI). Доступ к экземплярам статических классов осуществляется без помощи каких-либо провайдеров;

  • Динамический класс (dynamic class) - моделирует данные управляемого ресурса через соответствующего провайдера;

  • Ассоциативный класс (association class) - это класс, который описывает логическую связь между классами или управляющими ресурсами. Может быть абстрактным, статическим или динамическим.

Типы классов по принадлежности к информационным моделям:

  • Системные классы - служат для задания конфигурации и выполнения внутренних функций WMI (обеспечение безопасности, регистрация провайдеров, подписка на события и пр.). Могут быть абстрактными или статическими. Имена всех системных классов начинаются с символов "__" (двойное подчеркивание);

  • Классы модели ядра (core model) - абстрактные классы, которые обеспечивают интерфейс со всеми областями управления (например, абстрактный класс CIM_LogicalElement, который описывает логический управляемый ресурс, например, файл или каталог). Имена таких классов начинаются с префикса "CIM_";

  • Классы общей модели (common model) - классы для специфических задач управления, но не зависящие от версии операционной системы. Имена таких классов тоже начинаются с префикса "CIM_";

  • Классы модели расширения (extension model) - классы для специфических задач управления. Например, классы, соответствующие ресурсам среды Win32, начинающиеся с префикса "Win32_".

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

Свойства классов используются для однозначной идентификации экземпляра класса, представляющего конкретный управляемый ресурс, а также для описания текущего состояния этого ресурса. В основном в WMI свойства классов доступны только для чтения, но значения определенных свойств некоторых классов можно изменять методом Put_(). Возможность изменения конкретного свойства может зависеть от версии операционной системы. Чтобы узнать, является ли свойство доступным для записи, можно проверить значение квалификатора write этого свойства (о квалификаторах см. ниже).

Методы класса позволяют выполнить те или иные действия над управляемым ресурсом, которому соответствует этот класс. Так как не над каждым ресурсом можно производить какие-либо операции, то не у всякого класса есть методы.

Квалификаторы содержат дополнительную информацию о классе, свойстве или методе, в котором они определены.

Квалификаторы классов предоставляют информацию о классе в целом, например, тип класса (квалификаторы Abstract, Dynamic, Association, которые могут принимать булевы значения), имя провайдера класса (квалификатор Provider), информацию о том, поддерживает ли класс создание, уничтожение, изменение экземпляров (квалификаторы SupportsCreate, SupportsDelete, SupportsUpdate, которые могут принимать булевы значения), UUID класса (квалификатор UUID), названия методов создания, уничтожения экземпляров (квалификаторы CreateBy, DeleteBy) и т.п.

Квалификаторы свойств позволяют определить тип данного свойства (квалификатор CIMType), доступность для чтения (квалификатор Read), доступность для записи (квалификатор Write), набор допустимых значений для свойства (квалификатор ValueMap) и т.п.

Квалификаторы методов могут описывать множество значений, которые будут возвращаться методом (квалификатор ValueMap), права, которые необходимы для вызова метода (квалификатор Privileges) и т.п. Выполнять можно только те методы, у которых есть квалификатор Implemented со значением True.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]