IHolder::TrackResource 方法 (comsvcs.h)

跟踪资源。

语法

HRESULT TrackResource(
  [in] const RESID __MIDL__IHolder0003
);

参数

[in] __MIDL__IHolder0003

要跟踪的资源的句柄。 资源分配器在调用 TrackResource 之前已创建此资源。

返回值

此方法可以返回以下值。

返回代码 说明
S_OK
该方法已成功完成。
E_INVALIDARG
ResId 不是有效的资源句柄。
E_FAIL
方法失败。 尚未跟踪资源。 可能的原因是调用方事务正在中止。

注解

某些资源不保留在清单中;它们始终按需制造。 持有者仅用作在对象生存期结束时自动释放剩余资源的机制。

TrackResource 告知持有者,应跟踪资源,直到通过调用 IHolder::UntrackResource 释放资源,或直到释放名为 TrackResource 的对象,此时分配器管理器会自动释放资源。

如果 TrackResource 是从事务对象调用的,它将调用回 Resource 分配器的 IDispenserDriver::EnlistResource 方法。 EnlistResource 方法可以在事务中登记资源,也可以返回S_FALSE,指示该资源不支持事务并且尚未登记。

此资源最终在以下两项均为 true 后销毁:

  • 资源分配器在组件的请求) (调用 IHolder::UntrackResource ,或者对象的生存期结束。
  • 如果已完成任何) ,则资源登记在 (事务。

要求

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

另请参阅

IDispenserDriver

IDispenserManager

IHolder