FLATENTRYLIST

The FLATENTRYLIST structure contains an array of FLATENTRY structures.

Quick Info

Header file: MAPIDEFS.H
Related macros: CbFLATENTRYLIST
CbNewFLATENTRYLIST

typedef struct 
{ 
     ULONG     cEntries; 
     ULONG     cbEntries; 
     BYTE      abEntries[MAPI_DIM]; 
} FLATENTRYLIST, FAR *LPFLATENTRYLIST; 
 

Members

cEntries
Count of FLATENTRY structures in the array described by the abEntries member.
cbEntries
Count of bytes in the array described by abEntries.
abEntries
Byte array containing one or more FLATENTRY structures, 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

ID Structures, FLATENTRY, PR_REPLY_RECIPIENT_ENTRIES