typedef struct _SURFOBJ {
DHSURF dhsurf;
HSURF hsurf;
DHPDEV dhpdev;
HDEV hdev;
SIZEL sizlBitmap;
ULONG cjBits;
PVOID pvBits;
PVOID pvScan0;
LONG lDelta;
ULONG iUniq;
ULONG iBitmapFormat;
USHORT iType;
USHORT fjBitmap;
} SURFOBJ;
The SURFOBJ structure is the user object for a surface. A device driver usually calls methods on a surface object only when the surface object represents a GDI bitmap or a device-managed surface.
|
Value |
Meaning |
|
BMF_1BPP |
1 bit per pixel. |
|
BMF_4BPP |
4 bits per pixel. |
|
BMF_8BPP |
8 bits per pixel. |
|
BMF_16BPP |
16 bits per pixel. |
|
BMF_24BPP |
24 bits per pixel. |
|
BMF_32BPP |
32 bits per pixel. |
|
BMF_4RLE |
4 bits per pixel, run length encoded. |
|
BMF_8RLE |
8 bits per pixel, run length encoded. |
|
Type |
Definition |
|
STYPE_BITMAP |
The surface is a bitmap. |
|
STYPE_DEVICE |
The surface is managed by the device. |
|
STYPE_DEVBITMAP |
The surface is a device format bitmap. |
|
Value |
Meaning |
|
BMF_TOPDOWN |
The first scan line represents the top of the bitmap. |
|
BMF_NOZEROINIT |
The bitmap was not zero-initialized. |
|
BMF_DONTCACHE |
The bitmap should not be cached by the driver because it is a transient bitmap, created by GDI, that the driver will never see again. |
When information about a particular surface is required by a driver, the driver must access the SURFOBJ. This structure allows quick access to the properties of the surface.
When a SURFOBJ structure represents a GDI bitmap, the driver must be able to determine the format of the bitmap and locate the bitmap bits.
When a SURFOBJ structure represents a device surface, the driver must be able to locate the device handle for the surface.