Dela via


IHostSyncManager::CreateSemaphore, metod

Skapar ett IHostSemaphore-objekt för CLR (Common Language Runtime) som ska användas som en semafor för väntehändelser.

Syntax

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

Parametrar

dwInitial
[in] Det första antalet för ppSemaphore.

dwMax
[in] Det maximala antalet för ppSemaphore.

ppSemaphore
[ut] En pekare till adressen för en IHostSemaphore instans eller null om semaforen inte kunde skapas.

Returvärde

HRESULT Description
S_OK CreateSemaphore returnerades.
HOST_E_CLRNOTAVAILABLE CLR har inte lästs in i en process, eller så är CLR i ett tillstånd där den inte kan köra hanterad kod eller bearbeta anropet.
HOST_E_TIMEOUT Tidsgränsen för samtalet överst.
HOST_E_NOT_OWNER Anroparen äger inte låset.
HOST_E_ABANDONED En händelse avbröts medan en blockerad tråd eller fiber väntade på den.
E_FAIL Ett okänt oåterkalleligt fel inträffade. När en metod returnerar E_FAIL kan CLR inte längre användas i processen. Efterföljande anrop till värdmetoder returnerar HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY Det fanns inte tillräckligt med minne för att skapa det begärda händelseobjektet.

Kommentarer

CreateSemaphore speglar Win32-funktionen som har samma namn. Parametrarna dwInitial och dwMax använder samma semantik för semaforantalet som Win32 lInitialCountlMaximumCount respektive parametrar. dwInitial måste vara mellan noll och dwMax, inklusivt. dwMax måste vara större än noll.

Krav

Plattformar: Se Systemkrav.

Huvudet: MSCorEE.h

Bibliotek: Ingår som en resurs i MSCorEE.dll

.NET Framework versioner: Tillgänglig sedan 2.0

Se även