Data
type codes of structure components.
Valid data types are the system-defined data types and their pointer equivalents,
application-defined data types and their pointer equivalents, and control
data types. Note that not all of the data types that occur in the CPI can
be specified on this function.
A control data type is followed by one or more entries in the types array
that are interpreted in a special way. Control data types allow arrays,
offsets, and lengths to be defined.
Simple Data Types:
DTYP_ATOM
DTYP_BIT16
DTYP_BIT32
DTYP_BIT8
DTYP_BOOL
DTYP_COUNT2
DTYP_COUNT2B
DTYP_COUNT2CH
DTYP_COUNT4B
DTYP_CPID
DTYP_ERRORID
DTYP_IDENTITY
DTYP_IDENTITY4
DTYP_INDEX2
DTYP_IPT
DTYP_LENGTH2
DTYP_LENGTH4
DTYP_LONG
DTYP_OFFSET2B
DTYP_PID
DTYP_PIX
DTYP_PROGCATEGORY
DTYP_PROPERTY2
DTYP_PROPERTY4
DTYP_RESID
DTYP_SEGOFF
DTYP_SHORT
DTYP_TID
DTYP_TIME
DTYP_UCHAR
DTYP_ULONG
DTYP_USHORT
DTYP_WIDTH4
DTYP_WNDPROC
Handle Data Types:
DTYP_HAB
DTYP_HACCEL
DTYP_HAPP
DTYP_HATOMTBL
DTYP_HBITMAP
DTYP_HDC
DTYP_HENUM
DTYP_HINI
DTYP_HLIB
DTYP_HMF
DTYP_HMQ
DTYP_HPOINTER
DTYP_HPROGRAM
DTYP_HPS
DTYP_HRGN
DTYP_HSEM
DTYP_HSPL
DTYP_HSWITCH
DTYP_HWND
See HWND.
Character/String/Buffer Data Types:
DTYP_BYTE
DTYP_CHAR
DTYP_STRL
DTYP_STR16
DTYP_STR32
DTYP_STR64
DTYP_STR8
Structure Data Types:
DTYP_ACCEL
DTYP_ACCELTABLE
DTYP_ARCPARAMS
DTYP_AREABUNDLE
DTYP_BITMAPINFO
DTYP_BITMAPINFOHEADER
DTYP_BTNCDATA
DTYP_CATCHBUF
DTYP_CHARBUNDLE
DTYP_CLASSINFO
DTYP_CREATESTRUCT
DTYP_CURSORINFO
DTYP_DEVOPENSTRUC
DTYP_DLGTEMPLATE
DTYP_DLGTITEM
DTYP_ENTRYFDATA
DTYP_FATTRS
DTYP_FFDESCS
DTYP_FIXED
DTYP_FONTMETRICS
DTYP_FRAMECDATA
DTYP_GRADIENTL
DTYP_HCINFO
DTYP_IMAGEBUNDLE
DTYP_KERNINGPAIRS
DTYP_LINEBUNDLE
DTYP_MARGSTRUCT
DTYP_MARKERBUNDLE
DTYP_MATRIXLF
DTYP_MLECTLDATA
DTYP_OVERFLOW
DTYP_OWNERITEM
DTYP_POINTERINFO
DTYP_POINTL
DTYP_PROGRAMENTRY
DTYP_PROGTYPE
DTYP_QMSG
DTYP_RECTL
DTYP_RGB
DTYP_RGNRECT
DTYP_SBCDATA
DTYP_SIZEF
DTYP_SIZEL
DTYP_SWBLOCK
DTYP_SWCNTRL
DTYP_SWENTRY
DTYP_SWP
DTYP_TRACKINFO
DTYP_USERBUTTON
DTYP_WNDPARAMS
DTYP_WPOINT
DTYP_WRECT
DTYP_XYWINSIZE
Pointer Data Type:
DTYP_P*
Pointer to an item of data type DTYP_*,
where DTYP_* is one of the data types in the preceding lists. The value
of a pointer data type is the value of the corresponding non-pointer data
type prefixed with a minus to make it negative.
Minimum
Application Data Type:
DTYP_USER
Minimum value for application-defined
non-pointer data types.
Control Data Type:
DTYP_CTL_ARRAY
This starts a sequence of three array
elements that define an array; the array resides in the structure being
defined, and may have a fixed number of elements or a variable number of
elements.
The following describes the possible elements: n
n+1
n+2
minus the number
of elements in the array (for an array of fixed size), or the index of the
element in types corresponding to the structure component which contains
the number of elements in the array being defined. This component must have
a suitable numeric data type. The array-size element must recede element
"n" in types. The index is zero-based.
DTYP_CTL_LENGTH
This starts a sequence of four
array elements that define a structure component containing the length of
part or all of the structure. The length component resides at this point
in the structure.
The following describes the possible elements: n
n+1
data type of structure
component that contains the length (must be a suitable numeric data type).
n+2
the index of the element
in types corresponding to the first structure component that is included
in the length; a value of -1 denotes the start of the structure. This index
is zero-based.
The element specified must not be one that is the second or subsequent element
in a DTYP_CTL_* sequence of elements.
N+3
the
index of the element in types corresponding to the last structure
component that is included in the length; it must not be less than the value
contained in element n+2. A value of -1 denotes the end of the structure.
The index is zero-based.
The element specified must not be one that is the second or subsequent element
in a DTYP_CTL_* sequence of elements.
If the value is -1, the length includes all offset data residing at the
end of the structure.
DTYP_CTL_OFFSET
This starts a sequence of four
array elements that define data addressed by an offset. The offset resides
at this point in the structure, and contains the offset in bytes of the
data from the start of the outermost structure in which this component
resides. The data addressed by the offset must occupy storage following
the fixed part of the structure. The data may be scalar data or array data.
The following describes the possible elements: n
n+1
data type of the structure
component that contains the offset (must be a suitable unsigned numeric
data type).
n+2
data type
of offset data.
n+3
DTYP_CTL_PARRAY