Partager via


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
ERROR_NOT_ENOUGH_MEMORY
La mémoire disponible est insuffisante pour créer la liste de saisie semi-automatique.
ERROR_NOT_SUPPORTED
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)

Voir aussi

DequeueUmsCompletionListItems

EnterUmsSchedulingMode

GetUmsCompletionListEvent