Methode ICLRSyncManager::GetMonitorOwner
Hiermee haalt u het IHostTask-exemplaar op dat eigenaar is van de monitor die wordt geïdentificeerd door de opgegeven cookie.
Syntaxis
HRESULT GetMonitorOwner (
[in] SIZE_T cookie,
[out] IHostTask *ppOwnerHostTask
);
Parameters
cookie
[in] De cookie die is gekoppeld aan de monitor.
ppOwnerHostTask
[uit] Een aanwijzer naar de IHostTask
die momenteel eigenaar is van de monitor of null als er geen taak eigendom is.
Retourwaarde
HRESULT | Beschrijving |
---|---|
S_OK | GetMonitorOwner 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. |
Opmerkingen
De host roept doorgaans aan GetMonitorOwner
als onderdeel van een impassedetectiemechanisme. De cookie wordt gekoppeld aan een monitor wanneer deze wordt gemaakt met behulp van een aanroep naar IHostSyncManager::CreateMonitorEvent.
Notitie
Een aanroep om de onderliggende gebeurtenis van de monitor vrij te geven, kan blokkeren( maar zal niet vastlopen) als er momenteel een aanroep van deze methode van kracht is op de cookie die aan die monitor is gekoppeld. Andere taken kunnen ook worden geblokkeerd als ze proberen deze monitor te verkrijgen.
GetMonitorOwner
retourneert altijd onmiddellijk en kan op elk gewenst moment na een aanroep van worden aangeroepen.CreateMonitorEvent
De host hoeft niet te wachten totdat er een taak op de gebeurtenis wacht.
Vereisten
Platforms: Zie Systeemvereisten.
Header: MSCorEE.h
Bibliotheek: Opgenomen als een resource in MSCorEE.dll
.NET Framework versies: beschikbaar sinds 2.0