Funzione EngCreateBitmap (winddi.h)

La funzione EngCreateBitmap richiede che GDI crei e gestisca una bitmap.

Sintassi

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

Parametri

sizl

Specifica una struttura SIZEL i cui membri contengono la larghezza e l'altezza, in pixel, della bitmap da creare. Una struttura SIZEL è identica a una struttura SIZE .

Se pvBits non è NULL, questo valore deve rappresentare tutti i pixel visibili nel dispositivo, consentendo al dispositivo di mantenere la memoria fuori schermo.

lWidth

Specifica la larghezza di allocazione della bitmap, ovvero il numero di byte che devono essere aggiunti a un puntatore per spostarsi verso il basso di una riga di analisi.

[in] iFormat

Specifica il formato della bitmap in termini di numero di bit di informazioni sul colore per pixel necessarie. Questo parametro può essere uno dei valori seguenti:

Valore Significato
BMF_1BPP Monocromatico
BMF_4BPP 4 bit per pixel
BMF_8BPP 8 bit per pixel
BMF_16BPP 16 bit per pixel
BMF_24BPP 24 bit per pixel
BMF_32BPP 32 bit per pixel
BMF_4RLE 4 bit per pixel; lunghezza di esecuzione codificata
BMF_8RLE 8 bit per pixel; lunghezza di esecuzione codificata

[in] fl

Maschera di bit che specifica le proprietà sulla bitmap da creare. Questo parametro può essere zero o qualsiasi combinazione dei valori seguenti:

Valore Significato
BMF_NOZEROINIT L'GDI non inizializzerà la bitmap durante l'allocazione. Questo flag viene controllato solo quando pvBits è NULL.
BMF_TOPDOWN La prima riga di analisi rappresenta la parte superiore della bitmap. Si noti che le bitmap in formato standard hanno la prima riga di analisi nella parte inferiore per impostazione predefinita.
BMF_USERMEM GDI allocherà la memoria per la bitmap dalla memoria utente. Per impostazione predefinita, la memoria viene allocata dallo spazio indirizzi del kernel. Questo flag deve essere specificato solo quando la bitmap creata non verrà usata da altri processi. La memoria utente non può essere passata a EngWritePrinter dal driver della stampante.

[in] pvBits

Puntatore alla prima riga di analisi della bitmap da creare. Se questo parametro è NULL, GDI alloca lo spazio di archiviazione per i pixel della bitmap. Se pvBits non è NULL, si tratta di un puntatore al buffer per la bitmap.

Valore restituito

Se la funzione viene completata correttamente, il valore restituito è un handle che identifica la bitmap creata. In caso contrario, il valore restituito è 0. EngCreateBitmap non registra un codice di errore.

Commenti

L'archiviazione per la bitmap può facoltativamente essere fornita dal driver.

Il driver deve associare la bitmap creata come superficie chiamando EngAssociateSurface prima di tornare da DrvEnableSurface.

La bitmap deve essere eliminata usando EngDeleteSurface quando non è più necessaria.

I driver di visualizzazione del buffer dei frame devono usare il parametro pvBits , consentendo a GDI di eseguire la maggior parte del disegno direttamente nella visualizzazione.

Requisiti

   
Client minimo supportato Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Universale
Intestazione winddi.h (include Winddi.h)
Libreria Win32k.lib
DLL Win32k.sys

Vedi anche

DrvCreateDeviceBitmap

EngAllocUserMem