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

DrvAlphaBlend

HOOK_BITBLT

DrvBitBlt

HOOK_COPYBITS

DrvCopyBits

HOOK_FILLPATH

DrvFillPath

HOOK_GRADIENTFILL

DrvGradientFill

HOOK_LINETO

DrvLineTo

HOOK_MOVEPANNING Obsoletos
HOOK_PAINT Obsoletos
HOOK_PLGBLT

DrvPlgBlt

HOOK_STRETCHBLT

DrvStretchBlt

HOOK_STRETCHBLTROP

DrvStretchBltROP

HOOK_STROKEANDFILLPATH

DrvStrokeAndFillPath

HOOK_STROKEPATH

DrvStrokePath

HOOK_SYNCHRONIZE

DrvSynchronize o DrvSynchronizeSurface (ya sea o ambos)

HOOK_SYNCHRONIZEACCESS Obsoletos
HOOK_TEXTOUT

DrvTextOut

HOOK_TRANSPARENTBLT

DrvTransparentBlt

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

Consulte también

DrvBitBlt

DrvCompletePDEV

DrvCopyBits

DrvCreateDeviceBitmap

DrvDeleteDeviceBitmap

DrvEnableSurface

DrvFillPath

DrvLineTo

DrvStretchBlt

DrvStrokeAndFillPath

DrvStrokePath

DrvSynchronize

DrvSynchronizeSurface

DrvTextOut

EngModifySurface