Partager via


IHostSecurityManager::OpenThreadToken, méthode

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

Syntaxe

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 d’accès demandés au jeton de thread. Ces valeurs sont définies dans la fonction Win32 OpenThreadToken. Les types d’accès demandés sont rapprochés de la liste de contrôle d’accès discrétionnaire du jeton (DACL) pour déterminer les types d’accès à accorder ou refuser.

bOpenAsSelf
[in] true pour spécifier que la vérification d’accès doit être effectuée à l’aide du contexte de sécurité du processus pour le thread appelant ; false pour spécifier que la vérification d’accès doit être effectuée à l’aide du contexte de sécurité pour le thread appelant lui-même. Si le thread emprunte l’identité d’un client, le contexte de sécurité peut être celui d’un processus client.

phThreadToken
[out] Pointeur vers le jeton d’accès nouvellement ouvert.

Valeur de retour

HRESULT Description
S_OK OpenThreadToken retourné.
HOST_E_CLRNOTAVAILABLE Le Common Language Runtime (CLR) n’a pas été chargé dans un processus ou est dans un état dans lequel il ne peut ni exécuter le code managé ni traiter l’appel avec succès.
HOST_E_TIMEOUT L’appel a expiré.
HOST_E_NOT_OWNER L’appelant n’est pas propriétaire du verrou.
HOST_E_ABANDONED Un événement a été annulé alors qu’un thread ou une fibre bloqué l’attendait.
E_FAIL Une défaillance catastrophique inconnue s’est produite. Quand une méthode retourne E_FAIL, le CLR n’est plus utilisable au sein du processus. Les appels suivants aux méthodes d’hébergement renvoient HOST_E_CLRNOTAVAILABLE.

Notes

IHostSecurityManager::OpenThreadToken se comporte de la même façon que la fonction Win32 correspondante du même nom, sauf que la fonction Win32 permet à l’appelant de passer un descripteur à un thread arbitraire, alors que IHostSecurityManager::OpenThreadToken ouvre uniquement le jeton associé au thread appelant.

Le type HANDLE n’est pas compatible COM, c’est-à-dire que sa taille est spécifique au système d’exploitation et nécessite un marshaling personnalisé. Par conséquent, ce jeton est utilisé uniquement dans le processus, entre le CLR et l’hôte.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : MSCorEE.h

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

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi