共用方式為


IHolder::TrackResource 方法 (comsvcs.h)

追蹤資源。

語法

HRESULT TrackResource(
  [in] const RESID __MIDL__IHolder0003
);

參數

[in] __MIDL__IHolder0003

要追蹤之資源的句柄。 資源分配器已在呼叫 TrackResource 之前建立此資源。

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
已成功完成命令。
E_INVALIDARG
ResId 不是有效的資源句柄。
E_FAIL
方法失敗。 尚未追蹤資源。 可能的原因是呼叫端的交易正在中止。

備註

某些資源不會保留在清查中;它們一律會依需求製造。 「持有者」只會當做一種機制,自動釋放物件存留期結束時剩餘的資源。

TrackResource 會告訴Holders 應該追蹤資源,直到呼叫 IHolder::UntrackResource 釋放該資源,或直到呼叫 TrackResource 的對象釋出為止,此時分配器管理員會自動釋放資源。

如果從交易物件呼叫 TrackResource ,它會回呼資源分配器的 IDispenserDriver::EnlistResource 方法。 EnlistResource 方法可以在交易中登記資源,也可以傳回S_FALSE,指出資源沒有交易能力且尚未登記。

此資源最終會在下列兩者成立之後終結:

  • 資源分配器會呼叫 IHolder::UntrackResource (最可能位於元件的要求) ,或物件的存留期結束。
  • 如果有任何) 完成,則資源在 (中登記的交易。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 comsvcs.h

另請參閱

IDispenserDriver

IDispenserManager

IHolder