ICLRSyncManager::GetMonitorOwner 方法
取得擁有指定 Cookie 所識別之監視器的 IHostTask 執行個體。
語法
HRESULT GetMonitorOwner (
[in] SIZE_T cookie,
[out] IHostTask *ppOwnerHostTask
);
參數
cookie
[in] 與監視器相關聯的 Cookie。
ppOwnerHostTask
[out] 目前擁有監視器之 IHostTask
的指標,如果沒有工作具擁有權,則為 null。
傳回值
HRESULT | 描述 |
---|---|
S_OK | GetMonitorOwner 已成功傳回。 |
HOST_E_CLRNOTAVAILABLE | CLR 尚未載入處理序,或 CLR 處於無法執行受控程式碼或成功處理呼叫的狀態。 |
HOST_E_TIMEOUT | 呼叫逾時。 |
HOST_E_NOT_OWNER | 呼叫端未擁有鎖定。 |
HOST_E_ABANDONED | 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。 |
E_FAIL | 發生未知的重大失敗。 如果方法傳回 E_FAIL,則 CLR 就無法再用於處理序。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
備註
主機通常會呼叫 GetMonitorOwner
作為死結偵測機制的一部分。 使用對 IHostSyncManager::CreateMonitorEvent的呼叫建立 Cookie 時,Cookie 會與監視器相關聯。
注意
如果對此方法的呼叫目前對與監視器相關聯的 Cookie 有作用,則釋放構成該監視器基礎之事件的呼叫可能會封鎖,但不會造成死結。 如果其他工作嘗試取得此監視器,則也可能封鎖。
GetMonitorOwner
一律會立即傳回,而且可以在呼叫 CreateMonitorEvent
之後隨時被呼叫。 主機不需要等到工作在事件上等候。
規格需求
平台:請參閱系統需求。
標題: MSCorEE.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 2.0 起可用