Método de IHostTaskManager::BeginThreadAffinity
Notifica o host que código gerenciado está entrando em um período no qual a tarefa atual não deve ser movida para outro thread do sistema operacional.
HRESULT BeginThreadAffinity ();
Valor de retorno
HRESULT |
Descrição |
---|---|
S_OK |
BeginThreadAffinityretornado com êxito. |
HOST_E_CLRNOTAVAILABLE |
O common language runtime (CLR) não foi carregado em um processo ou o CLR é em um estado em que ele não é possível executar código gerenciado ou processar a chamada com êxito. |
HOST_E_TIMEOUT |
A chamada foi esgotado. |
HOST_E_NOT_OWNER |
O chamador não possui o bloqueio. |
HOST_E_ABANDONED |
Um evento foi cancelado, enquanto um segmento bloqueado ou fibra estava esperando por ele. |
E_FAIL |
Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é usável dentro do processo. As chamadas subseqüentes para hospedar os métodos retornam HOST_E_CLRNOTAVAILABLE. |
Comentários
O CLR geralmente chama IHostTaskManager::BeginThreadAffinity no contexto de uma chamada para Thread.BeginThreadAffinity. A tarefa atual não deve ser reagendada até que seja feita uma chamada correspondente IHostTaskManager::EndThreadAffinity. Tarefas podem ser alternadas, mas quando eles são comutados novamente, deve ser atribuídos ao mesmo segmento de sistema operacional do qual eles foram alternados. Aninhados chamadas para BeginThreadAffinity não têm nenhum efeito, porque refere-se a chamada para a tarefa atual.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso em mscoree
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0