ICLRSyncManager::GetMonitorOwner – metoda
Získá IHostTask instance, která vlastní monitor identifikovaný zadaný soubor cookie.
Syntaxe
HRESULT GetMonitorOwner (
[in] SIZE_T cookie,
[out] IHostTask *ppOwnerHostTask
);
Parametry
cookie
[v] Soubor cookie přidružený k monitoru.
ppOwnerHostTask
[out] Ukazatel na IHostTask
monitor, který aktuálně vlastní monitor, nebo null, pokud žádný úkol nemá vlastnictví.
Návratová hodnota
HRESULT | Description |
---|---|
S_OK | GetMonitorOwner ú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, když na ni čekalo blokované vlákno nebo vlákno. |
E_FAIL | Došlo k neznámému katastrofickému selhání. Když metoda vrátí E_FAIL, CLR už není v rámci procesu použitelný. Následná volání metod hostování vrátí HOST_E_CLRNOTAVAILABLE. |
Poznámky
Hostitel obvykle volá GetMonitorOwner
jako součást mechanismu detekce vzájemného zablokování. Soubor cookie je přidružen k monitorování, když je vytvořen pomocí volání IHostSyncManager::CreateMonitorEvent.
Poznámka
Volání pro uvolnění události, která je podkladem monitorování, může blokovat (ale nebude se blokovat), pokud volání této metody aktuálně platí pro soubor cookie přidružený k tomuto monitoru. Pokud se pokusí o získání tohoto monitorování, můžou ho blokovat i jiné úkoly.
GetMonitorOwner
vždy vrátí okamžitě a může být volána kdykoli po volání CreateMonitorEvent
. Hostitel nemusí čekat, dokud na událost nečeká úkol.
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: MSCorEE.h
Knihovny: Zahrnuto jako prostředek v MSCorEE.dll
Verze rozhraní .NET Framework: K dispozici od verze 2.0