Метод IWbemClassObject::SpawnDerivedClass (wbemcli.h)

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

Синтаксис

HRESULT SpawnDerivedClass(
  [in]  long             lFlags,
  [out] IWbemClassObject **ppNewClass
);

Параметры

[in] lFlags

Зарезервировано. Этот параметр должен иметь значение 0.

[out] ppNewClass

Не может иметь значение NULL. При этом получается указатель на новый объект определения класса. Вызывающий объект должен вызывать IWbemClassObject::Release , когда объект больше не требуется, обычно после вызова IWbemServices::P utClass для записи определения класса. При ошибке новый объект не возвращается, а ppNewClass остается без изменений.

Возвращаемое значение

Этот метод возвращает HRESULT , указывающий состояние вызова метода. В следующем списке перечислены значения, содержащиеся в HRESULT. Общие значения HRESULT см. в разделе Системные коды ошибок.

Комментарии

Новый объект, возвращенный в ppNewClass , автоматически становится подклассом текущего объекта. Это поведение нельзя переопределить. Нет другого метода, с помощью которого можно создать подклассы (производные классы).

Нельзя создать производный класс из класса, который является локальным для собственного клиентского процесса. Родительский класс (базовый класс) необходимо создать и зарегистрировать в windows Management с помощью IWbemServices::P utClass, а затем получить с помощью IWbemServices::GetObject , прежде чем этот метод можно будет использовать для создания производного класса.

Чтобы создать иерархию классов, необходимо создать начальный класс с помощью IWbemServices::P utClass, получить его с помощью IWbemServices::GetObject и использовать полученный объект для создания нового производного класса. Затем этот новый производный класс должен быть создан с помощью IWbemServices::P utClass. Чтобы создать другие производные классы, необходимо вызвать IWbemServices::GetObject, а затем вызвать IWbemClassObject::SpawnDerivedClass и т. д. в цикле для каждого нового уровня наследования. Чтобы предотвратить ошибки версий и конфликты параллелизма, необходимо выполнить эту процедуру. Дополнительные сведения о создании класса без родительского элемента см. в разделе Создание класса.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header wbemcli.h (включая Wbemidl.h)
Библиотека WbemUuid.lib
DLL CIMWin32.dll; Esscli.dll; Fastprox.dll; FrameDyn.dll; FrameDynOS.dll; Krnlprov.dll; Ncprov.dll; Wbemcore.dll; Wbemess.dll; Wmipiprt.dll

См. также раздел

IWbemClassObject

IWbemServices::GetObject

IWbemServices::P utClass