Condividi tramite


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

Vedi anche

DrvCopyBits

EngAssociateSurface