Compartilhar via


Método IHostSecurityManager::OpenThreadToken

Abre o token de acesso discricionário associado ao thread em execução no momento.

Sintaxe

HRESULT OpenThreadToken (  
    [in]  DWORD    dwDesiredAccess,
    [in]  BOOL     bOpenAsSelf,
    [out] HANDLE   *phThreadToken  
);  

Parâmetros

dwDesiredAccess
[in] Uma máscara de valores de acesso que especificam os tipos solicitados de acesso ao token de thread. Esses valores são definidos na função OpenThreadToken do Win32. Os tipos de acesso solicitados são reconciliados com a DACL (lista de controle de acesso discricionário) do token para determinar quais tipos de acesso conceder ou negar.

bOpenAsSelf
[in] true para especificar que a verificação de acesso deve ser feita usando o contexto de segurança do processo para o thread de chamada; false para especificar que a verificação de acesso deve ser executada usando o contexto de segurança para o thread da chamada em si. Se o thread estiver representando um cliente, o contexto de segurança poderá ser o de um processo de cliente.

phThreadToken
[out] Um ponteiro para o token de acesso recém-aberto.

Valor Retornado

HRESULT Descrição
S_OK OpenThreadToken retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR (Common Language Runtime) não foi carregado em um processo ou está em um estado no qual não pode executar o código gerenciado ou processar a chamada com sucesso.
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

IHostSecurityManager::OpenThreadToken comporta-se de forma semelhante à função Win32 correspondente de mesmo nome, exceto que a função Win32 permite que o chamador passe um identificador para um thread arbitrário, enquanto IHostSecurityManager::OpenThreadToken abre apenas o token associado ao thread de chamada.

O tipo HANDLE não é compatível com COM, ou seja, o tamanho é específico do sistema operacional e requer realizar marshaling personalizado. Portanto, esse token é para usar somente dentro do processo, entre o CLR e o host.

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

Confira também