共用方式為


IHostSyncManager::CreateSemaphore 方法

為 Common Language Runtime (CLR) 建立 IHostSemaphore 物件,以作為等候事件的旗號。

語法

HRESULT CreateSemaphore (  
    [in]  DWORD dwInitial,  
    [in]  DWORD dwMax,  
    [out] IHostSemaphore **ppSemaphore  
);  

參數

dwInitial
[in] ppSemaphore 的初始計數。

dwMax
[in] ppSemaphore 的最大計數。

ppSemaphore
[out] IHostSemaphore 執行個體的位址指標,如果無法建立旗號,則為 null。

傳回值

HRESULT 描述
S_OK CreateSemaphore 已成功傳回。
HOST_E_CLRNOTAVAILABLE CLR 尚未載入處理序,或 CLR 處於無法執行受控程式碼或成功處理呼叫的狀態。
HOST_E_TIMEOUT 呼叫逾時。
HOST_E_NOT_OWNER 呼叫端未擁有鎖定。
HOST_E_ABANDONED 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。
E_FAIL 發生未知的重大失敗。 如果方法傳回 E_FAIL,則 CLR 就無法再用於處理序。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。
E_OUTOFMEMORY 沒有足夠的記憶體可用來建立要求的事件物件。

備註

CreateSemaphore 會鏡像處理具有相同名稱的 Win32 函式。 dwInitialdwMax 參數會分別針對旗號計數使用與 Win32 lInitialCountlMaximumCount 參數相同的語意。 dwInitial 必須在零和 dwMax 之間 (包含頭尾)。 dwMax 必須大於零。

規格需求

平台:請參閱系統需求

標題: MSCorEE.h

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

.NET Framework版本:自 2.0 起提供

另請參閱