Udostępnij za pośrednictwem


IHostSecurityManager::SetSecurityContext — Metoda

Ustawia kontekst zabezpieczeń aktualnie wykonywanego wątku.

Składnia

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

Parametry

eContextType
[w] Jedna z wartości EContextType wskazująca, jakiego typu kontekstu umieszcza środowisko uruchomieniowe języka wspólnego (CLR) na hoście.

ppSecurityContext
[out] Wskaźnik na adres nowego obiektu IHostSecurityContext .

Wartość zwracana

HRESULT Opis
S_OK SetSecurityContext zwrócono pomyślnie.
HOST_E_CLRNOTAVAILABLE ClR nie został załadowany do procesu lub CLR jest w stanie, w którym nie może uruchomić kodu zarządzanego ani pomyślnie przetworzyć wywołania.
HOST_E_TIMEOUT Upłynął limit czasu wywołania.
HOST_E_NOT_OWNER Obiekt wywołujący nie jest właścicielem blokady.
HOST_E_ABANDONED Zdarzenie zostało anulowane, gdy zablokowany wątek lub światłowod czekał na nie.
E_FAIL Wystąpił nieznany katastrofalny błąd. Gdy metoda zwraca E_FAIL, clR nie będzie już można używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE.

Uwagi

ClR wywołuje w SetSecurityContext kilku scenariuszach. Przed wykonaniem konstruktorów klas i modułów i finalizatorów clR wywołuje funkcję SetSecurityContext ochrony hosta przed niepowodzeniami wykonywania. Następnie resetuje kontekst zabezpieczeń do oryginalnego stanu po wykonaniu konstruktora lub finalizatora przy użyciu innego wywołania do SetSecurityContext. Podobny wzorzec występuje z uzupełnianiem we/wy. Jeśli host implementuje IHostIoCompletionManager, clR wywołuje SetSecurityContext po wywołaniu hosta ICLRIoCompletionManager::OnComplete.

W punktach asynchronicznych w wątkach roboczych środowisko CLR wywołuje SetSecurityContext pulę wątków lub w obrębie ThreadPool.QueueUserWorkItemelementu IHostThreadPoolManager::QueueUserWorkItem, w zależności od tego, czy host, czy clR implementuje pulę wątków.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: MSCorEE.h

Biblioteki: Uwzględnione jako zasób w MSCorEE.dll

.NET Framework wersje: dostępne od wersji 2.0

Zobacz też