Compartilhar via


Método IHostSecurityManager::SetSecurityContext

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 [in] Um dos valores EContextType , indicando que tipo de contexto o CLR (Common Language Runtime) está colocando no host.

ppSecurityContext [out] Um ponteiro para o endereço de um novo objeto IHostSecurityContext .

Valor de retorno

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 o código gerenciado ou processar a chamada com êxito.
HOST_E_TIMEOUT A chamada atingiu o tempo limite.
HOST_E_NOT_OWNER O chamador não possui o bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto um thread ou fibra bloqueado estava esperando por ele.
E_FAIL Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é mais utilizável dentro do processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE.

Observações

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 depois que o host 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 host ou o CLR está implementando o pool de threads.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso no MSCorEE.dll

Versões do .NET Framework: Disponível desde 2.0

Consulte também