Funzione EngModifySurface (winddi.h)
La funzione EngModifySurface informa GDI sugli attributi di una superficie creata dal driver.
Sintassi
ENGAPI BOOL EngModifySurface(
HSURF hsurf,
HDEV hdev,
FLONG flHooks,
FLONG flSurface,
DHSURF dhsurf,
VOID *pvScan0,
LONG lDelta,
VOID *pvReserved
);
Parametri
hsurf
Handle sulla superficie da modificare. Questo parametro è l'handle di superficie restituito da EngCreateDeviceBitmap o EngCreateDeviceSurface oppure dal membro hsurf della struttura SURFOBJ .
hdev
Gestire il dispositivo con cui deve essere associata la superficie. Si tratta dell'handle passato a DrvCompletePDEV.
flHooks
È un set di flag che controllano le funzioni che il driver può agganciare ogni volta che il disegno GDI si verifica sulla superficie specificata. Questo può essere un OR bit per bit di uno dei valori HOOK_Xxx elencati nella pagina di riferimento EngAssociateSurface .
flSurface
È un set di flag che descrivono gli attributi della superficie. Attualmente, il driver deve impostarlo su MS_NOTSYSTEMMEMORY quando la superficie si trova in memoria video.
dhsurf
Identifica la superficie del driver. Il driver può impostare questa opzione su qualsiasi elemento; GDI imposta il membro dhsurf della struttura SURFOBJ della superficie risultante su questo valore se la funzione ha esito positivo.
pvScan0
Puntatore all'indirizzo virtuale dell'inizio della bitmap.
lDelta
Stride dell'indirizzo virtuale della bitmap; ovvero il numero di byte tra l'inizio di una riga bitmap e la successiva.
pvReserved
È riservato e deve essere sempre impostato su NULL.
Valore restituito
EngModifySurface restituisce TRUE al successo; in caso contrario, restituisce FALSE.
Commenti
EngModifySurface consente al driver di modificare una superficie gestita dal dispositivo e informare GDI degli attributi di questa superficie. Ciò consente ai driver di convertire la superficie di destinazione da opaca a nonopaque, consentendo così a GDI di disegnare sulla superficie.
Il motore DIB usa pvScan0 e lDelta per disegnare direttamente nella superficie. Quando questi parametri sono NULL, la superficie è opaca per GDI e GDI verrà ripristinata la chiamata a DrvCopyBits per le operazioni di disegno non collegate dal driver.
Dopo che DrvEnableSurface restituisce un handle in una superficie primaria, non chiamare EngModifySurface 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
Requisito | Valore |
---|---|
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 |