Delen via


Methode IHostSyncManager::CreateSemaphore

Hiermee maakt u een IHostSemaphore-object voor de COMMON Language Runtime (CLR) om te gebruiken als een semafoor voor wachtgebeurtenissen.

Syntaxis

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

Parameters

dwInitial
[in] Het initiƫle aantal voor ppSemaphore.

dwMax
[in] Het maximumaantal voor ppSemaphore.

ppSemaphore
[uit] Een aanwijzer naar het adres van een IHostSemaphore exemplaar of null als de semafoor niet kan worden gemaakt.

Retourwaarde

HRESULT Beschrijving
S_OK CreateSemaphore is geretourneerd.
HOST_E_CLRNOTAVAILABLE De CLR is niet geladen in een proces of de CLR heeft een status waarin beheerde code niet kan worden uitgevoerd of de aanroep kan worden verwerkt.
HOST_E_TIMEOUT Er is een time-out opgetreden voor het gesprek.
HOST_E_NOT_OWNER De beller is niet de eigenaar van het slot.
HOST_E_ABANDONED Een gebeurtenis is geannuleerd terwijl er een geblokkeerde thread of glasvezel op wachtte.
E_FAIL Er is een onbekende catastrofale fout opgetreden. Wanneer een methode E_FAIL retourneert, is de CLR niet meer bruikbaar binnen het proces. Volgende aanroepen naar hostingmethoden retourneren HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY Er was onvoldoende geheugen beschikbaar om het aangevraagde gebeurtenisobject te maken.

Opmerkingen

CreateSemaphore spiegelt de Win32-functie met dezelfde naam. De dwInitial parameters en dwMax gebruiken dezelfde semantiek voor het semafooraantal als respectievelijk de Win32 lInitialCount - en lMaximumCount parameters. dwInitial moet tussen nul en dwMax, inclusief zijn. dwMax moet groter zijn dan nul.

Vereisten

Platforms: Zie Systeemvereisten.

Header: MSCorEE.h

Bibliotheek: Opgenomen als een resource in MSCorEE.dll

.NET Framework versies: beschikbaar sinds 2.0

Zie ook