Partager via


IHostSecurityManager::OpenThreadToken, méthode

Mise à jour : novembre 2007

Ouvre le jeton d'accès discrétionnaire associé au thread en cours d'exécution.

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

Paramètres

  • dwDesiredAccess
    [in] Masque des valeurs d'accès qui spécifient les types demandés d'accès au jeton de thread. Ces valeurs sont définies dans la fonction OpenThreadToken Win32. Les types d'accès demandés sont rapprochés de la liste de contrôle d'accès discrétionnaire du jeton (DACL) afin de déterminer quels types d'accès accorder ou refuser.

  • bOpenAsSelf
    [in] true pour spécifier que le contrôle d'accès doit être effectué à l'aide du contexte de sécurité du processus pour le thread appelant ; false pour spécifier que le contrôle d'accès doit être effectué à l'aide du contexte de sécurité pour le thread appelant en tant que tel. Si le thread emprunte l'identité d'un client, le contexte de sécurité peut alors être celui d'un processus client.

  • phThreadToken
    [out] Pointeur désignant le jeton d'accès récemment ouvert.

Valeur de retour

HRESULT

Description

S_OK

OpenThreadToken a été retourné correctement.

HOST_E_CLRNOTAVAILABLE

Le Common Language Runtime (CLR) n'a pas été chargé dans un processus ou le CLR présente un état dans lequel il ne peut pas exécuter de code managé ou traiter l'appel avec succès.

HOST_E_TIMEOUT

L'appel a expiré.

HOST_E_NOT_OWNER

L'appelant ne possède pas le verrou.

HOST_E_ABANDONED

Un événement a été annulé alors qu'un thread bloqué ou une fibre l'attendait.

E_FAIL

Une défaillance grave et inconnue s'est produite. Lorsqu'une méthode retourne E_FAIL, le CLR n'est plus utilisable dans le processus. Les appels suivants aux méthodes d'hébergement retournent HOST_E_CLRNOTAVAILABLE.

Notes

IHostSecurityManager::OpenThreadToken se comporte de la même façon que la fonction Win32 correspondante, à la différence près que la fonction Win32 permet à l'appelant de passer un handle à un thread arbitraire, alors qu'IHostSecurityManager::OpenThreadToken ouvre uniquement le jeton qui est associé au thread appelant.

Le type HANDLE n'est pas conforme à COM : sa taille est spécifique au système d'exploitation et il requiert le marshaling personnalisé. Ce jeton doit par conséquent être uniquement utilisé dans le processus, entre le CLR et l'hôte.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : MSCorEE.idl

Bibliothèque : incluse en tant que ressource dans MSCorEE.dll

Versions du .NET Framework : 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

IHostSecurityContext

IHostSecurityManager