IHostTask::SetPriority-Methode
Aktualisiert: November 2007
Fordert den Host auf, die Threadprioritätsebene der Aufgabe anzupassen, die durch die aktuelle IHostTask-Instanz dargestellt wird.
HRESULT SetPriority (
[in] int newPriority
);
Parameter
- newPriority
[in] Eine Ganzzahl, die den angeforderten Threadprioritätswert für die Aufgabe darstellt, die von der aktuellen IHostTask-Instanz 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 befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT |
Das Zeitlimit für den Aufruf wurde überschritten. |
HOST_E_NOT_OWNER |
Der Aufrufer ist nicht Besitzer der Sperre. |
HOST_E_ABANDONED |
Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat. |
E_FAIL |
Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
Hinweise
Den Threads wird mithilfe eines Roundrobin-Systems, dem zum Teil die Prioritätsebene des Threads zugrunde liegt, eine Verarbeitungszeit gewährt. Mit SetPriority kann die Common Language Runtime (CLR) die Threadprioritätsebene für die aktuelle Aufgabe festlegen. 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 ruft SetPriority auf, wenn der Wert von Thread.Priority durch den Benutzercode geändert wird. Ein Host kann einen eigenen Algorithmus für die Threadprioritätszuweisung definieren und kann diese Anforderung ignorieren.
Tipp
SetPriority meldet nicht, ob die Threadprioritätsebene geändert wurde. Durch Aufrufen von IHostTask::GetPriority kann der Wert für die Threadprioritätsebene der Aufgabe bestimmt werden.
Werte für die Threadprioritätsebene werden durch die Win32-SetThreadPriority-Funktion definiert. Weitere Informationen zur Threadpriorität finden Sie in der Dokumentation zur Windows-Plattform.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: MSCorEE.idl
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Siehe auch
Referenz
IHostTask::GetPriority-Methode