IHostSecurityManager::SetSecurityContext, méthode
Définit le contexte de sécurité du thread en cours d’exécution.
Syntaxe
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 retourné. |
HOST_E_CLRNOTAVAILABLE | Le CLR n’a pas été chargé dans un processus ou son état ne lui permet pas d’exécuter du code managé ni de traiter l’appel correctement. |
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
Le CLR appelle SetSecurityContext
dans plusieurs scénarios. Avant d’exécuter des constructeurs de classes et de modules et des finaliseurs, le CLR appelle SetSecurityContext
pour protéger l’hôte des défaillances d’exécution. Il réinitialise ensuite le contexte de sécurité à son état d’origine après l’exécution du constructeur ou du finaliseur, à l’aide d’un autre appel à SetSecurityContext
. Un modèle similaire se produit avec l’achèvement des E/S. Si l’hôte implémente IHostIoCompletionManager, le CLR appelle SetSecurityContext
après que l’hôte appelle ICLRIoCompletionManager::OnComplete.
Au niveau des points asynchrones dans les threads de travail, le CLR appelle SetSecurityContext
dans ThreadPool.QueueUserWorkItem ou dans IHostThreadPoolManager::QueueUserWorkItem, selon que l’hôte ou le CLR implémente le pool de threads.
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