Compartilhar via


Método IHostTask::SetPriority

Solicita que o host ajuste o nível de prioridade do thread para a tarefa representada pela instância atual do IHostTask .

Sintaxe

HRESULT SetPriority (
    [in] int newPriority
);

Parâmetros

newPriority [in] Um inteiro que representa o valor de prioridade de thread solicitado para a tarefa representada pela instância atual IHostTask .

Valor de retorno

HRESULT Descrição
S_OK SetPriority retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR (Common Language Runtime) não foi carregado em um processo ou o CLR está em um estado no qual não pode executar o código gerenciado ou processar a chamada com êxito.
HOST_E_TIMEOUT A chamada atingiu o tempo limite.
HOST_E_NOT_OWNER O chamador não possui o bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto um thread ou fibra bloqueado estava esperando por ele.
E_FAIL Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é mais utilizável dentro do processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE.

Observações

Os threads recebem tempo de processamento usando um sistema round robin que é parcialmente baseado no nível de prioridade de um thread. SetPriority permite que o CLR defina esse nível de prioridade de thread para a tarefa atual. Há suporte para os valores newPriority a seguir.

  • THREAD_PRIORITY_ABOVE_NORMAL

  • THREAD_PRIORITY_BELOW_NORMAL

  • THREAD_PRIORITY_HIGHEST

  • THREAD_PRIORITY_IDLE

  • THREAD_PRIORITY_LOWEST

  • THREAD_PRIORITY_NORMAL

  • THREAD_PRIORITY_TIME_CRITICAL

O CLR chama SetPriority quando o valor do Thread.Priority é modificado pelo código do usuário. Um host pode definir seus próprios algoritmos para atribuição de prioridade de thread e é livre para ignorar essa solicitação.

Observação

SetPriority não relata se o nível de prioridade do thread foi alterado. Chame IHostTask::GetPriority para determinar o valor do nível de prioridade de thread da tarefa.

Os valores de nível de prioridade do thread são definidos pela função Win32 SetThreadPriority . Para obter mais informações sobre a prioridade do thread, consulte a documentação da Plataforma Windows.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso no MSCorEE.dll

Versões do .NET Framework: Disponível desde 2.0

Consulte também