共用方式為


ICLRSyncManager::GetMonitorOwner 方法

取得 IHostTask 執行個體,此執行個體擁有由指定之 Cookie 所識別的監視器。

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 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。

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 之後隨時予以呼叫。 主應用程式不需要一直等候到有工作等候事件。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**MSCorEE.h

程式庫:包含做為 MSCorEE.dll 中的資源

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

請參閱

參考

ICLRSyncManager 介面

IHostSyncManager 介面