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] Un puntero a la dirección de un nuevo objeto IHostSecurityContext.
Valor devuelto
HRESULT | Descripción |
---|---|
S_OK | SetSecurityContext se devolvió correctamente. |
HOST_E_CLRNOTAVAILABLE | Si se devuelve este valor, significa que Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente. |
HOST_E_TIMEOUT | Se agotó el tiempo de espera de la llamada. |
HOST_E_NOT_OWNER | El autor de la llamada no es el propietario del bloqueo. |
HOST_E_ABANDONED | Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando. |
E_FAIL | Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE. |
Comentarios
ClR llama SetSecurityContext
a en varios escenarios. Antes de ejecutar constructores de clase y módulo y finalizadores, 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 en subprocesos de trabajo, CLR llama SetSecurityContext
dentro ThreadPool.QueueUserWorkItem o dentro de IHostThreadPoolManager::QueueUserWorkItem, según si el host o CLR está implementando el grupo de subprocesos.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: MSCorEE.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 2.0