Fonction GdiFlush (wingdi.h)

La fonction GdiFlush vide le lot actuel du thread appelant.

Syntaxe

BOOL GdiFlush();

Valeur de retour

Si toutes les fonctions du lot actuel réussissent, la valeur de retour est différente de zéro.

Si toutes les fonctions du lot actuel ne réussissent pas, la valeur de retour est zéro, ce qui indique qu’au moins une fonction a retourné une erreur.

Remarques

Le traitement par lots améliore les performances de dessin en réduisant le temps nécessaire pour appeler les fonctions de dessin GDI qui retournent des valeurs booléennes. Le système accumule les paramètres pour les appels à ces fonctions dans le lot actuel, puis appelle les fonctions lorsque le lot est vidé par l’un des moyens suivants :

  • Appel de la fonction GdiFlush .
  • Atteindre ou dépasser la limite de lots définie par la fonction GdiSetBatchLimit .
  • Remplissage des mémoires tampons de traitement par lots.
  • Appel d’une fonction GDI qui ne retourne pas de valeur booléenne.
La valeur de retour pour GdiFlush s’applique uniquement aux fonctions du lot au moment de l’appel de GdiFlush . Les erreurs qui se produisent lorsque le lot est vidé par tout autre moyen ne sont jamais signalées.

La fonction GdiGetBatchLimit retourne la limite de lots.

Note La limite de lots est conservée séparément pour chaque thread. Pour désactiver complètement le traitement par lots, appelez GdiSetBatchLimit (1) pendant l’initialisation de chaque thread.
 
Une application doit appeler GdiFlush avant qu’un thread ne disparaisse s’il est possible qu’il y ait des appels de fonction en attente dans la file d’attente des lots graphiques. Le système n’exécute pas ces fonctions par lots lorsqu’un thread disparaît.

Une application multithread qui sérialise l’accès aux objets GDI avec un mutex doit garantir le vidage de la file d’attente par lots GDI en appelant GdiFlush , car chaque thread libère la propriété de l’objet GDI. Cela évite les collisions des objets GDI (contextes d’appareil, métafichiers, etc.).

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wingdi.h (inclure Windows.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

GdiGetBatchLimit

GdiSetBatchLimit

Fonctions de peinture et de dessin

Vue d’ensemble de la peinture et du dessin