Compartir a través de


IHostSecurityManager::SetSecurityContext (Método)

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

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

Parámetros

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

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

Valor devuelto

HRESULT

Descripción

S_OK

SetSecurityContext finalizó correctamente.

HOST_E_CLRNOTAVAILABLE

CLR no se ha cargado en un proceso o está en un estado en el que no puede ejecutar el código administrado o procesar la llamada correctamente.

HOST_E_TIMEOUT

Se agotó el tiempo de espera de la llamada.

HOST_E_NOT_OWNER

El llamador no posee el bloqueo.

HOST_E_ABANDONED

Se canceló un evento mientras una fibra o un subproceso bloqueado estaba esperándole.

E_FAIL

Se ha producido un error catastrófico desconocido. Si un método devuelve E_FAIL, CLR no se puede seguir utilizando en el proceso. Las llamadas subsiguientes a métodos de hospedaje devuelven HOST_E_CLRNOTAVAILABLE.

Comentarios

CLR llama a SetSecurityContext en varios escenarios. Antes de ejecutar los constructores y finalizadores de las clases y los módulos, CLR llama a SetSecurityContext para proteger al host de 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, utilizando otra llamada a SetSecurityContext. Un modelo similar se produce con la finalización de E/S. Si el host implementa IHostIoCompletionManager, CLR llama a SetSecurityContext después de que el host llame ICLRIoCompletionManager::OnComplete.

En los puntos asincrónicos de los subprocesos de trabajo, CLR llama a SetSecurityContext dentro de ThreadPool.QueueUserWorkItem o dentro de IHostThreadPoolManager::QueueUserWorkItem, en función de que sea el host o CLR quien esté implementando el grupo de subprocesos.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: MSCorEE.h

Biblioteca: Se incluye como recurso en MsCorEE.dll

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vea también

Referencia

EContextType (Enumeración)

ICLRIoCompletionManager (Interfaz)

IHostIoCompletionManager (Interfaz)

IHostSecurityContext (Interfaz)

IHostSecurityManager (Interfaz)

IHostThreadPoolManager (Interfaz)

System.Threading.ThreadPool