Функция GdiFlush


Функция 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 -
Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz