Partager via


Fonction EngModifySurface (winddi.h)

La fonction EngModifySurface informe GDI des attributs d’une surface créée par le pilote.

Syntaxe

ENGAPI BOOL EngModifySurface(
  HSURF  hsurf,
  HDEV   hdev,
  FLONG  flHooks,
  FLONG  flSurface,
  DHSURF dhsurf,
  VOID   *pvScan0,
  LONG   lDelta,
  VOID   *pvReserved
);

Paramètres

hsurf

Handle à la surface à modifier. Ce paramètre est le handle de surface retourné par EngCreateDeviceBitmap ou EngCreateDeviceSurface, ou à partir du membre hsurf de la structure SURFOBJ .

hdev

Handle à l’appareil auquel la surface doit être associée. Il s’agit du handle que GDI a passé à DrvCompletePDEV.

flHooks

Ensemble d’indicateurs qui contrôlent les fonctions que le pilote peut crocheter chaque fois que le dessin GDI se produit sur la surface spécifiée. Il peut s’agir d’un or au niveau du bit de l’une des valeurs HOOK_Xxx répertoriées dans la page de référence EngAssociateSurface .

flSurface

Ensemble d’indicateurs qui décrivent les attributs de la surface. Actuellement, le pilote doit définir cette valeur sur MS_NOTSYSTEMMEMORY lorsque la surface se trouve dans la mémoire vidéo.

dhsurf

Identifie la surface du pilote. Le pilote peut définir ce paramètre sur n’importe quel élément ; GDI définit le membre dhsurf de la structure SURFOBJ de la surface résultante sur cette valeur si la fonction réussit.

pvScan0

Pointeur vers l’adresse virtuelle du début de la bitmap.

lDelta

Est la foulée d’adresse virtuelle de la bitmap ; c’est-à-dire le nombre d’octets entre le début d’une ligne bitmap et la suivante.

pvReserved

Est réservé et doit toujours être défini sur NULL.

Valeur retournée

EngModifySurface retourne TRUE en cas de réussite ; sinon, elle retourne FALSE.

Remarques

EngModifySurface permet au pilote de modifier une surface gérée par un appareil et d’informer GDI des attributs de cette surface. Cela permet aux pilotes de convertir la surface de destination d’une surface opaque en non-opaque, ce qui permet à GDI de dessiner sur la surface.

Le moteur DIB utilise pvScan0 et lDelta pour dessiner directement à la surface. Lorsque ces paramètres ont la valeur NULL, la surface est opaque à GDI, et GDI revient à appeler DrvCopyBits pour les opérations de dessin non accrochées par le pilote.

Une fois que DrvEnableSurface a retourné un handle à une surface primaire, n’appelez pas EngModifySurface sur cette poignée. Cela peut entraîner un bogue case activée dans certaines circonstances. Pour plus d’informations, consultez l’article 330248 de la Base de connaissances Microsoft.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys

Voir aussi

DrvCopyBits

EngAssociateSurface