IHostSecurityManager::SetSecurityContext – metoda

Nastaví kontext zabezpečení aktuálně spuštěného vlákna.

Syntaxe

HRESULT SetSecurityContext (
    [in]  EContextType eContextType,
    [out] IHostSecurityContext** ppSecurityContext
);

Parametry

eContextType [v] Jedna z hodnot EContextType označující typ kontextu modulu CLR (Common Language Runtime) je umístění na hostitele.

ppSecurityContext [ven] Ukazatel na adresu nového objektu IHostSecurityContext .

Návratová hodnota

HRESULT Description
S_OK SetSecurityContext byla úspěšně vrácena.
HOST_E_CLRNOTAVAILABLE Modul CLR nebyl načten do procesu nebo clr je ve stavu, ve kterém nemůže úspěšně spustit spravovaný kód nebo zpracovat volání.
HOST_E_TIMEOUT Vypršel časový limit hovoru.
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é katastrofické chybě. Když metoda vrátí E_FAIL, CLR již není možné použít v rámci procesu. Následná volání metod hostování vrací HOST_E_CLRNOTAVAILABLE.

Poznámky

CLR volá SetSecurityContext v několika scénářích. Před spuštěním konstruktorů tříd a modulů a finalizátorů volání CLR SetSecurityContext chrání hostitele před selháním spuštění. Potom resetuje kontext zabezpečení do původního stavu po spuštění konstruktoru nebo finalizátoru pomocí jiného volání SetSecurityContext. K podobnému vzoru dochází při dokončování vstupně-výstupních operací. Pokud hostitel implementuje IHostIoCompletionManager, CLR volá SetSecurityContext po volání hostitele ICLRIoCompletionManager::OnComplete.

V asynchronních bodech pracovních vláken volá SetSecurityContext CLR v rámci ThreadPool.QueueUserWorkItemIHostThreadPoolManager::QueueUserWorkItem v závislosti na tom, zda hostitel nebo CLR implementuje fond vláken.

Požadavky

Platformy: Viz požadavky na systém.

Záhlaví: MSCorEE.h

Knihovna: Zahrnutý jako prostředek v MSCorEE.dll

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také