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 , které označují, jaký typ kontextu common language runtime (CLR) umístí na hostitele.
ppSecurityContext
[out] Ukazatel na adresu nového IHostSecurityContext objektu.
Návratová hodnota
HRESULT | Description |
---|---|
S_OK | SetSecurityContext ú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, zatímco na ni čekalo blokované vlákno nebo vlákno. |
E_FAIL | Došlo k neznámému závažnému selhání. Když metoda vrátí E_FAIL, clr již není možné v rámci procesu použít. Následná volání metod hostování vrátí 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á CLR SetSecurityContext
, aby chránil hostitele před selháním spuštění. Potom po spuštění konstruktoru nebo finalizátoru resetuje kontext zabezpečení do původního stavu 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 hostitel volání ICLRIoCompletionManager::OnComplete.
V asynchronních bodech v pracovních vláknech volá SetSecurityContext
CLR v rámci ThreadPool.QueueUserWorkItem nebo v rámci IHostThreadPoolManager::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
Knihovny: Zahrnutý jako prostředek v MSCorEE.dll
Verze rozhraní .NET Framework: K dispozici od verze 2.0