Freigeben über


IHostSecurityManager::OpenThreadToken-Methode

Öffnet das freigegebene Zugriffstoken, das dem aktuell ausgeführten Thread zugeordnet ist.

HRESULT OpenThreadToken (
    [in]  DWORD    dwDesiredAccess, 
    [in]  BOOL     bOpenAsSelf, 
    [out] HANDLE   *phThreadToken
);

Parameter

  • dwDesiredAccess
    [in] Eine Maske von Zugriffswerten, die die angeforderten Zugriffstypen für das Threadtoken angeben. Diese Werte sind in der Win32-OpenThreadToken-Funktion definiert. Die angeforderten Zugriffstypen werden mit der freigegebenen Zugriffssteuerungsliste (Discretionary Access Control List, DACL) des Tokens abgeglichen, um zu bestimmen, welche Zugriffstypen gewährt bzw. verweigert werden.

  • bOpenAsSelf
    [in] true, um anzugeben, dass die Zugriffsüberprüfung mithilfe des Sicherheitskontexts des Prozesses für den aufrufenden Thread durchgeführt werden muss. false, um anzugeben, dass die Zugriffsüberprüfung mithilfe des Sicherheitskontexts für den aufrufenden Thread selbst durchgeführt werden muss. Wenn der Thread die Identität eines Clients annimmt, kann der Sicherheitskontext der eines Clientprozesses sein.

  • phThreadToken
    [out] Ein Zeiger auf das neu geöffnete Zugriffstoken.

Rückgabewert

HRESULT

Beschreibungen

S_OK

OpenThreadToken erfolgreich zurückgegeben.

HOST_E_CLRNOTAVAILABLE

Die Common Language Runtime (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

IHostSecurityManager::OpenThreadToken verhält sich ähnlich wie die entsprechende Win32-Funktion desselben Namens, allerdings mit der Ausnahme, dass die Win32-Funktion es dem Aufrufer ermöglicht, ein Handle an einen beliebigen Thread zu übergeben, während IHostSecurityManager::OpenThreadToken nur das Token öffnet, das dem aufrufenden Thread zugeordnet ist.

Der HANDLE-Typ ist nicht COM-kompatibel, d. h., seine Größe ist spezifisch für das Betriebssystem, und er erfordert benutzerdefiniertes Marshallen. Dieses Token kann daher nur innerhalb des Prozesses zwischen der CLR und dem Host verwendet werden.

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

IHostSecurityContext-Schnittstelle

IHostSecurityManager-Schnittstelle