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 |