Share via


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

Consulte también

DrvCopyBits

EngAssociateSurface