Изменение наследования экземпляра

Может возникнуть ситуация, когда экземпляр, созданный в качестве дочернего элемента одного родительского класса, должен изменить родительские классы и стать дочерним для другого родительского класса. Например, у вас может быть производный класс ManualService, описывающий службу вручную, и производный класс AutoService, описывающий автоматическую службу. Оба класса имеют большое количество свойств. Не все свойства идентичны. Чтобы изменить службу с ручной на автоматическую, необходимо также изменить экземпляр, представляющий службу, с ManualService на AutoService. В текущей версии WMI нельзя вызвать метод IWbemServices::P utInstance с параметром pInst , указывающим на экземпляр AutoService , и ключевые свойства, описывающие экземпляр ManualService . В этом случае вы неявно удаляете исходный экземпляр ManualService . По сути, после установки класса экземпляра можно изменить только родительский класс экземпляра, удалив экземпляр и повторно создав экземпляр как экземпляр нового родительского класса.

В следующей процедуре описывается перемещение экземпляра из одного класса в другой.

Перемещение экземпляра из одного класса в другой

  1. Удалите экземпляр из исходного класса.

  2. Создайте экземпляр в новом классе.

    WMI не позволяет приложениям перемещать экземпляр, создавая его в новом классе и обновляя его с помощью ключа исходного экземпляра.

Дополнительные сведения см. в разделе Управление сведениями о классах и экземплярах.