Freigeben über


IHostSecurityManager::SetSecurityContext-Methode

Aktualisiert: November 2007

Legt den Sicherheitskontext des aktuell ausgeführten Threads fest.

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

Parameter

  • eContextType
    [in] Einer der EContextType-Werte, die angeben, welche Art von Kontext die Common Language Runtime (CLR) auf dem Host platziert.

  • ppSecurityContext
    [out] Ein Zeiger auf die Adresse eines neuen IHostSecurityContext-Objekts.

Rückgabewert

HRESULT

Beschreibung

S_OK

SetSecurityContext wurde erfolgreich zurückgegeben.

HOST_E_CLRNOTAVAILABLE

Die CLR wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann.

HOST_E_TIMEOUT

Das Zeitlimit für den Aufruf wurde überschritten.

HOST_E_NOT_OWNER

Der Aufrufer ist nicht Besitzer der Sperre.

HOST_E_ABANDONED

Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat.

E_FAIL

Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück.

Hinweise

Die CLR ruft SetSecurityContext in mehreren Szenarios auf. Vor dem Ausführen von Konstruktoren und Finalizern für Klassen und Module ruft die CLR SetSecurityContext auf, um den Host vor Ausführungsfehlern zu schützen. Nachdem der Konstruktor bzw. Finalizer ausgeführt wurde, versetzt sie den Sicherheitskontext mithilfe eines weiteren Aufrufs von SetSecurityContext in den ursprünglichen Zustand zurück. Ein ähnliches Muster ergibt sich beim E/A-Abschluss. Wenn der Host IHostIoCompletionManager implementiert, ruft die CLR SetSecurityContext auf, nachdem der Host ICLRIoCompletionManager::OnComplete aufgerufen hat.

An asynchronen Punkten in Arbeitsthreads ruft die CLR SetSecurityContext in ThreadPool.QueueUserWorkItem oder in IHostThreadPoolManager::QueueUserWorkItem auf, je nachdem, ob der Host oder die CLR den Threadpool implementiert.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MSCorEE.idl

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

EContextType

ICLRIoCompletionManager

IHostIoCompletionManager

IHostSecurityContext

IHostSecurityManager

IHostThreadPoolManager

System.Threading.ThreadPool