Método IHostGCManager::ThreadIsBlockingForSuspension
Notifica o host de que o thread do qual a chamada de método foi feita está prestes a ser bloqueado para uma coleta de lixo.
Sintaxe
HRESULT ThreadIsBlockingForSuspension ();
Valor Retornado
HRESULT | Descrição |
---|---|
S_OK | ThreadIsBlockingForSuspension retornado com êxito. |
HOST_E_CLRNOTAVAILABLE | O CLR (Common Language Runtime) não foi carregado em um processo ou está em um estado no qual não pode executar o código gerenciado ou processar a chamada com sucesso. |
HOST_E_TIMEOUT | Uma chamada atingiu o tempo limite. |
HOST_E_NOT_OWNER | O chamador não possui o bloqueio. |
HOST_E_ABANDONED | Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele. |
E_FAIL | Uma falha catastrófica desconhecida ocorreu. Quando um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE. |
Comentários
O CLR normalmente chama o método ThreadIsBlockForSuspension
em preparação para uma coleta de lixo, para dar ao host a oportunidade de reagendar o thread para tarefas não gerenciadas.
Importante
O host só pode reagendar tarefas após uma chamada para ThreadIsBlockingForSuspension
. Depois que o runtime chama SuspensionStarting, o host não deve reagendar uma tarefa.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: MSCorEE.h
Biblioteca: incluída como um recurso no MSCorEE.dll
Versões do .NET Framework: disponíveis desde 2.0