Comparteix a través de


IHostSecurityManager::SetSecurityContext (Método)

Establece el contexto de seguridad del subproceso que se está ejecutando actualmente.

Sintaxis

HRESULT SetSecurityContext (
    [in]  EContextType eContextType,
    [out] IHostSecurityContext** ppSecurityContext
);

Parámetros

eContextType [in] Uno de los valores EContextType , que indica qué tipo de contexto está colocando Common Language Runtime (CLR) en el host.

ppSecurityContext [out] Puntero a la dirección de un nuevo objeto IHostSecurityContext .

Valor devuelto

HRESULT Descripción
S_OK SetSecurityContext se devolvió correctamente.
HOST_E_CLRNOTAVAILABLE CLR no se ha cargado en un proceso o CLR está en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente.
HOST_E_TIMEOUT Se agota el tiempo de espera de la llamada.
HOST_E_NOT_OWNER El autor de la llamada no posee el bloqueo.
HOST_E_ABANDONED Se canceló un evento mientras un subproceso bloqueado o fibra estaba esperando.
E_FAIL Se produjo un error catastrófico desconocido. Cuando un método devuelve E_FAIL, CLR ya no se puede usar dentro del proceso. Las llamadas posteriores a los métodos de hospedaje devuelven HOST_E_CLRNOTAVAILABLE.

Observaciones

ClR llama SetSecurityContext a en varios escenarios. Antes de ejecutar constructores y finalizadores de módulos y clases, CLR llama SetSecurityContext a para proteger al host frente a errores de ejecución. A continuación, restablece el contexto de seguridad a su estado original después de la ejecución del constructor o finalizador, mediante otra llamada a SetSecurityContext. Se produce un patrón similar con la finalización de E/S. Si el host implementa IHostIoCompletionManager, CLR llama SetSecurityContext después de que el host llame a ICLRIoCompletionManager::OnComplete.

En puntos asincrónicos de subprocesos de trabajo, CLR llama dentro SetSecurityContextThreadPool.QueueUserWorkItem o dentro de IHostThreadPoolManager::QueueUserWorkItem, en función de si el host o CLR implementa el grupo de subprocesos.

Requisitos

Plataformas: Consulte Requisitos del sistema.

Encabezado: MSCorEE.h

Biblioteca: Incluido como recurso en MSCorEE.dll

Versiones de .NET Framework: Disponible desde la versión 2.0

Consulte también