IHostSecurityManager::SetSecurityContext-Methode
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 |
Beschreibungen |
---|---|
S_OK |
SetSecurityContext 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 |
Der Aufruf hat das Zeitlimit ü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.h
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Siehe auch
Referenz
ICLRIoCompletionManager-Schnittstelle
IHostIoCompletionManager-Schnittstelle
IHostSecurityContext-Schnittstelle
IHostSecurityManager-Schnittstelle