IHolder::TrackResource 方法 (comsvcs.h)
跟踪资源。
语法
HRESULT TrackResource(
[in] const RESID __MIDL__IHolder0003
);
参数
[in] __MIDL__IHolder0003
要跟踪的资源的句柄。 资源分配器在调用 TrackResource 之前已创建此资源。
返回值
此方法可以返回以下值。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
|
ResId 不是有效的资源句柄。 |
|
方法失败。 尚未跟踪资源。 可能的原因是调用方事务正在中止。 |
注解
某些资源不保留在清单中;它们始终按需制造。 持有者仅用作在对象生存期结束时自动释放剩余资源的机制。
TrackResource 告知持有者,应跟踪资源,直到通过调用 IHolder::UntrackResource 释放资源,或直到释放名为 TrackResource 的对象,此时分配器管理器会自动释放资源。
如果 TrackResource 是从事务对象调用的,它将调用回 Resource 分配器的 IDispenserDriver::EnlistResource 方法。 EnlistResource 方法可以在事务中登记资源,也可以返回S_FALSE,指示该资源不支持事务并且尚未登记。
此资源最终在以下两项均为 true 后销毁:
- 资源分配器在组件的请求) (调用 IHolder::UntrackResource ,或者对象的生存期结束。
- 如果已完成任何) ,则资源登记在 (事务。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | comsvcs.h |