Función EngModifySurface (winddi.h)
La función EngModifySurface notifica a GDI los atributos de una superficie creada por el controlador.
Sintaxis
ENGAPI BOOL EngModifySurface(
HSURF hsurf,
HDEV hdev,
FLONG flHooks,
FLONG flSurface,
DHSURF dhsurf,
VOID *pvScan0,
LONG lDelta,
VOID *pvReserved
);
Parámetros
hsurf
Identificador de la superficie que se va a modificar. Este parámetro es el identificador de superficie devuelto por EngCreateDeviceBitmap o EngCreateDeviceSurface, o desde el miembro hsurf de la estructura SURFOBJ .
hdev
Controla el dispositivo con el que se va a asociar la superficie. Este es el identificador que GDI pasó a DrvCompletePDEV.
flHooks
Es un conjunto de marcas que controlan las funciones que el controlador puede enlazar siempre que se produzca un dibujo GDI en la superficie especificada. Puede ser un OR bit a bit de cualquiera de los valores de HOOK_Xxx enumerados en la página de referencia de EngAssociateSurface .
flSurface
Es un conjunto de marcas que describen los atributos de la superficie. Actualmente, el controlador debe establecer esto en MS_NOTSYSTEMMEMORY cuando la superficie se encuentra en la memoria de vídeo.
dhsurf
Identifica la superficie del controlador. El controlador puede establecer esto en cualquier cosa; GDI establece el miembro dhsurf de la estructura SURFOBJ de la superficie resultante en este valor si la función es correcta.
pvScan0
Puntero a la dirección virtual del inicio del mapa de bits.
lDelta
Es el intervalo de direcciones virtuales del mapa de bits; es decir, el número de bytes entre el principio de una fila de mapa de bits y la siguiente.
pvReserved
Está reservado y siempre debe establecerse en NULL.
Valor devuelto
EngModifySurface devuelve TRUE tras el éxito; de lo contrario, devuelve FALSE.
Comentarios
EngModifySurface permite al controlador modificar una superficie administrada por el dispositivo e informar a GDI de los atributos de esta superficie. Esto permite a los conductores convertir la superficie de destino de ser opaco a noopaque, lo que permite que GDI se dibuje en la superficie.
El motor DIB usa pvScan0 y lDelta para dibujar directamente a la superficie. Cuando estos parámetros son NULL, la superficie es opaca a GDI y GDI revertirá a llamar a DrvCopyBits para las operaciones de dibujo no enlazadas por el controlador.
Después de que DrvEnableSurface devuelva un identificador a una superficie principal, no llame a EngModifySurface en ese identificador. Si lo hace, puede provocar una comprobación de errores en determinadas circunstancias. Para obtener más información, consulte el artículo de Microsoft Knowledge Base 330248.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Universal |
Encabezado | winddi.h (incluya Winddi.h) |
Library | Win32k.lib |
Archivo DLL | Win32k.sys |