Метод 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