Поделиться через


Функция 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)

См. также раздел

DrvEnablePDEV

DrvSynchronize

EngAssociateSurface