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 | |
HOOK_BITBLT | |
HOOK_COPYBITS | |
HOOK_FILLPATH | |
HOOK_GRADIENTFILL | |
HOOK_LINETO | |
HOOK_MOVEPANNING | Obsoleti |
HOOK_PAINT | Obsoleti |
HOOK_PLGBLT | |
HOOK_STRETCHBLT | |
HOOK_STRETCHBLTROP | |
HOOK_STROKEANDFILLPATH | |
HOOK_STROKEPATH | |
HOOK_SYNCHRONIZE |
DrvSynchronize o DrvSynchronizeSurface (o entrambi) |
HOOK_SYNCHRONIZEACCESS | Obsoleti |
HOOK_TEXTOUT | |
HOOK_TRANSPARENTBLT |
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 |