Función EngAssociateSurface (winddi.h)
La función EngAssociateSurface marca una superficie determinada como perteneciente a un dispositivo especificado.
Sintaxis
ENGAPI BOOL EngAssociateSurface(
HSURF hsurf,
HDEV hdev,
FLONG flHooks
);
Parámetros
hsurf
Identificador de la superficie o mapa de bits que se va a asociar con hdev. EngCreateBitmap o EngCreateDeviceBitmap devolvió este identificador.
hdev
Controle al dispositivo con el que se va a asociar la superficie. Este es el identificador creado por GDI que se pasó a la función DrvCompletePDEV del controlador.
flHooks
Especifica las funciones que el controlador puede enlazar desde GDI. El controlador debe implementar la función correspondiente para cada bit que establece en flHooks. Este miembro es un OR bit a bit de cualquiera de los siguientes valores:
Marca | Función que se va a enlazar |
---|---|
HOOK_ALPHABLEND | |
HOOK_BITBLT | |
HOOK_COPYBITS | |
HOOK_FILLPATH | |
HOOK_GRADIENTFILL | |
HOOK_LINETO | |
HOOK_MOVEPANNING | Obsoletos |
HOOK_PAINT | Obsoletos |
HOOK_PLGBLT | |
HOOK_STRETCHBLT | |
HOOK_STRETCHBLTROP | |
HOOK_STROKEANDFILLPATH | |
HOOK_STROKEPATH | |
HOOK_SYNCHRONIZE |
DrvSynchronize o DrvSynchronizeSurface (ya sea o ambos) |
HOOK_SYNCHRONIZEACCESS | Obsoletos |
HOOK_TEXTOUT | |
HOOK_TRANSPARENTBLT |
Valor devuelto
El valor devuelto es TRUE si la función es correcta. De lo contrario, el controlador debe enviar la información a la función GDI que está implementando y devolver el valor devuelto de GDI.
Comentarios
Los controladores de impresora pueden usar EngAssociateSurface para implementar "reglas" o fuentes de dispositivo, o mediante controladores de pantalla para usar hardware blt especial.
Si la superficie identificada por hsurf es un mapa de bits de formato estándar, el controlador puede especificar qué funciones de salida de la superficie controlará estableciendo bits en flHooks. Al establecer bits en flHooks , las funciones de salida concretas se envían al controlador en su lugar. Esto se conoce como enlace. Si el controlador no enlaza una llamada, GDI administrará automáticamente la operación cuando se dibuja un mapa de bits de formato estándar.
Cuando la superficie está asociada, supone los pasos de estilo y paleta predeterminados del PDEV. Una superficie debe estar asociada antes de que la devuelva DrvEnableSurface.
De forma predeterminada, cuando un controlador admite mapas de bits de dispositivo mediante la implementación de DrvCreateDeviceBitmapDrvDeleteDeviceBitmap/, GDI no sincroniza automáticamente las llamadas de dibujo al mapa de bits del dispositivo y a la superficie principal. Por ejemplo, GDI puede llamar a la función DrvBitBlt del controlador para dibujar en un mapa de bits del dispositivo, mientras que otro subproceso se dibuja en la superficie principal ejecutando la implementación del controlador de DrvTextOut. Incluso se puede llamar al controlador para dibujar en varios mapas de bits del dispositivo al mismo tiempo.
Después de que DrvEnableSurface devuelva un identificador a una superficie principal, no llame a EngAssociateSurface 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
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 |