Funzione EngAssociateSurface (winddi.h)

La funzione EngAssociateSurface contrassegna una determinata superficie come appartenente a un dispositivo specificato.

Sintassi

ENGAPI BOOL EngAssociateSurface(
  HSURF hsurf,
  HDEV  hdev,
  FLONG flHooks
);

Parametri

hsurf

Gestire la superficie o la bitmap da associare a hdev. Questo handle è stato restituito da EngCreateBitmap o EngCreateDeviceBitmap.

hdev

Gestire il dispositivo con cui deve essere associata la superficie. Si tratta dell'handle creato da GDI passato alla funzione DrvCompletePDEV del driver.

flHooks

Specifica le funzioni che il driver può agganciare da GDI. Il driver deve implementare la funzione corrispondente per ogni bit impostata in flHook. Questo membro è un OR bit per bit di uno dei valori seguenti:

Flag Funzione da collegare
HOOK_ALPHABLEND

DrvAlphaBlend

HOOK_BITBLT

DrvBitBlt

HOOK_COPYBITS

DrvCopyBits

HOOK_FILLPATH

DrvFillPath

HOOK_GRADIENTFILL

DrvGradientFill

HOOK_LINETO

DrvLineTo

HOOK_MOVEPANNING Obsoleti
HOOK_PAINT Obsoleti
HOOK_PLGBLT

DrvPlgBlt

HOOK_STRETCHBLT

DrvStretchBlt

HOOK_STRETCHBLTROP

DrvStretchBltROP

HOOK_STROKEANDFILLPATH

DrvStrokeAndFillPath

HOOK_STROKEPATH

Drvstrokepath

HOOK_SYNCHRONIZE

DrvSynchronize o DrvSynchronizeSurface (o entrambi)

HOOK_SYNCHRONIZEACCESS Obsoleti
HOOK_TEXTOUT

DrvTextOut

HOOK_TRANSPARENTBLT

DrvTransparentBlt

Valore restituito

Il valore restituito è TRUE se la funzione ha esito positivo. In caso contrario, il driver deve inviare le informazioni alla funzione GDI che sta implementando e restituire il valore restituito di GDI.

Commenti

EngAssociateSurface può essere usato dai driver della stampante per implementare "regole" o tipi di carattere del dispositivo o da driver di visualizzazione per usare hardware blt speciale.

Se la superficie identificata da hsurf è una bitmap di formato standard, il driver può specificare quali funzioni di output nella superficie gestirà impostando bit in flHook. L'impostazione di bit in flHook causa l'invio di funzioni di output specifiche al driver. Questo viene definito hooking. Se il driver non aggancia una chiamata, GDI gestirà automaticamente l'operazione quando viene disegnata una bitmap di formato standard.

Quando la superficie è associata, presuppone la tavolozza predefinita e i passaggi di stile del PDEV. Una superficie deve essere associata prima che venga restituita da DrvEnableSurface.

Per impostazione predefinita, quando un driver supporta le bitmap del dispositivo implementando DrvCreateDeviceBitmap/DrvDeleteDeviceBitmap, GDI non sincronizza automaticamente le chiamate di disegno alla bitmap del dispositivo e alla superficie primaria. Ad esempio, GDI può chiamare la funzione DrvBitBlt del driver per disegnare a una bitmap del dispositivo, mentre un altro thread sta disegnando sulla superficie primaria eseguendo l'implementazione del driver di DrvTextOut. Il driver può anche essere chiamato per disegnare a più bitmap del dispositivo contemporaneamente.

Dopo che DrvEnableSurface restituisce un handle in una superficie primaria, non chiamare EngAssociateSurface su tale handle. In questo modo può causare un controllo di bug in determinate circostanze. Per altre informazioni, vedere l'articolo di Microsoft Knowledge Base 330248.

Requisiti

   
Client minimo supportato Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Universale
Intestazione winddi.h (include Winddi.h)
Libreria Win32k.lib
DLL Win32k.sys

Vedi anche

DrvBitBlt

DrvCompletePDEV

DrvCopyBits

DrvCreateDeviceBitmap

DrvDeleteDeviceBitmap

DrvEnableSurface

DrvFillPath

DrvLineTo

DrvStretchBlt

DrvStrokeAndFillPath

Drvstrokepath

DrvSynchronize

DrvSynchronizeSurface

DrvTextOut

EngModifySurface