FLATENTRYLIST
The FLATENTRYLIST
structure contains an array of FLATENTRY
Quick Info
Header
file: |
MAPIDEFS.H |
Related
macros: |
CbFLATENTRYLIST |
typedef struct
{
ULONG cEntries;
ULONG cbEntries;
BYTE abEntries[MAPI_DIM];
} FLATENTRYLIST, FAR *LPFLATENTRYLIST;
Members
cEntries
Count of FLATENTRY
cbEntries
Count of
bytes occupied by the entire array described by abEntries.
abEntries
Byte array
containing the number of FLATENTRY structures in the cEntries
member, arranged end to end.
Remarks
In the abEntries
array, each FLATENTRY structure is aligned on a naturally aligned
boundary. Extra bytes are included as padding to ensure natural alignment
between any two FLATENTRY structures. The first FLATENTRY
structure in the array is always aligned correctly because the offset of the abEntries
member is 8. To compute the offset of the next structure, use the size of the
first entry rounded up to the next multiple of 4. Use the CbFLATENTRY
macro to compute the size of a FLATENTRY structure.
For example,
the second FLATENTRY structure starts at an offset made up of the offset
of the first entry plus the length of the first entry rounded to the next four
bytes. The length of the first entry is the length of its cb member plus
the length of its abEntry member.
The following
code sample indicates how to compute offsets in a FLATENTRYLIST
structure. Assume that lpFlatEntry is a pointer to the first structure
in the list.
(offsetof(lpFlatEntry->ab) // for example, 4
+ lpFlatEntry->cb //
size of lpFlatEntry->ab
+ 4) & ~3 //
round to next 4 byte boundary
See Also