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