共用方式為


IHostSemaphore::ReleaseSemaphore 方法

將目前的 IHostSemaphore 執行個體計數增加指定的數量。

HRESULT ReleaseSemaphore (
    [in]  LONG  lReleaseCount,
    [out] LONG  *lpPreviousCount
);

參數

  • lReleaseCount
    [in] 目前的 IHostSemaphore 執行個體計數所要增加的數量。 這個數量必須大於零。

  • lpPreviousCount
    [out] 上一個計數的指標,如果呼叫端不需要上一個計數,則為 null。

傳回值

HRESULT

描述

S_OK

ReleaseSemaphore 已成功傳回。

HOST_E_CLRNOTAVAILABLE

Common Language Runtime (CLR) 尚未載入至處理序中,或者此 CLR 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。

HOST_E_TIMEOUT

呼叫已逾時。

HOST_E_NOT_OWNER

呼叫端不具備鎖定功能。

HOST_E_ABANDONED

已封鎖執行緒或 Fiber 在等候事件時,該事件已遭取消。

E_FAIL

發生未知的重大錯誤。 當方法傳回 E_FAIL 時,便無法在處理序內使用 CLR。 對裝載方法的後續呼叫會傳回 HOST_E_CLRNOTAVAILABLE。

備註

CLR 通常會呼叫 ReleaseSemaphore,通知主應用程式它已完成資源的使用,並為 lReleaseCount 參數傳遞 1 的值。

需求

**平台:**請參閱 .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 介面

IHostAutoEvent 介面

IHostManualEvent 介面

IHostSemaphore 介面

IHostSyncManager 介面