Функция GdiFlush очищает от данных текущий пакет вызывающего потока.
BOOL GdiFlush(VOID); |
У этой функции нет параметров.
Если все функции в текущем пакете завершаются успешно, возвращаемое значение - не нуль.
Если не все функции в текущем пакете завершаются успешно, возвращаемое значение - нуль, тем самым указывая, что по крайней мере одна функция возвратила значение ошибки.
Пакетирование увеличивает быстродействие рисования, минимизируя объем времени, необходимый для вызова функций рисования GDI, которые возвращают Булевы значения. Система суммирует параметры для вызовов этих функций в текущем пакете, а затем вызывает функции, когда пакет очищается от данных каким-либо из нижеследующих способов:
Возвращаемое значение из GdiFlush применяется только для функций в пакете в то время, когда GdiFlush вызывается. Об ошибках, которые происходят, когда пакет очищается от данных любым другим способом, никогда не сообщается.
Функция GdiGetBatchLimit возвращает значение предела пакета.
Обратите внимание! на то, что предел пакета поддерживается для каждого потока отдельно. Для того, чтобы полностью запретить пакетирование, вызывайте функцию GdiSetBatchLimit (1) в ходе инициализация каждого потока. |
Приложение должно вызвать функцию GdiFlush до того как, поток прекратит работу, если есть возможность того, так как имеются ожидающие завершения вызовы функций в графической очереди пакетов. Система не исполняет код таких сформированных в пакет функций, когда заканчивается поток.
Многопоточное приложение, которое преобразует в последовательную форму доступ к объектам GDI со взаимным исключением, должно гарантировать очистку от данных очереди пакетов GDI при помощи вызова функции GdiFlush, поскольку каждый поток освобождает объекты GDI от монопольного использования. Это предотвращает конфликты объектов интерфейса графического устройства (GDI) (контексты устройства, метафайлы и так далее).
Обзор Окрашивание и рисование, Функции окрашивания и рисования, GdiGetBatchLimit, GdiSetBatchLimit
Размещение и совместимость GdiFlush |
||
К | Windows Vista | Да |
л | Windows XP | Да |
и | Windows 2000 Professional | Да |
е | Windows NT Workstation | Да версии 3.1 и выше |
н | Windows Me | Да |
т | Windows 98 | Да |
Windows 95 | Да | |
С | Windows Server 2008 | Да |
е | Windows Server 2003 | Да |
р | Windows 2000 Server | Да |
в | Windows NT Server | Да версии 3.1 и выше |
е | ||
р | ||
Используемая библиотека | Gdi32.lib | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Wingdi.h | |
- включено в | Windows.h | |
Unicode | - | |
Замечания по платформе | Не имеется |