Бөлісу құралы:


Метод IHostSecurityManager::SetSecurityContext

Задает контекст безопасности текущего выполняемого потока.

Синтаксис

HRESULT SetSecurityContext (
    [in]  EContextType eContextType,
    [out] IHostSecurityContext** ppSecurityContext
);

Параметры

eContextType [in] Одно из значений EContextType , указывающее, какой тип контекста размещает среда CLR на узле.

ppSecurityContext [out] Указатель на адрес нового объекта IHostSecurityContext .

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

HRESULT Описание
S_OK SetSecurityContext возвращается успешно.
HOST_E_CLRNOTAVAILABLE СРЕДА CLR не была загружена в процесс или среда CLR находится в состоянии, в котором он не может запустить управляемый код или успешно обработать вызов.
HOST_E_TIMEOUT Время ожидания вызова.
HOST_E_NOT_OWNER Вызывающий объект не владеет блокировкой.
HOST_E_ABANDONED Событие было отменено во время ожидания заблокированного потока или волокна.
E_FAIL Произошла неизвестная катастрофическая ошибка. Когда метод возвращает E_FAIL, среда CLR больше не используется в процессе. Последующие вызовы методов размещения возвращают HOST_E_CLRNOTAVAILABLE.

Замечания

Вызовы СРЕДЫ CLR SetSecurityContext в нескольких сценариях. Перед выполнением конструкторов классов и модулей и методов завершения среда CLR вызывает SetSecurityContext защиту узла от сбоев выполнения. Затем он сбрасывает контекст безопасности в исходное состояние после выполнения конструктора или средства завершения с помощью другого вызова SetSecurityContext. Аналогичный шаблон возникает с завершением ввода-вывода. Если узел реализует IHostIoCompletionManager, среда CLR вызывается SetSecurityContext после вызова ICLRIoCompletionManager::OnComplete.

В асинхронных точках рабочих потоков среда CLR вызывается SetSecurityContext внутри или внутри IHostThreadPoolManager::QueueUserWorkItem в зависимости от того, реализует ли узел или clR пул потоков.ThreadPool.QueueUserWorkItem

Требования

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

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

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

Версии .NET Framework: Доступно с версии 2.0

См. также