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