Metodo IHostSecurityManager::OpenThreadToken
Apre il token di accesso discrezionale associato al thread attualmente in esecuzione.
Sintassi
HRESULT OpenThreadToken (
[in] DWORD dwDesiredAccess,
[in] BOOL bOpenAsSelf,
[out] HANDLE *phThreadToken
);
Parametri
dwDesiredAccess
[in] Maschera di valori di accesso che specificano i tipi richiesti di accesso al token del thread. Questi valori sono definiti nella funzione Win32 OpenThreadToken
. I tipi di accesso richiesti vengono riconciliati con l'elenco di controllo di accesso discrezionale (DACL) del token per determinare i tipi di accesso da concedere o negare.
bOpenAsSelf
[in] true
per specificare che il controllo di accesso deve essere effettuato utilizzando il contesto di sicurezza del processo per il thread chiamante; false
per specificare che il controllo di accesso deve essere eseguito utilizzando il contesto di sicurezza per il thread chiamante stesso. Se il thread rappresenta un client, il contesto di sicurezza può essere quello di un processo client.
phThreadToken
[out] Puntatore al token di accesso appena aperto.
Valore restituito
HRESULT | Descrizione |
---|---|
S_OK | OpenThreadToken restituito correttamente. |
HOST_E_CLRNOTAVAILABLE | Common Language Runtime (CLR) non è stato caricato in un processo oppure CLR si trova in uno stato in cui non è possibile eseguire codice gestito o elaborare correttamente la chiamata. |
HOST_E_TIMEOUT | Timeout della chiamata. |
HOST_E_NOT_OWNER | Il chiamante non possiede il blocco. |
HOST_E_ABANDONED | Un evento è stato annullato durante l'attesa di un thread o di una fibra bloccata. |
E_FAIL | Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE. |
Commenti
IHostSecurityManager::OpenThreadToken
si comporta in modo analogo alla funzione Win32 corrispondente dello stesso nome, ad eccezione del fatto che la funzione Win32 consente al chiamante di passare un handle a un thread arbitrario, mentre IHostSecurityManager::OpenThreadToken
apre solo il token associato al thread chiamante.
Il HANDLE
tipo non è conforme a COM, ovvero le relative dimensioni sono specifiche del sistema operativo e richiede il marshalling personalizzato. Pertanto, questo token viene usato solo all'interno del processo, tra CLR e l'host.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 2.0