勇芳软件工作室.汉化:  Windows Management Instrumentation > COM API for WMI > Interfaces > IWbemClassObject >

SpawnDerivedClass Method

Previous pageReturn to chapter overviewNext page

描述

 

使用IWbemClassObject.SpawnDerivedClass方法从当前对象创建新派生的类对象。当前对象必须是一个类定义,成为生成对象的父类。返回的对象成为当前对象的子类。

 

C++ 语法

 

HRESULT SpawnDerivedClass(

[in]   LONG lFlags,

[out]  IWbemClassObject **ppNewClass

);

 

PowerBASIC 语法

 

METHOD SpawnDerivedClass ( _

BYVAL lFlags AS LONG, _

BYREF ppNewClass AS IWbemClassObject _

) AS LONG

 

参数

 

lFlags

 

保留。该参数必须为0。

 

ppNewClass

 

不能为空。这接收到指向新类定义对象的指针。通常在调用IWbemServices.PutClass编写类定义之后,调用者必须在不再需要对象时调用IWbemClassObject.Release.出现错误时,不会返回新对象,并且ppNewClass未修改。

 

返回值

 

此方法返回一个指示方法调用状态的HRESULT.下表列出了HRESULT中包含的值。

 

退货代码

描述

WBEM_E_FAILED

已经有一般的失败。

WBEM_E_INVALID_OPERATION

请求无效的操作,例如从一个实例生成一个类。

WBEM_E_INCOMPLETE_CLASS

源类没有被完全定义或注册到Windows Management,所以不允许新的派生类。

WBEM_E_INVALID_PARAMETER

ppNewClass为NULL。

WBEM_E_OUT_OF_MEMORY

没有足够的内存来完成操作。

WBEM_S_NO_ERROR

通话成功。

 

备注

 

ppNewClass中返回的新对象将自动成为当前对象的子类。这种行为不能被重写。没有其他可以创建子类(派生类)的方法。

 

您不能从您自己的客户端进程本地的类创建派生类。必须使用IWbemServices.PutClass在Windows Management中创建并注册父类(基类),然后使用IWbemServices.GetObject检索该方法,此方法可用于创建派生类。

 

要创建类层次结构,您必须使用IWbemServices.PutClass创建初始类,使用IWbemServices.GetObject检索它,并使用检索到的对象创建新派生的类。然后,这个新派生的类必须使用IWbemServices.PutClass创建。要创建其他派生类,您必须在每个新的派生级别的一个循环中调用IWbemServices.GetObject,然后调用IWbemClassObject.SpawnDerivedClass等等。您必须遵循此过程来防止版本错误和并发冲突。有关创建没有父级的类的更多信息,请参阅创建一个类.

 

要求

 

客户

需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95。

服务器

需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。

在Wbemcli.inc中声明。

DLL

需要Cimwin32.dll。

需要Esscli.dll。

需要Evntrprv.dll。

需要Fastprox.dll。

需要Framedyn.dll。

需要Krnlprov.dll。

需要Ncprov.dll。

需要Wbemcore.dll。

需要Wbemess.dll。

需要Wmipiprt.dll。