Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Define o contexto de segurança da thread em execução atual.
Sintaxe
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
Parâmetros
eContextType [dentro] Um dos valores EContextType , indica que tipo de contexto o tempo de execução da linguagem comum (CLR) está a colocar no anfitrião.
ppSecurityContext [fora] Um apontador para o endereço de um novo objeto IHostSecurityContext .
Valor de retorno
| HRESULT | Descrição |
|---|---|
| S_OK |
SetSecurityContext regressou com sucesso. |
| HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado num processo, ou o CLR está num estado em que não consegue executar código gerido nem processar a chamada com sucesso. |
| HOST_E_TIMEOUT | A chamada expirou. |
| HOST_E_NOT_OWNER | O chamador não é dono da fechadura. |
| HOST_E_ABANDONED | Um evento foi cancelado enquanto um fio ou fibra bloqueada estava à espera. |
| E_FAIL | Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR deixa de ser utilizado dentro do processo. As chamadas subsequentes para sistemas de alojamento regressam HOST_E_CLRNOTAVAILABLE. |
Observações
O CLR convoca SetSecurityContext vários cenários. Antes de executar construtores e finalizadores de classes e módulos, o CLR chama SetSecurityContext para proteger o host de falhas de execução. Depois, redefine o contexto de segurança para o seu estado original após a execução do construtor ou finalizador, usando outra chamada para SetSecurityContext. Um padrão semelhante ocorre com a conclusão de I/O. Se o host implementar o IHostIoCompletionManager, o CLR chama SetSecurityContext depois do host chamar ICLRIoCompletionManager::OnComplete.
Em pontos assíncronos em threads de trabalho, o CLR chama SetSecurityContext dentro ThreadPool.QueueUserWorkItem ou dentro do IHostThreadPoolManager::QueueUserWorkItem, dependendo se o host ou o CLR está a implementar o pool de threads.
Requisitos
Plataformas: Consulte Requisitos do sistema.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como recurso em MSCorEE.dll
Versões do .NET Framework: Disponível desde: 2.0