Condividi tramite


Metodo IHostSecurityManager::OpenThreadToken

Apre il token di accesso discrezionale associato al thread attualmente in esecuzione.

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

Parametri

  • dwDesiredAccess
    [in] Maschera di valori di accesso che specificano i tipi di accesso richiesti al token 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 quali tipi di accesso concedere o negare.

  • bOpenAsSelf
    [in] true per specificare che il controllo di accesso deve essere effettuato utilizzando il contesto di sicurezza del processo relativo al thread chiamante; false per specificare che il controllo di accesso deve essere effettuato utilizzando il contesto di sicurezza del thread chiamante. Se il thread rappresenta un client, il contesto di sicurezza può essere di un processo client.

  • phThreadToken
    [out] Puntatore al nuovo token di accesso aperto.

Valore restituito

HRESULT

Oggetto di descrizione

S_OK

OpenThreadToken ha restituito correttamente un valore.

HOST_E_CLRNOTAVAILABLE

Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata.

HOST_E_TIMEOUT

Timeout della chiamata.

HOST_E_NOT_OWNER

Il chiamante non è il proprietario del blocco.

HOST_E_ABANDONED

Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento.

E_FAIL

Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le successive chiamate ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE.

Note

IHostSecurityManager::OpenThreadToken si comporta in modo simile alla funzione Win32 con lo stesso nome, con la differenza 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 tipo HANDLE non è conforme a COM, ossia la relativa dimensione è specifica del sistema operativo e richiede marshalling personalizzato. Di conseguenza, il token viene utilizzato solo all'interno del processo, tra CLR e l’host.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Interfaccia IHostSecurityContext

Interfaccia IHostSecurityManager