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 | ppNewClass 为 null 。 |
WBEM_S_NO_ERROR |
0 | 函数调用成功。 |
注解
此函数包装对 IWbemClassObject::SpawnInstance 方法的调用。
ptr
必须是从 Windows 管理获取的类定义。 (请注意,支持从实例生成实例,但返回的实例为空。)然后,使用此类定义来创建新实例。 如果要将实例写入 Windows 管理,则需要调用 PutInstanceWmi 函数。
ppNewClass
中返回的新对象将自动成为当前对象的子类。 无法重写此行为。 没有其他方法可以用来创建子类(派生类)。
要求
平台:请参阅系统要求。
标头:WMINet_Utils.idl
.NET Framework 版本:自 4.7.2 起可用