Метод 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 |