Метод IHostTaskManager::BeginThreadAffinity
Уведомляет узел о том, что управляемый код вводит период, в течение которого текущая задача не должна быть перемещена в другой поток операционной системы.
Синтаксис
HRESULT BeginThreadAffinity ();
Возвращаемое значение
HRESULT | Описание: |
---|---|
S_OK | BeginThreadAffinity возвращается успешно. |
HOST_E_CLRNOTAVAILABLE | Среда CLR не была загружена в процесс или среда CLR находится в состоянии, в котором она не может выполнить управляемый код или обработать вызов. |
HOST_E_TIMEOUT | Истекло время ожидания звонка. |
HOST_E_NOT_OWNER | Вызывающий объект не является владельцем блокировки. |
HOST_E_ABANDONED | Событие было отменено во время ожидания заблокированного потока или волокна. |
E_FAIL | Произошла неизвестная катастрофическая ошибка. Когда метод возвращает E_FAIL, среда CLR больше не поддерживается в процессе. Последующие вызовы методов размещения возвращают HOST_E_CLRNOTAVAILABLE. |
Комментарии
Среда CLR обычно вызывает IHostTaskManager::BeginThreadAffinity
в контексте вызова .Thread.BeginThreadAffinity Текущая задача не должна быть перенесена до тех пор, пока не будет выполнен соответствующий вызов iHostTaskManager::EndThreadAffinity. Задачи можно выключить, но при обратном включении их необходимо назначить тому же потоку операционной системы, из которого они были выключаются. Вложенные вызовы BeginThreadAffinity
не оказывают никакого влияния, так как вызов ссылается на текущую задачу.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: MSCorEE.h
Библиотека: Включено в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с версии 2.0