描述
使用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。 |