Platform SDK: MAPI

ADRENTRY

The ADRENTRY structure describes zero or more properties belonging to a recipient.

Quick Info

Header file: MAPIDEFS.H

typedef struct _ADRENTRY  
{  
     ULONG        ulReserved1; 
     ULONG        cValues; 
     LPSPropValue rgPropVals;  
} ADRENTRY, FAR *LPADRENTRY; 
 

Members

ulReserved1
Reserved; must be zero.
cValues
Count of properties in the property value array pointed to by the rgPropVals member. The cValues member can be zero.
rgPropVals
Pointer to a property value array describing the properties for the recipient. The rgPropVals member can be NULL.

Remarks

An ADRENTRY structure describes properties belonging to a single recipient. The properties that are typically used to describe a recipient include:

PR_DISPLAY_NAME

PR_ADDRTYPE

PR_EMAIL_ADDRESS

PR_ENTRYID

When an entry identifier — or PR_ENTRYID property — appears in the SPropValue array for a recipient, this indicates that the recipient has been resolved. Clients call the IAddrBook::ResolveName method to ensure that all recipients in the recipient list of an outgoing message have been resolved. Only resolved recipients can be sent with messages.

ADRENTRY structures are commonly combined to form an array for the aEntries member of an ADRLIST structure.

ADRENTRY structures and SRow structures are identical in that they both contain a reserved member, an array of property values, and a count of values in the array. Whereas ADRENTRY structures are combined to form the aEntries member of an ADRLIST structure, SRow structures are combined to form the aRow member of an SRowSet structure. Both types of structures follow the same allocation rules, implying that an SRowSet structure that is retrieved from the contents table of an address book container can be cast to an ADRLIST structure and used as is.

An ADRENTRY structure can be empty. An ADRENTRY structure contained in the ADRLIST structure pointed to by the lppAdrList parameter in a call to IAddrBook::Address can be empty when, for example, a recipient is being removed.

For more information on allocating memory for ADRENTRY structures, see Managing Memory for ADRLIST and SRowSet Structures.

See Also

Address Structures, IAddrBook::Address, IMessage::ModifyRecipients, MAPIAllocateBuffer, SRow