Teilen über


IHostTask::SetPriority-Methode

Fordert an, dass der Host die Threadprioritätsebene für die Aufgabe anpasst, die durch die aktuelle IHostTask-Instanz dargestellt wird.

Syntax

HRESULT SetPriority (  
    [in] int newPriority  
);  

Parameter

newPriority
[in] Eine ganze Zahl, die den angeforderten Threadprioritätswert für die aufgabe darstellt, die durch den aktuellen IHostTask instance dargestellt wird.

Rückgabewert

HRESULT BESCHREIBUNG
S_OK SetPriority wurde erfolgreich zurückgegeben.
HOST_E_CLRNOTAVAILABLE Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen, oder die CLR befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann.
HOST_E_TIMEOUT Timeout des Aufrufs.
HOST_E_NOT_OWNER Der Aufrufer besitzt die Sperre nicht.
HOST_E_ABANDONED Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat.
E_FAIL Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück.

Bemerkungen

Threads werden Verarbeitungszeit mit einem Roundrobinsystem gewährt, das teilweise auf der Prioritätsebene eines Threads basiert. SetPriority ermöglicht der CLR, diese Threadprioritätsebene für die aktuelle Aufgabe festzulegen. Die folgenden newPriority-Werte werden unterstützt:

  • THREAD_PRIORITY_ABOVE_NORMAL

  • THREAD_PRIORITY_BELOW_NORMAL

  • THREAD_PRIORITY_HIGHEST

  • THREAD_PRIORITY_IDLE

  • THREAD_PRIORITY_LOWEST

  • THREAD_PRIORITY_NORMAL

  • THREAD_PRIORITY_TIME_CRITICAL

Die CLR wird aufgerufen SetPriority , wenn der Wert von Thread.Priority durch Benutzercode geändert wird. Ein Host kann eigene Algorithmen für die Threadprioritätszuweisung definieren und kann diese Anforderung ignorieren.

Hinweis

SetPriority gibt nicht an, ob die Threadprioritätsebene geändert wurde. Rufen Sie IHostTask::GetPriority auf, um den Wert der Threadprioritätsebene der Aufgabe zu bestimmen.

Die Werte der Threadprioritätsebene werden von der Win32-Funktion SetThreadPriority definiert. Weitere Informationen zur Threadpriorität finden Sie in der Dokumentation zur Windows-Plattform.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MSCorEE.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch