Sdílet prostřednictvím


IHostSyncManager::CreateSemaphore – metoda

Vytvoří objekt IHostSemaphore pro modul CLR (Common Language Runtime), který se použije jako semafor pro události čekání.

Syntaxe

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

Parametry

dwInitial
[v] Počáteční počet pro ppSemaphore.

dwMax
[v] Maximální počet pro ppSemaphore.

ppSemaphore
[out] Ukazatel na adresu IHostSemaphore instance nebo null, pokud semafor nelze vytvořit.

Návratová hodnota

HRESULT Description
S_OK CreateSemaphore úspěšně vráceno.
HOST_E_CLRNOTAVAILABLE ClR nebyl načten do procesu nebo clr je ve stavu, ve kterém nemůže spustit spravovaný kód nebo úspěšně zpracovat volání.
HOST_E_TIMEOUT Časový limit hovoru vypršel.
HOST_E_NOT_OWNER Volající zámek nevlastní.
HOST_E_ABANDONED Událost byla zrušena, zatímco na ni čekalo blokované vlákno nebo vlákno.
E_FAIL Došlo k neznámému závažnému selhání. Když metoda vrátí E_FAIL, clr již není možné v rámci procesu použít. Následná volání metod hostování vrátí HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY K vytvoření požadovaného objektu události nebyl k dispozici dostatek paměti.

Poznámky

CreateSemaphore zrcadlí funkci Win32, která má stejný název. Parametry dwInitial a dwMax používají stejnou sémantiku pro počet semaforu jako parametry Win32 lInitialCount a lMaximumCount v uvedeném pořadí. dwInitial musí být mezi nulou a dwMax, včetně. dwMax musí být větší než nula.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: MSCorEE.h

Knihovny: Zahrnutý jako prostředek v MSCorEE.dll

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také