Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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