共用方式為


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 起可用

另請參閱