EnterUmsSchedulingMode-Funktion (winbase.h)
Konvertiert den aufrufenden Thread in einen Planerthread (User Mode Scheduling, UMS).
Warnung
Ab Windows 11 wird die Planung im Benutzermodus nicht unterstützt. Alle Aufrufe schlagen mit dem Fehler ERROR_NOT_SUPPORTED
fehl.
Syntax
BOOL EnterUmsSchedulingMode(
[in] PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo
);
Parameter
[in] SchedulerStartupInfo
Ein Zeiger auf eine UMS_SCHEDULER_STARTUP_INFO-Struktur , die UMS-Attribute für den Thread angibt, einschließlich einer Vervollständigungsliste und einer UmsSchedulerProc-Einstiegspunktfunktion .
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt sie einen Wert ohne Zero zurück.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Der UMS-Planer einer Anwendung erstellt einen UMS-Planerthread für jeden Prozessor, der zum Ausführen von UMS-Threads verwendet wird. Der Scheduler legt in der Regel die Affinität des Planerthreads für einen einzelnen Prozessor fest und reserviert den Prozessor effektiv für die Verwendung dieses Planerthreads. Weitere Informationen zur Threadaffinität finden Sie unter Mehrere Prozessoren.
Wenn ein UMS-Planerthread erstellt wird, ruft das System die UmsSchedulerProc-Einstiegspunktfunktion auf, die mit dem Funktionsaufruf EnterUmsSchedulingMode angegeben wurde. Der Planer der Anwendung ist für den Abschluss der anwendungsspezifischen Initialisierung des Planerthreads und die Auswahl eines auszuführenden UMS-Workerthreads verantwortlich.
Der Planer der Anwendung wählt einen auszuführenden UMS-Workerthread aus, indem ExecuteUmsThread mit dem UMS-Threadkontext des Workerthreads aufgerufen wird. Der Workerthread wird so lange ausgeführt, bis er die Steuerung durch Aufrufen von UmsThreadYield, Blöcken oder Beenden ergibt. Der Planerthread steht dann zum Ausführen eines anderen Workerthreads zur Verfügung.
Ein Planerthread sollte weiterhin ausgeführt werden, bis alle Workerthreads einen natürlichen Endpunkt erreichen: Das heißt, alle Workerthreads wurden zurückgegeben, blockiert oder beendet.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 (nur 64-Bit) [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
APIs | api-ms-win-core-ums-l1-1-0 (in Windows 7 eingeführt) |