EnterUmsSchedulingMode, fonction (winbase.h)
Convertit le thread appelant en thread de planification en mode utilisateur (UMS).
Avertissement
Depuis Windows 11, la planification en mode utilisateur n’est pas prise en charge. Tous les appels échouent avec l’erreur ERROR_NOT_SUPPORTED
.
Syntaxe
BOOL EnterUmsSchedulingMode(
[in] PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo
);
Paramètres
[in] SchedulerStartupInfo
Pointeur vers une structure UMS_SCHEDULER_STARTUP_INFO qui spécifie des attributs UMS pour le thread, y compris une liste d’achèvement et une fonction de point d’entrée UmsSchedulerProc .
Valeur retournée
Si la fonction réussit, elle retourne une valeur différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Le planificateur UMS d’une application crée un thread de planificateur UMS pour chaque processeur qui sera utilisé pour exécuter des threads UMS. Le planificateur définit généralement l’affinité du thread du planificateur pour un seul processeur, en réservant efficacement le processeur pour l’utilisation de ce thread de planificateur. Pour plus d’informations sur l’affinité de thread, consultez Plusieurs processeurs.
Lorsqu’un thread de planificateur UMS est créé, le système appelle la fonction de point d’entrée UmsSchedulerProc spécifiée avec l’appel de fonction EnterUmsSchedulingMode . Le planificateur de l’application est chargé de terminer toute initialisation spécifique à l’application du thread du planificateur et de sélectionner un thread de travail UMS à exécuter.
Le planificateur de l’application sélectionne un thread de travail UMS à exécuter en appelant ExecuteUmsThread avec le contexte de thread UMS du thread de travail. Le thread de travail s’exécute jusqu’à ce qu’il génère le contrôle en appelant UmsThreadYield, bloque ou se termine. Le thread du planificateur est ensuite disponible pour exécuter un autre thread de travail.
Un thread de planificateur doit continuer à s’exécuter jusqu’à ce que tous ses threads de travail atteignent un point d’arrêt naturel : c’est-à-dire que tous les threads de travail ont été générés, bloqués ou arrêtés.
Configuration requise
Client minimal pris en charge | Windows 7 (64 bits uniquement) [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winbase.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Ensemble d’API | api-ms-win-core-ums-l1-1-0 (introduit dans Windows 7) |