Funzione GdiFlush (wingdi.h)

La funzione GdiFlush scarica il batch corrente del thread chiamante.

Sintassi

BOOL GdiFlush();

Valore restituito

Se tutte le funzioni nel batch corrente hanno esito positivo, il valore restituito è diverso da zero.

Se non tutte le funzioni nel batch corrente hanno esito positivo, il valore restituito è zero, a indicare che almeno una funzione ha restituito un errore.

Commenti

L'invio in batch migliora le prestazioni di disegno riducendo al minimo la quantità di tempo necessaria per chiamare le funzioni di disegno GDI che restituiscono valori booleani. Il sistema accumula i parametri per le chiamate a queste funzioni nel batch corrente e quindi chiama le funzioni quando il batch viene scaricato da uno dei mezzi seguenti:

  • Chiamata della funzione GdiFlush .
  • Raggiungimento o superamento del limite di batch impostato dalla funzione GdiSetBatchLimit .
  • Riempimento dei buffer di invio in batch.
  • Chiamata di qualsiasi funzione GDI che non restituisce un valore booleano.
Il valore restituito per GdiFlush si applica solo alle funzioni nel batch al momento della chiamata a GdiFlush . Gli errori che si verificano quando il batch viene scaricato da qualsiasi altro mezzo non vengono mai segnalati.

La funzione GdiGetBatchLimit restituisce il limite batch.

Nota Il limite batch viene mantenuto separatamente per ogni thread. Per disabilitare completamente l'invio in batch, chiamare GdiSetBatchLimit (1) durante l'inizializzazione di ogni thread.
 
Un'applicazione deve chiamare GdiFlush prima che un thread venga eliminato se è possibile che nella coda batch grafica siano presenti chiamate di funzione in sospeso. Il sistema non esegue tali funzioni in batch quando un thread viene eliminato.

Un'applicazione multithreading che serializza l'accesso agli oggetti GDI con un mutex deve garantire lo svuotamento della coda batch GDI chiamando GdiFlush come ogni thread rilascia la proprietà dell'oggetto GDI. In questo modo si evitano collisioni degli oggetti GDI (contesti di dispositivo, metafile e così via).

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wingdi.h (include Windows.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

GdiGetBatchLimit

GdiSetBatchLimit

Funzioni di disegno e disegno

Panoramica di disegno e disegno