IHolder::TrackResource 方法 (comsvcs.h)
追蹤資源。
語法
HRESULT TrackResource(
[in] const RESID __MIDL__IHolder0003
);
參數
[in] __MIDL__IHolder0003
要追蹤之資源的句柄。 資源分配器已在呼叫 TrackResource 之前建立此資源。
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
ResId 不是有效的資源句柄。 |
|
方法失敗。 尚未追蹤資源。 可能的原因是呼叫端的交易正在中止。 |
備註
某些資源不會保留在清查中;它們一律會依需求製造。 「持有者」只會當做一種機制,自動釋放物件存留期結束時剩餘的資源。
TrackResource 會告訴Holders 應該追蹤資源,直到呼叫 IHolder::UntrackResource 釋放該資源,或直到呼叫 TrackResource 的對象釋出為止,此時分配器管理員會自動釋放資源。
如果從交易物件呼叫 TrackResource ,它會回呼資源分配器的 IDispenserDriver::EnlistResource 方法。 EnlistResource 方法可以在交易中登記資源,也可以傳回S_FALSE,指出資源沒有交易能力且尚未登記。
此資源最終會在下列兩者成立之後終結:
- 資源分配器會呼叫 IHolder::UntrackResource (最可能位於元件的要求) ,或物件的存留期結束。
- 如果有任何) 完成,則資源在 (中登記的交易。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | comsvcs.h |