Sdílet prostřednictvím


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

Viz také