iClassFactory::LockServer 方法 (unknwnbase.h)
锁定在内存中打开的对象应用程序。 这样可以更快地创建实例。
语法
HRESULT LockServer(
[in] BOOL fLock
);
参数
[in] fLock
如果 为 TRUE,则递增锁计数;如果 为 FALSE,则递减锁计数。
返回值
此方法可返回标准返回值E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL和S_OK。
注解
IClassFactory::LockServer 控制对象的服务器是否保留在内存中。 使应用程序在内存中保持活动状态可以更快地创建实例。
调用方备注
大多数客户端不需要调用此方法。 它只提供给那些在创建其对象的多个实例时需要特殊性能的客户端。实施者说明
如果锁计数为零,则不再使用其他对象,并且应用程序不受用户控制,则可以关闭服务器。 实现 LockServer 的 一种方法是调用 CoLockObjectExternal 函数。锁定对象应用程序的过程负责解锁它。 释放类对象后,没有机制可以保证调用方稍后 (与同一类的连接,就像类对象注册为一次性) 的情况一样。 对 LockServer 的所有调用(而不仅仅是最后一个调用)进行计数非常重要,因为在尝试释放指向类对象上的 IClassFactory 接口的指针或导致错误结果之前,调用必须均衡。 每次调用 fLock 设置为 TRUE 的 LockServer 时,都必须调用 fLock 设置为 FALSE 的 LockServer。 当锁计数和类对象引用计数均为零时,可以释放类对象。
要求
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | unknwnbase.h (包括 Unknwn.h) |