Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает контекст безопасности текущего выполняемого потока.
Синтаксис
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