Método IHostSecurityManager::OpenThreadToken
Abre o token de acesso discricionário associado ao thread atualmente em execução.
Sintaxe
HRESULT OpenThreadToken (
[in] DWORD dwDesiredAccess,
[in] BOOL bOpenAsSelf,
[out] HANDLE *phThreadToken
);
Parâmetros
dwDesiredAccess
[in] Uma máscara de valores de acesso que especifica os tipos de acesso pedidos ao token de thread. Estes valores são definidos na função Win32 OpenThreadToken
. Os tipos de acesso pedidos são reconciliados com a lista de controlo de acesso discricionário (DACL) do token para determinar que tipos de acesso conceder ou negar.
bOpenAsSelf
[in] true
para especificar que a verificação de acesso deve ser efetuada com o contexto de segurança do processo para o thread de chamada; false
para especificar que a verificação de acesso deve ser efetuada com o contexto de segurança do próprio thread de chamadas. Se o thread estiver a representar um cliente, o contexto de segurança pode ser o de um processo de cliente.
phThreadToken
[fora] Um ponteiro para o token de acesso recentemente aberto.
Devolver Valor
HRESULT | Description |
---|---|
S_OK | OpenThreadToken devolvido com êxito. |
HOST_E_CLRNOTAVAILABLE | O runtime de linguagem comum (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
IHostSecurityManager::OpenThreadToken
comporta-se de forma semelhante à função Win32 correspondente com o mesmo nome, exceto que a função Win32 permite que o autor da chamada transmita uma alça para um thread arbitrário, enquanto IHostSecurityManager::OpenThreadToken
abre apenas o token associado ao thread de chamada.
O HANDLE
tipo não é compatível com COM, ou seja, o respetivo tamanho é específico do sistema operativo e requer uma ordenação personalizada. Assim, este token destina-se a ser utilizado apenas no processo, entre o CLR e o anfitrião.
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