SpawnInstance 函数

创建类的新实例。

注意

此 API 仅供内部使用。 不应从开发人员代码中使用。

语法

HRESULT SpawnInstance (
   [in] int                  vFunc,
   [in] IWbemClassObject*    ptr,
   [in] LONG                 lFlags,
   [out] IWbemClassObject**  ppNewInstance);

参数

vFunc
[in] 未使用此参数。

ptr
[in] 指向 IWbemClassObject 实例的指针。

lFlags
[in] 保留。 此参数必须为 0。

ppNewInstance
[out] 接收指向类的新实例的指针。 如果发生错误,则不会返回新对象,并且 ppNewInstance 保持不变。

返回值

此函数返回的以下值是在 WbemCli.h 头文件中定义的,你也可以在代码中将这些值定义为常数:

常数 Value 说明
WBEM_E_INCOMPLETE_CLASS 0x80041020 ptr 不是有效的类定义,无法生成新实例。 它可能不完整,或者尚未通过调用 PutClassWmi 在 Windows 管理中注册。
WBEM_E_OUT_OF_MEMORY 0x80041006 没有足够的可用内存来完成该操作。
WBEM_E_INVALID_PARAMETER 0x80041008 ppNewClassnull
WBEM_S_NO_ERROR 0 函数调用成功。

注解

此函数包装对 IWbemClassObject::SpawnInstance 方法的调用。

ptr 必须是从 Windows 管理获取的类定义。 (请注意,支持从实例生成实例,但返回的实例为空。)然后,使用此类定义来创建新实例。 如果要将实例写入 Windows 管理,则需要调用 PutInstanceWmi 函数。

ppNewClass 中返回的新对象将自动成为当前对象的子类。 无法重写此行为。 没有其他方法可以用来创建子类(派生类)。

要求

平台:请参阅系统要求

标头:WMINet_Utils.idl

.NET Framework 版本:自 4.7.2 起可用

另请参阅