Partager via


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

Voir aussi