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 |