IHostGCManager::ThreadIsBlockingForSuspension Method
Notifies the host that the thread from which the method call was made is about to block for a garbage collection.
Syntax
HRESULT ThreadIsBlockingForSuspension ();
Return Value
HRESULT | Description |
---|---|
S_OK | ThreadIsBlockingForSuspension returned successfully. |
HOST_E_CLRNOTAVAILABLE | The common language runtime (CLR) has not been loaded into a process, or the CLR is in a state in which it cannot run managed code or process the call successfully. |
HOST_E_TIMEOUT | The call timed out. |
HOST_E_NOT_OWNER | The caller does not own the lock. |
HOST_E_ABANDONED | An event was canceled while a blocked thread or fiber was waiting on it. |
E_FAIL | An unknown catastrophic failure occurred. When a method returns E_FAIL, the CLR is no longer usable within the process. Subsequent calls to hosting methods return HOST_E_CLRNOTAVAILABLE. |
Remarks
The CLR typically calls the ThreadIsBlockForSuspension
method in preparation for a garbage collection, to give the host an opportunity to reschedule the thread for unmanaged tasks.
Important
The host can reschedule tasks only after a call to ThreadIsBlockingForSuspension
. After the runtime calls SuspensionStarting, the host must not reschedule a task.
Requirements
Platforms: See System Requirements.
Header: MSCorEE.h
Library: Included as a resource in MSCorEE.dll
.NET Framework Versions: Available since 2.0
See also
Phản hồi
https://aka.ms/ContentUserFeedback.
Sắp ra mắt: Trong năm 2024, chúng tôi sẽ dần gỡ bỏ Sự cố với GitHub dưới dạng cơ chế phản hồi cho nội dung và thay thế bằng hệ thống phản hồi mới. Để biết thêm thông tin, hãy xem:Gửi và xem ý kiến phản hồi dành cho