Condividi tramite


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

Vedi anche