IHostSecurityManager::OpenThreadToken-Methode
Öffnet das mit dem aktuell ausgeführten Thread verknüpfte bedingte Zugriffstoken.
Syntax
HRESULT OpenThreadToken (
[in] DWORD dwDesiredAccess,
[in] BOOL bOpenAsSelf,
[out] HANDLE *phThreadToken
);
Parameter
dwDesiredAccess
[in] Eine Maske mit Zugriffswerten, die die angeforderten Zugriffstypen für das Threadtoken angeben. Diese Werte werden in der Win32-Funktion OpenThreadToken
definiert. Die angeforderten Zugriffstypen werden mit der freigegebenen Zugriffssteuerungsliste (Discretionary Access Control List, DACL) des Tokens abgeglichen, um zu ermitteln, welche Zugriffstypen gewährt oder verweigert werden sollen.
bOpenAsSelf
[in] true
gibt an, dass die Zugriffsüberprüfung unter Verwendung des Sicherheitskontexts des Prozesses für den aufrufenden Thread durchgeführt werden soll. false
gibt an, dass die Zugriffsüberprüfung unter Verwendung des Sicherheitskontexts für den aufrufenden Thread selbst durchgeführt werden soll. Wenn der Thread die Identität eines Clients angenommen hat, kann es sich bei dem Sicherheitskontext um den Sicherheitskontext eines Clientprozesses handeln.
phThreadToken
[out] Ein Zeiger auf das neu geöffnete Zugriffstoken.
Rückgabewert
HRESULT | BESCHREIBUNG |
---|---|
S_OK | OpenThreadToken wurde erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE | Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen, oder die CLR befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT | Timeout des Aufrufs. |
HOST_E_NOT_OWNER | Der Aufrufer besitzt die Sperre nicht. |
HOST_E_ABANDONED | Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat. |
E_FAIL | Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
Bemerkungen
IHostSecurityManager::OpenThreadToken
verhält sich ähnlich wie die gleichnamige Win32-Funktion, mit dem Unterschied, dass die Win32-Funktion dem Aufrufer erlaubt, ein Handle an einen beliebigen Thread zu übergeben. IHostSecurityManager::OpenThreadToken
öffnet dagegen nur das Token, das dem aktuell aufrufenden Thread zugeordnet ist.
Der HANDLE
-Typ ist nicht COM-konform. Das bedeutet, seine Größe ist betriebssystemspezifisch und erfordert benutzerdefiniertes Marshalling. Dieses Token ist daher nur für die Verwendung innerhalb des Prozesses (zwischen der CLR und dem Host) vorgesehen.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: MSCorEE.h
Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.
.NET Framework-Versionen: Seit 2.0 verfügbar.