Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция EngModifySurface уведомляет GDI об атрибутах поверхности, созданной драйвером.
Синтаксис
ENGAPI BOOL EngModifySurface(
HSURF hsurf,
HDEV hdev,
FLONG flHooks,
FLONG flSurface,
DHSURF dhsurf,
VOID *pvScan0,
LONG lDelta,
VOID *pvReserved
);
Параметры
hsurf
Дескриптор поверхности для изменения. Этот параметр представляет собой дескриптор поверхности, возвращаемый EngCreateDeviceBitmap или EngCreateDeviceSurface или из элемента hsurf структуры SURFOBJ .
hdev
Дескриптор устройства, с которым должна быть связана поверхность. Это дескриптор, который GDI передает в DrvCompletePDEV.
flHooks
Набор флагов, управляющих функциями, которые драйвер может зацепить при каждом рисовании GDI на указанной поверхности. Это может быть побитовое значение ИЛИ любого из значений HOOK_Xxx, перечисленных на справочной странице EngAssociateSurface .
flSurface
Набор флагов, описывающих атрибуты поверхности. В настоящее время драйвер должен задать для этого параметра значение MS_NOTSYSTEMMEMORY, если поверхность находится в видеопамяте.
dhsurf
Определяет поверхность для драйвера. Драйвер может задать для этого значение что угодно; GDI присваивает члену dhsurf структуры SURFOBJ результирующей поверхности это значение, если функция выполнена успешно.
pvScan0
Указатель на виртуальный адрес начала растрового изображения.
lDelta
Шаг виртуального адреса растрового изображения; т. е. количество байтов между началом одной строки растрового изображения и следующей.
pvReserved
Зарезервировано и всегда должно иметь значение NULL.
Возвращаемое значение
EngModifySurface возвращает значение TRUE при успешном выполнении; В противном случае возвращается значение FALSE.
Комментарии
EngModifySurface позволяет драйверу изменять поверхность, управляемую устройством , и информировать GDI об атрибутах этой поверхности. Это позволяет драйверам преобразовывать поверхность назначения из непрозрачной в непрозрачную, что позволяет GDI рисовать на поверхности.
Двигатель DIB использует pvScan0 и lDelta для рисования непосредственно к поверхности. Если эти параметры имеют значение NULL, поверхность непрозрачна для GDI, и GDI будет отменить изменения вызова DrvCopyBits для операций рисования, не вызванных драйвером.
После того как DrvEnableSurface вернет дескриптор в основную поверхность, не вызывайте EngModifySurface для этого дескриптора. Это может привести к ошибке проверка в определенных обстоятельствах. Дополнительные сведения см. в статье базы знаний Майкрософт 330248.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |