Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
4/8/2010

The ADRLISTstructure describes zero or more properties belonging to one or more recipients.

Syntax

struct { 
  ULONG 
cEntries; 
  ADRENTRY 
aEntries[MAPI_DIM]; 
} ADRLIST, FAR *LPADRLIST; 

Members

cEntries

Count of entries in the array specified by aEntries.

aEntries

Array of ADRENTRYstructures, one structure for each recipient.

Remarks

An ADRLISTstructure contains one or more ADRENTRYstructures, each describing the properties of a recipient. A recipient can be unresolved, meaning that it lacks an entry identifier in its array of property values, or resolved, meaning that the PR_ENTRYIDproperty is included. Typically, resolved recipients also have an e-mail address the PR_EMAIL_ADDRESSproperty. However, the e-mail address is not required. ADRLISTstructures are used, for example, to describe the recipient list for an outgoing message and by MAPI to display the entries in the address book.

ADRLISTand SRowSetstructures the structures used for representing rows in tables are similarly designed so that they can be used interchangeably. Bothcontain an array of structures describing a group of properties and a count of the values in the array. In the ADRLISTstructure, the array contains ADRENTRYstructures, and in the SRowSetstructure, the array contains SRowstructures. Because ADRLISTand SRowSetstructures follow the same allocation rules, an SRowSetstructure that is retrieved from the contents table of an address book container can be cast to an ADRLISTstructure and used as is.

The following diagram illustrates the layout of an ADRLISTstructure.

The ADRENTRYand SPropValueportions in an ADRLISTstructure must be allocated and freed independently of the other parts. That is, each SPropValuestructure must be allocated individually after memory for the ADRENTRYstructure has been allocated and freed before the ADRENTRYstructure is freed. This independence in handling memory allows recipients and individual recipient properties to be freely added or deleted from the address list.

The MAPIAllocateBufferand MAPIFreeBufferfunctions must be used to allocate and free the ADRLISTstructure and all its parts.

Requirements

Header mapidefs.h
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2002 and later, Smartphone 2002 and later

Related Macros

See Also