Функция DrvSynchronizeSurface (winddi.h)
Функция DrvSynchronizeSurface сообщает драйверу, что GDI необходимо выполнить запись на указанную поверхность. Эта функция позволяет координировать операции рисования, выполняемые сопроцессором устройства, с GDI.
Синтаксис
void DrvSynchronizeSurface(
SURFOBJ *pso,
RECTL *prcl,
FLONG fl
);
Параметры
pso
Указатель на структуру SURFOBJ , которая идентифицирует поверхность, на которой выполняется синхронизация рисования.
prcl
Задает структуру RECTL , представляющую поверхность, в которую будет отрисовываться GDI, или значение NULL. Если это не конфликтует с текущей операцией рисования, драйвер может разрешить GDI рисовать, не дожидаясь завершения сопроцессора.
fl
Флаг, указывающий событие, для которого GDI выполняет запрос синхронизации. Этот параметр может иметь одно из следующих значений:
DSS_TIMER_EVENT
GDI вызывает эту функцию из-за события таймера синхронизации. События таймера создаются только для тех драйверов, которые указывают GCAPS2_SYNCTIMER бит структуры DEVINFO .
DSS_FLUSH_EVENT
GDI вызывает эту функцию из-за события синхронизации очистки. Эти события очистки создаются только для тех драйверов, которые указывают GCAPS2_SYNCFLUSH бит структуры DEVINFO .
Возвращаемое значение
None
Remarks
Эта функция позволяет координировать операции рисования, выполняемые сопроцессором устройства, с GDI.
DrvSynchronizeSurface можно при необходимости реализовать в драйверах отображения. GDI вызывает эту функцию, только если она подключена к EngAssociateSurface. GDI вызывает DrvSynchronizeSurface непосредственно перед рисованием непосредственно на поверхности устройства.
DrvSynchronizeSurface предназначен для поддержки устройств, использующих для рисования сопроцессор. Такое устройство может начать длинную операцию рисования и вернуться в GDI, пока операция продолжается. Если драйвер устройства не выполняет все операции рисования на поверхности, возможно, что последующие операции рисования будут обрабатываться GDI. В этом случае GDI необходимо дождаться завершения работы сопроцессора, прежде чем GDI сможет рисовать на поверхности.
Эта функция должна возвращать, если GDI безопасно рисовать на поверхности в прямоугольной области, заданной prcl.
DrvSynchronizeSurface сам по себе не является выходной функцией.
Требования
Целевая платформа | Персональный компьютер |
Верхняя часть | winddi.h (включая Winddi.h) |