Функция DrvSynchronize (winddi.h)
Функция DrvSynchronize сообщает драйверу, что GDI необходимо получить доступ к управляемой устройством поверхности. Эта функция позволяет координировать асинхронные операции рисования, выполняемые сопроцессором устройства, с доступами GDI.
Синтаксис
void DrvSynchronize(
DHPDEV dhpdev,
RECTL *prcl
);
Параметры
dhpdev
Обработка структуры PDEV физического устройства, которая определяет устройство для синхронизации с GDI. Этот параметр представляет собой дескриптор устройства, возвращенный в GDI drvEnablePDEV.
prcl
Указатель на структуру RECTL . Драйвер должен игнорировать этот параметр.
Возвращаемое значение
None
Remarks
Эта функция позволяет координировать асинхронные операции рисования, выполняемые сопроцессором устройства, с доступами GDI.
При необходимости DrvSynchronize можно реализовать в драйверах отображения. GDI вызывает эту функцию, только если она подключена к EngAssociateSurface. GDI вызывает DrvSynchronize непосредственно перед рисованием непосредственно на поверхности устройства. GDI вызывает DrvSynchronizeSurface вместо DrvSynchronize в драйверах , реализующих обе эти функции.
Эта функция должна возвращать, только если GDI безопасно получает доступ к любой управляемой устройством поверхности. То есть DrvSynchronize должен отложить возврат из вызова, пока все асинхронные операции рисования не будут завершены сопроцессором устройства, что указывает на то, что GDI безопасно получить доступ к любой управляемой устройством поверхности.
DrvSynchronize предназначен для поддержки устройств, использующих сопроцессор для рисования. Такое устройство может рассматривать некоторые операции рисования как асинхронные, возвращаясь к GDI из операции до завершения рисования. В этом случае возможно, что последующая операция рисования будет обрабатываться GDI. Для безопасного доступа К поверхностям, управляемым устройством, GDI должен иметь средства обеспечения завершения любой асинхронной отрисовки , выполняемой сопроцессором устройства. Вызывая эту функцию, GDI синхронизирует доступ к управляемой устройством поверхности с драйвером.
GDI никогда не вызывает DrvSynchronize для поверхностей, управляемых устройством. DrvSynchronize сам по себе не является выходной функцией.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | winddi.h (включая Winddi.h) |