Compartilhar via


Método IHostTaskManager::BeginThreadAffinity

Notifica o host de que o código gerenciado está inserindo um período no qual a tarefa atual não deve ser movida para outro thread do sistema operacional.

Sintaxe

HRESULT BeginThreadAffinity ();  

Valor Retornado

HRESULT Descrição
S_OK BeginThreadAffinity 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 IHostTaskManager::BeginThreadAffinity no contexto de uma chamada para Thread.BeginThreadAffinity. A tarefa atual não deve ser reagendada até que uma chamada correspondente seja feita para IHostTaskManager::EndThreadAffinity. As tarefas podem ser alternadas, mas quando são alternadas de volta, elas devem ser atribuídas ao mesmo thread do sistema operacional do qual foram alternadas. Chamadas aninhadas para BeginThreadAffinity não têm efeito, porque a chamada se refere à tarefa atual.

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

Confira também