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é avec succès.
HOST_E_CLRNOTAVAILABLE Le CLR n’a pas été chargé dans un processus, ou le CLR est dans un état dans lequel il ne peut pas exécuter le 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é pendant qu’un thread bloqué ou fibre attendait dessus.
E_FAIL Une défaillance catastrophique 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.

Remarques

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 contre les échecs 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 après que l’hôte appelle SetSecurityContextICLRIoCompletionManager ::OnComplete.

À des points asynchrones dans les threads de travail, le CLR appelle SetSecurityContext au sein ThreadPool.QueueUserWorkItem ou dans IHostThreadPoolManager ::QueueUserWorkItem, selon que l’hôte ou le CLR implémente le pool de threads.

Exigences

Plateformes : Consultez Configuration requise.

En-tête: MSCorEE.h

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

Versions du .NET Framework : Disponible depuis la version 2.0

Voir également