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


Метод IHostSecurityManager::OpenThreadToken

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

Синтаксис

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 не была загружена в процесс или среда 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 и узлом.

Требования

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

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

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

версии платформа .NET Framework: доступно с версии 2.0

См. также раздел