Condividi tramite


Metodo IHostTask::SetPriority

Richiede all'host di modificare il livello di priorità del thread per l'attività rappresentata dall'istanza corrente di IHostTask.

HRESULT SetPriority (
    [in] int newPriority
);

Parametri

  • newPriority
    [in] Intero che rappresenta il livello di priorità del thread richiesto per l'attività rappresentata dall'istanza corrente di IHostTask.

Valore restituito

HRESULT

Oggetto di descrizione

S_OK

SetPriority ha restituito correttamente un valore.

HOST_E_CLRNOTAVAILABLE

Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata.

HOST_E_TIMEOUT

Timeout della chiamata.

HOST_E_NOT_OWNER

Il chiamante non è il proprietario del blocco.

HOST_E_ABANDONED

Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento.

E_FAIL

Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE.

Note

Ai thread viene concesso un tempo di elaborazione utilizzando un sistema round robin parzialmente basato sul livello di priorità di un thread. SetPriority consente a CLR di impostare tale livello per l'attività corrente. Sono supportati i seguenti valori newPriority.

  • THREAD_PRIORITY_ABOVE_NORMAL

  • THREAD_PRIORITY_BELOW_NORMAL

  • THREAD_PRIORITY_HIGHEST

  • THREAD_PRIORITY_IDLE

  • THREAD_PRIORITY_LOWEST

  • THREAD_PRIORITY_NORMAL

  • THREAD_PRIORITY_TIME_CRITICAL

CLR chiama SetPriority quando il valore di Thread.Priority viene modificato da un codice utente. Un host può definire i propri algoritmi per l'assegnazione delle priorità dei thread e può ignorare la richiesta.

NotaNota

SetPriority non indica se il livello di priorità del thread è stato modificato.Per determinare il valore del livello di priorità del thread dell'attività, chiamare IHostTask::GetPriority.

I valori del livello di priorità del thread sono definiti dalla funzione Win32 SetThreadPriority. Per ulteriori informazioni sulla priorità dei thread, vedere la documentazione relativa alla piattaforma Windows.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Interfaccia ICLRTask

Interfaccia ICLRTaskManager

Interfaccia IHostTask

Metodo IHostTask::GetPriority

Interfaccia IHostTaskManager

Thread