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.