FLATENTRYLIST

Last modified: July 23, 2011

Applies to: Outlook

Contains an array of FLATENTRY structures.

Header file:

Mapidefs.h

Related macros:

CbFLATENTRYLIST, CbNewFLATENTRYLIST

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

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 that contains one or more FLATENTRY structures, arranged end to end.

In the abEntries array, each FLATENTRY structure is aligned on a naturally aligned boundary. Extra bytes are included as padding to make sure 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 that consists 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
Show:
© 2014 Microsoft