GDI Data Types

The data types defined in the following table appear in the device driver interface. Several of the listed data types have already been described in GDI User Objects. Data types that are pointers are marked with an asterisk (*).

Graphics DDI Data Type Variable Name Prefix Definition

BOOL

b

A 32-bit value that can be either TRUE or FALSE.

BYTE

j

An 8-bit unsigned integer.

BRUSHOBJ

pbo

A pointer to a brush object.

CLIPLINE

cl

A clipline object.

CLIPOBJ

pco

A pointer to a clipping object.

DHPDEV

dhpdev

A 32-bit handle, defined by the device driver, that identifies a physical device.

DHSURF

dhsurf

A 32-bit handle, defined by the device driver, that identifies a device-managed surface.

FIX

fix

A fixed-point number.

FLOATL

e

A floating-point number.

FLOAT_LONG

el

A 32-bit overloaded value that is interpreted as either a LONG or FLOATL, depending on context.

FLONG

fl

A set of 32-bit flags.

FONTOBJ

pfo

A pointer to a font object.

FSHORT

fs

A set of 16-bit flags.

FWORD

fw

A 16-bit signed integer.

HBM

hbm

A 32-bit handle, defined by GDI, that identifies a bitmap.

HPAL

hpal

A 32-bit handle, defined by GDI, that identifies a palette.

HSURF

hsurf

A 32-bit handle, defined by GDI, that identifies a surface.

LONG

l

A 32-bit signed integer.

MIX

mix

A 32-bit quantity, whose lower 16 bits define foreground and background mix modes.

PALOBJ

ppalo

A pointer to a palette object.

PATHOBJ

ppo

A pointer to a path object.

POINTE

pte

A point structure that consists of {FLOATL x, y;}.

POINTFIX

ptfx

A point structure that consists of {FIX x, y;}.

POINTQF

ptq

A point structure that consists of {LARGE_INTEGER x, y;}. Each member of this structure is a 64-bit coordinate in 28.36 format.

PWSZ

pwsz

A pointer to a null-terminated Unicode string.

PVOID

pv

A pointer to a VOID, an undefined data type.

RECTFX

rcfx

A rectangle structure that consists of {FIX xLeft, yTop, xRight, yBottom;}.

ROP4

rop4

A 32-bit value that specifies how source, destination, pattern, and mask pixels are to be mixed.

SHORT

s

A 16-bit signed integer.

SIZEL

sizl

A structure that consists of {LONG cx, cy;}.

STROBJ

pstro

A pointer to a text string object.

SURFOBJ

pso

A pointer to a surface object.

ULONG

ul

A 32-bit unsigned integer.

USHORT

us

A 16-bit unsigned integer.

XFORMOBJ

pxo

A pointer to a coordinate transform object.

XLATEOBJ*

pxlo

A pointer to a color translation object.

The parameter prefixes listed in the next table are used to modify variable name prefixes in accordance with their usage.

Prefix Parameter Usage

i

An enumerated index

c

A count

p

A pointer