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


Метод IHostSecurityManager::SetSecurityContext

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

Устанавливает контекст безопасности выполняющегося в настоящее время потока.

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

Параметры

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

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

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

HRESULT

Описание

S_OK

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

HOST_E_CLRNOTAVAILABLE

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

HOST_E_TIMEOUT

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

HOST_E_NOT_OWNER

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

HOST_E_ABANDONED

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

E_FAIL

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

Заметки

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

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

Требования

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

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

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

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

См. также

Ссылки

Перечисление EContextType

Интерфейс ICLRIoCompletionManager

Интерфейс IHostIoCompletionManager

Интерфейс IHostSecurityContext

Интерфейс IHostSecurityManager

Интерфейс IHostThreadPoolManager

System.Threading.ThreadPool