Метод IHostGCManager::ThreadIsBlockingForSuspension
Уведомляет основное приложение о том, что поток, из которого осуществляется вызов метода, готов заблокировать себя для сборки мусора.
HRESULT ThreadIsBlockingForSuspension ();
Возвращаемое значение
HRESULT |
Описание |
---|---|
S_OK |
Метод ThreadIsBlockingForSuspension успешно возвратил значение. |
HOST_E_CLRNOTAVAILABLE |
Среда CLR не загружена в процесс или находится в состоянии, в котором ей не удается выполнить управляемый код или успешно обработать вызов. |
HOST_E_TIMEOUT |
Время ожидания вызова истекло. |
HOST_E_NOT_OWNER |
Вызывающий объект не владеет блокировкой. |
HOST_E_ABANDONED |
Событие, которого ожидал заблокированный поток или нить, было отменено. |
E_FAIL |
Произошел неизвестный разрушительный сбой. Если метод вернет значение E_FAIL, среду CLR более нельзя будет использовать в данном процессе. Последующие вызовы методов размещения возвращают значение HOST_E_CLRNOTAVAILABLE. |
Заметки
Обычно среда CLR вызывает метод ThreadIsBlockForSuspension в рамках подготовки к сборке мусора для предоставления основному приложению возможности перепланирования потока для неуправляемых задач.
Важно |
---|
После вызова метода ThreadIsBlockingForSuspension основное приложение вызывает задачи повторного планирования.После того, как среда выполнения вызовет SuspensionStarting, основное приложение не должно планировать задачу повторно. |
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: MSCorEE.h
Библиотека: включена как ресурс в MSCorEE.dll
Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0