The data types defined in the following table appear in the device driver interface. Several of the listed data types are those user objects previously described in User Objects.
DDI Data Type | Variable Name Prefix | Definition |
BOOL | b | A 32 bit value that can be TRUE or FALSE. |
BYTE | j | An 8 bit unsigned integer. |
BRUSHOBJ* | pbo | A brush object. |
CLIPLINE | cl | A clipline object. |
CLIPOBJ* | pco | 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 32 bit signed fixed point number. 28 bits are to the left of the binary point. |
FLOAT | e | A 32 bit IEEE floating point number. |
FLOAT_LONG | el | A 32 bit value that is interpreted as either a LONG or FLOAT, depending on a separate flag. |
FLONG | fl | A set of 32 bit flags. |
FONTOBJ* | pfo | A font object. |
FSHORT | fs | A set of 16 bit flags. |
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 palette object. |
PATHOBJ* | ppo | A path object. |
POINTE | pte | A point structure that consists of {FLOAT x,y;}. |
POINTFX | ptfx | A point structure that consists of {FIX x,y;}. |
POINTL | ptl | A point structure that consists of {LONG x,y;}. |
PWSZ | pwsz | A pointer to a zero-terminated Unicode string. |
PVOID | pv | A pointer to a structure that is not defined by GDI. |
RECTL | rcl | A rectangle structure that consists of {LONG xLeft,yTop,xRight,yBottom;} |
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 two-dimensional size structure that consists of {ULONG cx,cy;}. |
STROBJ* | pstro | A text string object. |
SURFOBJ* | pso | A surface object. |
ULONG | ul | A 32 bit unsigned integer. |
USHORT | us | A 16 bit unsigned integer. |
XFORMOBJ* | pxo | A coordinate transform object. |
XLATEOBJ* | pxlo | 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 |