Поделиться через


Метод IHostSecurityManager::OpenThreadToken

Обновлен: Ноябрь 2007

Открывает маркер доступа на уровне пользователей, связанный с выполняющимся в настоящее время потоком.

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

Параметры

  • dwDesiredAccess
    [in] Маска значений доступа, указывающих запрошенные типы доступа к маркеру потока. Эти значения определяются в функции Win32 OpenThreadToken. Запрошенные типы доступа сравниваются со списком управления доступом на уровне пользователей (DACL) маркера для определения разрешенных и запрещенных типов доступа.

  • bOpenAsSelf
    [in] true для указания необходимости проверки доступа с использованием контекста безопасности процесса для вызывающего потока; false для указания необходимости проверки доступа с использованием контекста безопасности для самого вызывающего потока. Если поток олицетворяет клиента, контекст безопасности может иметь отношение к клиентскому процессу.

  • phThreadToken
    [out] Указатель вновь открытого маркера доступа.

Возвращаемое значение

HRESULT

Описание

S_OK

Метод OpenThreadToken успешно возвратил значение.

HOST_E_CLRNOTAVAILABLE

Среда CLR не загружена в процесс или находится в состоянии, в котором ей не удается выполнить управляемый код или успешно обработать вызов.

HOST_E_TIMEOUT

Время ожидания вызова истекло.

HOST_E_NOT_OWNER

Вызывающий объект не владеет блокировкой.

HOST_E_ABANDONED

Событие, которого ожидал заблокированный поток или нить, было отменено.

E_FAIL

Произошел неизвестный разрушительный сбой. Если метод вернет значение E_FAIL, среду CLR более нельзя будет использовать в данном процессе. Последующие вызовы методов размещения возвращают значение HOST_E_CLRNOTAVAILABLE.

Заметки

IHostSecurityManager::OpenThreadToken ведет себя идентично соответствующей одноименной функции Win32, за исключением того, что функция Win32 позволяет вызывающему передавать дескриптор произвольному потоку, тогда как IHostSecurityManager::OpenThreadToken открывает только маркеры, связанные с вызывающим потоком.

Тип HANDLE не совместим с COM; он требует пользовательского маршалинга, а его размер зависит от операционной системы. Таким образом, данный маркер предназначен только для использования в процессе между средой CLR и основным приложением.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: MSCorEE.idl

Библиотека: включена как ресурс в MSCorEE.dll

Версии платформы .NET Framework: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

См. также

Ссылки

Интерфейс IHostSecurityContext

Интерфейс IHostSecurityManager