Fonction CreateUmsCompletionList (winbase.h)
Crée une liste de saisie semi-automatique de planification en mode utilisateur (UMS).
Avertissement
À partir de 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 CreateUmsCompletionList(
[out] PUMS_COMPLETION_LIST *UmsCompletionList
);
Paramètres
[out] UmsCompletionList
Variable PUMS_COMPLETION_LIST . Lors de la sortie, ce paramètre reçoit un pointeur vers une liste de saisie semi-automatique UMS vide.
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. Les valeurs d’erreur possibles sont les suivantes.
Code de retour | Description |
---|---|
|
La mémoire disponible est insuffisante pour créer la liste de saisie semi-automatique. |
|
L’UMS n’est pas prise en charge. |
Remarques
Une liste d’achèvement est associée à un thread de planificateur UMS lorsque la fonction EnterUmsSchedulingMode est appelée pour créer le thread du planificateur. Le système met en file d’attente les threads de travail UMS nouvellement créés vers la liste d’achèvement. Il met également en file d’attente les threads de travail UMS précédemment bloqués vers la liste d’achèvement lorsque les threads ne sont plus bloqués.
Quand la fonction de point d’entrée UmsSchedulerProc d’une application est appelée, le planificateur de l’application doit récupérer des éléments de la liste d’achèvement en appelant DequeueUmsCompletionListItems.
Chaque liste de saisie semi-automatique est associée à un événement de liste d’achèvement qui est signalé chaque fois que le système met en file d’attente des éléments vers une liste vide. Utilisez GetUmsCompletionListEvent pour obtenir un handle de l’événement pour une liste d’achèvement spécifiée.
Lorsqu’une liste d’achèvement n’est plus nécessaire, utilisez DeleteUmsCompletionList pour libérer la liste. La liste doit être vide avant de pouvoir être publiée.
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) |