Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Define o contexto de segurança do thread em execução no momento.
Sintaxe
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
Parâmetros
eContextType
[entrada] Um dos valores EContextType, indicando qual tipo de contexto o CLR (Common Language Runtime) está colocando no host.
ppSecurityContext
[saída] Um ponteiro para o endereço de um novo objeto IHostSecurityContext.
Valor Retornado
| HRESULT | Descrição |
|---|---|
| S_OK |
SetSecurityContext retornado com êxito. |
| HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado em um processo, ou o CLR está em um estado no qual não pode executar código gerenciado ou processar a chamada com êxito. |
| HOST_E_TIMEOUT | Uma chamada atingiu o tempo limite. |
| HOST_E_NOT_OWNER | O chamador não possui o bloqueio. |
| HOST_E_ABANDONED | Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele. |
| E_FAIL | Uma falha catastrófica desconhecida ocorreu. Quando um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE. |
Comentários
O CLR chama SetSecurityContext em vários cenários. Antes de executar construtores e finalizadores de classe e módulo, o CLR chama SetSecurityContext para proteger o host contra falhas de execução. Em seguida, ele redefine o contexto de segurança para 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 E/S. Se o host implementar IHostIoCompletionManager, o CLR chamará SetSecurityContext após o host chamar ICLRIoCompletionManager::OnComplete.
Em pontos assíncronos em threads de trabalho, o CLR chama SetSecurityContext de dentro do ThreadPool.QueueUserWorkItem ou de dentro de IHostThreadPoolManager::QueueUserWorkItem, dependendo se o host ou o CLR está implementando o pool de threads.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: MSCorEE.h
Biblioteca: incluída como um recurso no MSCorEE.dll
Versões do .NET Framework: disponíveis desde 2.0