ObjectContext::CreateInstance 方法 (comsvcs.h)

使用当前对象的上下文创建对象。

仅当对象的组件注册到 COM+ 时,对象才具有上下文。

语法

HRESULT CreateInstance(
  [in]  BSTR    bstrProgID,
  [out] VARIANT *pObject
);

参数

[in] bstrProgID

要实例化的对象类型的 ProgID。

[out] pObject

对新对象的引用。

返回值

此方法可以返回标准返回值E_INVALIDARG、E_OUTOFMEMORY和E_FAIL,以及以下值。

返回代码 说明
S_OK
该方法已成功完成。
E_UNEXPECTED
发生了意外错误。 如果一个对象将其 ObjectContext 指针传递到另一个对象,而另一个对象使用此指针调用 CreateInstance ,则可能会发生这种情况。 ObjectContext 指针在最初获取它的对象的上下文之外无效。

注解

使用 CreateInstance 创建对象时,新对象的上下文派生自当前对象的 ObjectContext 和新对象的组件的声明性属性。 新对象始终在创建它的对象所在的同一活动内执行。 如果当前对象具有事务,则新对象的组件的事务属性将确定新对象是否在该事务的范围内执行。

如果组件的事务属性设置需要事务或支持事务,则新对象将继承其创建者的事务。 如果组件的事务属性需要新事务,COM+ 会为新对象启动一个新事务。 如果组件的事务属性不支持事务,则新对象不会在任何事务下执行。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 comsvcs.h

另请参阅

ObjectContext