IHostSecurityManager::SetSecurityContext, méthode
Définit le contexte de sécurité du thread en cours d'exécution.
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
Paramètres
eContextType
[in] Une des valeurs EContextType indiquant le type de contexte que le Common Language Runtime (CLR) place sur l'hôte.ppSecurityContext
[out] Pointeur vers l'adresse d'un nouvel objet IHostSecurityContext.
Valeur de retour
HRESULT |
Description |
---|---|
S_OK |
SetSecurityContext a été retourné avec succès. |
HOST_E_CLRNOTAVAILABLE |
Le 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
Le CLR appelle SetSecurityContext dans plusieurs scénarios. Avant d'exécuter les constructeurs et les finaliseurs de classes et de modules, le CLR appelle SetSecurityContext pour protéger l'hôte contre les erreurs d'exécution. Il réinitialise ensuite le contexte de sécurité à son état d'origine après avoir exécuté le constructeur ou le finaliseur, à l'aide d'un autre appel à SetSecurityContext. Un motif semblable se produit avec la terminaison d'E/S. Si l'hôte implémente IHostIoCompletionManager, le CLR appelle alors SetSecurityContext une fois que l'hôte a appelé ICLRIoCompletionManager::OnComplete.
Aux points asynchrones dans les threads de travail, le CLR appelle SetSecurityContext dans ThreadPool.QueueUserWorkItem ou dans IHostThreadPoolManager::QueueUserWorkItem, selon que le pool de threads est implémenté par l'hôte ou par le CLR.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : MSCorEE.h
Bibliothèque : incluse en tant que ressource dans MSCorEE.dll
Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Voir aussi
Référence
ICLRIoCompletionManager, interface
IHostIoCompletionManager, interface
IHostSecurityContext, interface
IHostSecurityManager, interface