Partager via


Fonction EngCreateBitmap (winddi.h)

La fonction EngCreateBitmap demande à GDI de créer et de gérer une bitmap.

Syntaxe

ENGAPI HBITMAP EngCreateBitmap(
       SIZEL sizl,
       LONG  lWidth,
  [in] ULONG iFormat,
  [in] FLONG fl,
  [in] PVOID pvBits
);

Paramètres

sizl

Spécifie une structure SIZEL dont les membres contiennent la largeur et la hauteur, en pixels, de la bitmap à créer. Une structure SIZEL est identique à une structure SIZE .

Si pvBits n’a pas la valeur NULL, cette valeur doit représenter tous les pixels visibles sur l’appareil, ce qui permet à l’appareil de conserver la mémoire hors écran.

lWidth

Spécifie la largeur d’allocation de la bitmap, qui correspond au nombre d’octets qui doivent être ajoutés à un pointeur pour descendre d’une ligne de balayage.

[in] iFormat

Spécifie le format de la bitmap en termes de nombre de bits d’informations de couleur par pixel requis. Ce paramètre peut être l’une des valeurs suivantes :

Valeur Signification
BMF_1BPP Monochrome
BMF_4BPP 4 bits par pixel
BMF_8BPP 8 bits par pixel
BMF_16BPP 16 bits par pixel
BMF_24BPP 24 bits par pixel
BMF_32BPP 32 bits par pixel
BMF_4RLE 4 bits par pixel ; longueur d’exécution encodée
BMF_8RLE 8 bits par pixel ; longueur d’exécution encodée

[in] fl

Masque de bits qui spécifie les propriétés de la bitmap à créer. Ce paramètre peut être égal à zéro ou à n’importe quelle combinaison des valeurs suivantes :

Valeur Signification
BMF_NOZEROINIT GDI n’initialise pas zéro la bitmap lors de son allocation. Cet indicateur est vérifié uniquement lorsque pvBits a la valeur NULL.
BMF_TOPDOWN La première ligne d’analyse représente le haut de la bitmap. Notez que les bitmaps au format standard ont la première ligne d’analyse en bas par défaut.
BMF_USERMEM GDI alloue la mémoire pour la bitmap à partir de la mémoire utilisateur. Par défaut, la mémoire est allouée à partir de l’espace d’adressage du noyau. Cet indicateur doit être spécifié uniquement lorsque la bitmap en cours de création ne sera pas utilisée par d’autres processus. La mémoire utilisateur ne peut pas être transmise à EngWritePrinter par le pilote d’imprimante.

[in] pvBits

Pointeur vers la première ligne d’analyse de la bitmap à créer. Si ce paramètre a la valeur NULL, GDI alloue l’espace de stockage pour les pixels de la bitmap. Si pvBits n’a pas la valeur NULL, il s’agit d’un pointeur vers la mémoire tampon pour la bitmap.

Valeur retournée

Si la fonction se termine correctement, la valeur de retour est un handle qui identifie la bitmap créée. Sinon, la valeur de retour est 0. EngCreateBitmap n’enregistre pas de code d’erreur.

Remarques

Le stockage de la bitmap peut éventuellement être fourni par le pilote.

Le pilote doit associer la bitmap créée en tant que surface en appelant EngAssociateSurface avant de revenir de DrvEnableSurface.

La bitmap doit être supprimée à l’aide de EngDeleteSurface lorsqu’elle n’est plus nécessaire.

Les pilotes d’affichage de la mémoire tampon de trame doivent utiliser le paramètre pvBits , ce qui permet à GDI d’effectuer la plupart des dessins directement sur l’affichage.

Configuration requise

   
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

DrvCreateDeviceBitmap

EngAllocUserMem