EngCreateBitmap-Funktion (winddi.h)
Die EngCreateBitmap-Funktion fordert von GDI an, eine Bitmap zu erstellen und zu verwalten.
Syntax
ENGAPI HBITMAP EngCreateBitmap(
SIZEL sizl,
LONG lWidth,
[in] ULONG iFormat,
[in] FLONG fl,
[in] PVOID pvBits
);
Parameter
sizl
Gibt eine SIZEL-Struktur an, deren Member die Breite und Höhe der zu erstellenden Bitmap in Pixel enthalten. Eine SIZEL-Struktur ist mit einer SIZE-Struktur identisch.
Wenn pvBits nicht NULL ist, sollte dieser Wert alle auf dem Gerät sichtbaren Pixel darstellen, sodass das Gerät Arbeitsspeicher außerhalb des Bildschirms beibehalten kann.
lWidth
Gibt die Zuordnungsbreite der Bitmap an. Dabei handelt es sich um die Anzahl der Bytes, die einem Zeiger hinzugefügt werden müssen, um eine Scanlinie nach unten zu bewegen.
[in] iFormat
Gibt das Format der Bitmap in Bezug auf die Anzahl der Bits von Farbinformationen pro Pixel an, die erforderlich sind. Dieser Parameter kann einer der folgenden Werte sein:
Wert | Bedeutung |
---|---|
BMF_1BPP | Monochrom |
BMF_4BPP | 4 Bits pro Pixel |
BMF_8BPP | 8 Bits pro Pixel |
BMF_16BPP | 16 Bits pro Pixel |
BMF_24BPP | 24 Bits pro Pixel |
BMF_32BPP | 32 Bits pro Pixel |
BMF_4RLE | 4 Bits pro Pixel; Ausführungslänge codiert |
BMF_8RLE | 8 Bits pro Pixel; Ausführungslänge codiert |
[in] fl
Ist eine Bitmaske, die Eigenschaften der zu erstellenden Bitmap angibt. Dieser Parameter kann null oder eine beliebige Kombination der folgenden Werte sein:
Wert | Bedeutung |
---|---|
BMF_NOZEROINIT | GDI initialisiert die Bitmap bei der Zuordnung nicht mit null. Dieses Flag wird nur aktiviert, wenn pvBitsNULL ist. |
BMF_TOPDOWN | Die erste Scanzeile stellt den oberen Rand der Bitmap dar. Beachten Sie, dass Bitmaps im Standardformat standardmäßig die erste Scanzeile am unteren Rand aufweisen. |
BMF_USERMEM | GDI ordnet den Arbeitsspeicher für die Bitmap aus dem Benutzerspeicher zu. Standardmäßig wird der Arbeitsspeicher aus dem Adressraum des Kernels zugeordnet. Dieses Flag sollte nur angegeben werden, wenn die zu erstellende Bitmap von anderen Prozessen nicht verwendet wird. Der Benutzerspeicher kann vom Druckertreiber nicht an EngWritePrinter übergeben werden. |
[in] pvBits
Zeiger auf die erste Scanzeile der zu erstellenden Bitmap. Wenn dieser Parameter NULL ist, weist GDI den Speicherplatz für die Pixel der Bitmap zu. Wenn pvBits nicht NULL ist, ist es ein Zeiger auf den Puffer für die Bitmap.
Rückgabewert
Wenn die Funktion erfolgreich abgeschlossen wurde, ist der Rückgabewert ein Handle, das die erstellte Bitmap identifiziert. Andernfalls ist der Rückgabewert 0. EngCreateBitmap protokolliert keinen Fehlercode.
Hinweise
Speicher für die Bitmap kann optional vom Treiber bereitgestellt werden.
Der Treiber sollte die erstellte Bitmap als Oberfläche zuordnen, indem er EngAssociateSurface aufruft , bevor er von DrvEnableSurface zurückkehrt.
Die Bitmap sollte mithilfe von EngDeleteSurface gelöscht werden, wenn sie nicht mehr benötigt wird.
Framepufferanzeigetreiber sollten den pvBits-Parameter verwenden, sodass GDI die meisten Zeichnungen direkt auf die Anzeige ausführen kann.
Anforderungen
Unterstützte Mindestversion (Client) | Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Universell |
Header | winddi.h (einschließlich Winddi.h) |
Bibliothek | Win32k.lib |
DLL | Win32k.sys |