Freigeben über


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

Weitere Informationen

DrvCreateDeviceBitmap

EngAllocUserMem