Método IHostSecurityManager::SetSecurityContext
Define o contexto de segurança do thread atualmente em execução.
Sintaxe
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
Parâmetros
eContextType
[in] Um dos valores EContextType , que indica o tipo de contexto que o runtime de idioma comum (CLR) está a colocar no anfitrião.
ppSecurityContext
[fora] Um ponteiro para o endereço de um novo objeto IHostSecurityContext .
Devolver Valor
HRESULT | Description |
---|---|
S_OK | SetSecurityContext devolvido com êxito. |
HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado para um processo ou o CLR está num estado em que não pode executar código gerido ou processar a chamada com êxito. |
HOST_E_TIMEOUT | A chamada excedeu o limite de tempo. |
HOST_E_NOT_OWNER | O autor da chamada não é o proprietário do bloqueio. |
HOST_E_ABANDONED | Um evento foi cancelado enquanto um thread ou fibra bloqueado estava à espera do mesmo. |
E_FAIL | Ocorreu uma falha catastrófica desconhecida. Quando um método devolve E_FAIL, o CLR já não é utilizável no processo. As chamadas subsequentes para métodos de alojamento devolvem HOST_E_CLRNOTAVAILABLE. |
Observações
O CLR chama SetSecurityContext
em vários cenários. Antes de executar construtores e finalizadores de classes e módulos, o CLR chama SetSecurityContext
para proteger o anfitrião contra falhas de execução. Em seguida, repõe o contexto de segurança para o estado original após a execução do construtor ou finalizador, utilizando outra chamada para SetSecurityContext
. Ocorre um padrão semelhante com a conclusão de E/S. Se o anfitrião implementar IHostIoCompletionManager, o CLR chama SetSecurityContext
depois de o anfitrião chamar ICLRIoCompletionManager::OnComplete.
Em pontos assíncronos em threads de trabalho, o CLR chama SetSecurityContext
dentro ThreadPool.QueueUserWorkItem ou dentro de IHostThreadPoolManager::QueueUserWorkItem, dependendo se o anfitrião ou o CLR está a implementar o conjunto de threads.
Requisitos
Plataformas: Veja Requisitos do Sistema.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso no MSCorEE.dll
.NET Framework Versões: Disponível desde 2.0