ObjectControl::CanBePooled 方法 (comsvcs.h)

指示在停用对象时是否可以将其共用以供重复使用。

语法

HRESULT CanBePooled(
  [out] VARIANT_BOOL *pbPoolable
);

参数

[out] pbPoolable

指示 COM+ 运行时环境是否可以在停用时池化此对象,以供以后重复使用。

返回值

此方法可以返回E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL和S_OK的标准返回值。

注解

当对象从 CanBePooled 返回 TRUE 时,它会向 COM+ 运行时环境指示,可以在停用后将其添加到对象池,而不是被销毁。 每当需要实例时,将从池中提取一个实例,而不是创建实例。

CanBePooled 返回 TRUE 并不能保证将回收对象;它仅授予 COM+ 运行时环境回收权限。 从 CanBePooled 方法返回 FALSE 可保证不会回收组件的实例。

如果创建新实例或从池中提取回收实例,则调用 Activate 方法。 同样,每次停用对象时,都会调用 Deactivate 方法,无论对象是被销毁还是返回到池进行回收。

要求

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

另请参阅

COM+ 对象池

对象池的工作原理

ObjectControl

可入池对象的要求