iHolder::Close 方法 (comsvcs.h)
关闭持有者。
语法
HRESULT Close();
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
这会关闭资源分配器的持有者,之后资源分配器可能会释放。
在关闭之前,通过回调资源分配器的 IDispenserDriver::D estroyResource 方法销毁所有剩余清单。
以下顺序介绍如何关闭资源分配器:
- 获取对资源分配器的引用 (公开 IDispenserDriver) 的对象。
- 在实现调用 IHolder::Close 的资源分配器中调用方法。
- IHolder::Close 通过回调 Resource 分配器的 IDispenserDriver::D estroyResource 方法销毁所有剩余清单。
- IHolder::Close 调用分配器管理器以从持有者列表中删除此持有者。 (如果没有保留者,则分配器管理器对象将删除自身。)
- IHolder::Close 发布对 Resource 分配器的 IDispenserDriver 接口的引用。 这就是在步骤 1 中需要引用的原因;否则,资源分配器会提前删除自身,然后才能完成后续步骤。
- IHolder::Close 返回到资源分配器。
- 资源分配器调用 IDispenserDriver::D estroyResource。 持有者现在删除自身。
- 步骤 2 中调用的方法现在返回。
- 释放对资源分配器的最终引用,该资源分配器现在会自行删除。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | comsvcs.h |