Internet Explorer Address Book Structures

Internet Explorer Address Book Structures


This section contains the data structures and related information that are used by the Internet Explorer Address Book programming interfaces.

ADRENTRY

typedef struct _ADRENTRY {
    ULONG          ulReserved1;
    ULONG          cValues;
    LPSPropValue   rgPropVals;
} ADRENTRY;

Describes zero or more properties belonging to a recipient.

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
Address of a property value array describing the properties for the recipient. The rgPropVals member can be NULL.

ADRLIST

typedef struct _ADRLIST {
    ULONG          cEntries;
    ADRENTRY       aEntries[MAPI_DIM];
    } ADRLIST;

Describes zero or more properties belonging to one or more recipients.

cEntries
Count of entries in the array specified by the aEntries member.
aEntries[MAPI_DIM]
Array of ADRENTRY structures, one structure for each recipient.

ADRPARM

typedef struct _ADRPARM 
{ 
    ULONG            cbABContEntryID; 
    LPENTRYID        lpABContEntryID; 
    ULONG            ulFlags; 
    LPVOID           lpReserved; 
    ULONG            ulHelpContext; 
    LPTSTR           lpszHelpFileName; 
    LPFNABSDI        lpfnABSDI; 
    LPFNDISMISS      lpfnDismiss; 
    LPVOID           lpvDismissContext; 
    LPTSTR           lpszCaption; 
    LPTSTR           lpszNewEntryTitle; 
    LPTSTR           lpszDestWellsTitle; 
    ULONG            cDestFields; 
    ULONG            nDestFieldFocus; 
    LPTSTR FAR      *lppszDestTitles; 
    ULONG FAR       *lpulDestComps; 
    LPSRestriction   lpContRestriction; 
    LPSRestriction   lpHierRestriction; 
} ADRPARM, FAR *LPADRPARM;

Describes the display and behavior of the common address dialog box.

cbABContEntryID
List of entries that can be added to the recipient wells.
lpABContEntryID
Address of an ENTRYID of a container that will supply the list of one-offs that can be added to the recipient wells of the address book common dialog box. The address book container that lpABContEntryID points to determines what is listed in the edit box within the dialog box that holds possible recipient names. Usually, lpABContEntryID is NULL, indicating the use of a custom recipient provider.
ulFlags
Bitmask of flags associated with various address dialog box options. The following flags can be set:
AB_RESOLVE Causes all names to be resolved after the address book dialog box is closed. The Resolve Name dialog box is displayed if there are ambiguous entries in the recipient list.
AB_SELECTONLY Disables the creation of custom recipient addresses and direct type-in entries for a recipient list. This flag is used only if the dialog box is modal.
ADDRESS_ONE Indicates that the user of the dialog box can select exactly one message recipient, instead of a number of recipients from a recipient list. This flag is valid only when cDestFields is zero. This flag is used only if the dialog box is modal.
DIALOG_MODAL Causes a modal dialog box to be displayed. The client must set either this flag or DIALOG_SDI, but not both.
DIALOG_OPTIONS Not supported by Internet Explorer Address Book.
DIALOG_SDI Causes a modeless dialog box to be displayed. This call returns immediately and thus does not modify the ADRLIST structure passed in. The caller must set either this flag or DIALOG_MODAL, but not both.
lpReserved
Reserved; must be zero.
ulHelpContext
Not supported by Internet Explorer Address Book. Should be zero.
lpszHelpFileName
Not supported by Internet Explorer Address Book. Should be NULL.
lpfnABSDI
Address of an Internet Explorer Address Book function based on the ACCELERATEABSDI (see MAPI documentation) prototype, or NULL. This member applies to the modeless version of the dialog box only, as indicated by the DIALOG_SDI flag being set.

Clients building an ADRPARM structure to pass to IAddrBook::Address must always set the lpfnABSDI member to NULL. If the DIALOG_SDI flag is set, Internet Explorer Address Book then sets it to a valid function before returning. Clients call this function from within their message loop to ensure that accelerators in the address book dialog box work. When the dialog box is dismissed and Internet Explorer Address Book calls the function pointed to by the lpfnDismiss member, clients should unhook the ACCELERATEABSDI function from their message loop.

lpfnDismiss
Address of a function based on the DISMISSMODELESS (see MAPI documentation) prototype, or NULL. This member applies only to the modeless version of the dialog box, as indicated by the DIALOG_SDI flag being set. Internet Explorer Address Book calls the DISMISSMODELESS function when the user dismisses the modeless address dialog box, informing a client calling IAddrBook::Address that the dialog box is no longer active.
lpvDismissContext
Address of the context information to be passed to the DISMISSMODELESS function pointed to by the lpfnDismiss member. This member applies to the modeless version of the dialog box only, as indicated by the DIALOG_SDI flag being set.
lpszCaption
Address of the text to be used as a caption for the address book dialog box.
lpszNewEntryTitle
Address of the text to be used as a new-entry prompt for an edit box in an address book dialog box.
lpszDestWellsTitle
Address of text to be used as a title for the set of recipient-name edit boxes that appears in the dialog box. This member is used only if the address book dialog box is modal.
cDestFields
Number of recipient-name edit boxes (that is, destination fields) in the address book dialog box. A number from 0 through 3 is typical. If the cDestFields member is zero and the ADDRESS_ONE flag is not set in ulFlags, the address book is open for browsing only.
nDestFieldFocus
Field in the address book dialog box that should have the initial focus when the dialog box appears. This value must be between 0 and the value of cDestFields minus 1.
lppszDestTitles
Address of an array of text titles to be displayed in the recipient-name edit boxes of the address book dialog box. The size of the array is the value of cDestFields. If the lppszDestTitles member is NULL, the IAddrBook::Address method chooses default titles.
lpulDestComps
Address of an array of recipient types, such as MAPI_TO, MAPI_CC, and MAPI_BCC, associated with each recipient-name edit box. The size of the array is the value of cDestFields. If the lpulDestComps member is NULL, the IAddrBook::Address method chooses default recipient types.
lpContRestriction
Not supported by Internet Explorer Address Book. Should be NULL.
lpHierRestriction
Not supported by Internet Explorer Address Book. Should be NULL.

ENTRYID

typedef struct _ENTRYID
{
    BYTE    abFlags[4];
    BYTE    ab[MAPI_DIM];
} ENTRYID, FAR *LPENTRYID;

Contains the entry identifier information for a MAPI object.

abFlags
Bitmask of flags that provide information describing the object.
ab[MAPI_DIM]
Indicates an array of binary data used by service providers. Client applications cannot use this array.

ENTRYLIST

typedef 
    SBinaryArray ENTRYLIST, 
    FAR *LPENTRYLIST;

The ENTRYLIST structure is an array of entry identifiers representing MAPI objects.

MAPI_PAB_Schema

The Internet Explorer Address Book schema is based upon the MAPI Personal Address Book, or (PAB) schema. The following properties are defined in table form. Additional properties can be added by client applications by using the named property methods: GetNamesFromIDs and GetIDsFromNames.

MAPI PAB Schema
Property name Property type Property identifier
PR_7BIT_DISPLAY_NAME PT_STRING8 0x39FF
PR_ACCOUNT PT_TSTRING 0x39FF
PR_ALTERNATE_RECIPIENT PT_BINARY 0x3A01
PR_ASSISTANT PT_TSTRING 0x3A30
PR_ASSISTANT_TELEPHONE_NUMBER PT_TSTRING 0x3A2E
PR_BEEPER_TELEPHONE_NUMBER PT_TSTRING PR_PAGER_TELEPHONE_NUMBER
PR_BIRTHDAY PT_SYSTIME 0x3A42
PR_BUSINESS_ADDRESS_CITY PT_TSTRING PR_LOCALITY
PR_BUSINESS_ADDRESS_COUNTRY PT_TSTRING PR_COUNTRY
PR_BUSINESS_ADDRESS_POST_OFFICE_BOX PT_TSTRING PR_POST_OFFICE_BOX
PR_BUSINESS_ADDRESS_POSTAL_CODE PT_TSTRING PR_POSTAL_CODE
PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE PT_TSTRING PR_STATE_OR_PROVINCE
PR_BUSINESS_ADDRESS_STREET PT_TSTRING PR_STREET_ADDRESS
PR_BUSINESS_FAX_NUMBER PT_TSTRING 0x3A24
PR_BUSINESS_HOME_PAGE PT_TSTRING 0x3A51
PR_BUSINESS_TELEPHONE_NUMBER PT_TSTRING 0x3A08
PR_BUSINESS_HOME_PAGE PT_TSTRING 0x3A51
PR_BUSINESS_TELEPHONE_NUMBER PT_TSTRING 0x3A08
PR_BUSINESS2_TELEPHONE_NUMBER PT_TSTRING 0x3A1B
PR_CALLBACK_TELEPHONE_NUMBER PT_TSTRING 0x3A02
PR_CAR_TELEPHONE_NUMBER PT_TSTRING 0x3A1E
PR_CELLULAR_TELEPHONE_NUMBER PT_TSTRING PR_MOBILE_TELEPHONE_NUMBER
PR_CHILDRENS_NAMES PT_MV_TSTRING 0x3A58
PR_COMMENT PT_TSTRING 0x3004
PR_COMPANY_MAIN_PHONE_NUMBER PT_TSTRING 0x3A57
PR_COMPANY_NAME PT_TSTRING 0x3A16
PR_COMPUTER_NETWORK_NAME PT_TSTRING 0x3A49
PR_CONTACT_ADDRTYPES PT_MV_TSTRING 0x3A54
PR_CONTACT_DEFAULT_ADDRESS_INDEX PT_LONG 0x3A55
PR_CONTACT_EMAIL_ADDRESSES PT_MV_TSTRING 0x3A56
PR_CONTACT_ENTRYIDS PT_MV_BINARY 0x3A53
PR_CONTACT_VERSION PT_CLSID 0x3A03
PR_CONVERSION_PROHIBITED PT_BOOLEAN 0x3A03
PR_COUNTRY PT_TSTRING 0x3A26
PR_CUSTOMER_ID PT_TSTRING 0x3A4A
PR_DEPARTMENT_NAME PT_TSTRING 0x3A18
PR_DISCLOSE_RECIPIENTS PT_BOOLEAN 0x3A04
PR_DISPLAY_NAME PT_TSTRING 0x3001
PR_DISPLAY_NAME_PREFIX PT_TSTRING 0x3A45
PR_EMAIL_ADDRESS PT_TSTRING 0x3003
PR_ENTRYID PT_BINARY 0x0FFF
PR_FTP_SITE PT_TSTRING 0x3A4C
PR_GENDER PT_SHORT 0x3A4D
PR_GENERATION PT_TSTRING 0x3A05
PR_GIVEN_NAME PT_TSTRING 0x3A06
PR_GOVERNMENT_ID_NUMBER PT_TSTRING 0x3A07
PR_HOBBIES PT_TSTRING 0x3A43
PR_HOME_ADDRESS_CITY PT_TSTRING 0x3A59
PR_HOME_ADDRESS_COUNTRY PT_TSTRING 0x3A5A
PR_HOME_ADDRESS_POST_OFFICE_BOX PT_TSTRING 0x3A5E
PR_HOME_ADDRESS_POSTAL_CODE PT_TSTRING 0x3A5B
PR_HOME_ADDRESS_STATE_OR_PROVINCE PT_TSTRING 0x3A5C
PR_HOME_ADDRESS_STREET PT_TSTRING 0x3A5D
PR_HOME_FAX_NUMBER PT_TSTRING 0x3A25
PR_HOME_TELEPHONE_NUMBER PT_TSTRING 0x3A09
PR_HOME2_TELEPHONE_NUMBER PT_TSTRING 0x3A2F
PR_INITIALS PT_TSTRING 0x3A0A
PR_ISDN_NUMBER PT_TSTRING 0x3A2D
PR_KEYWORD PT_TSTRING 0x3A0B
PR_LANGUAGE PT_TSTRING 0x3A0C
PR_LOCALITY PT_TSTRING 0x3A27
PR_LOCATION PT_TSTRING 0x3A0D
PR_MAIL_PERMISSION PT_BOOLEAN 0x3A0E
PR_MANAGER_NAME PT_TSTRING 0x3A4E
PR_MHS_COMMON_NAME PT_TSTRING 0x3A0F
PR_MIDDLE_NAME PT_TSTRING 0x3A44
PR_MOBILE_TELEPHONE_NUMBER PT_TSTRING 0x3A1C
PR_NICKNAME PT_TSTRING 0x3A4F
PR_OBJECT_TYPE PT_LONG 0xFFE
PR_OFFICE_LOCATION PT_TSTRING 0x3A19
PR_OFFICE_TELEPHONE_NUMBER PT_TSTRING PR_BUSINESS_TELEPHONE_NUMBER
PR_OFFICE2_TELEPHONE_NUMBER PT_TSTRING PR_BUSINESS2_TELEPHONE_NUMBER
PR_ORGANIZATIONAL_ID_NUMBER PT_TSTRING 0x3A10
PR_ORIGINAL_DISPLAY_NAME PT_TSTRING 0x3A13
PR_ORIGINAL_ENTRYID PT_BINARY 0x3A12
PR_ORIGINAL_SEARCH_KEY PT_BINARY 0x3A14
PR_OTHER_ADDRESS_CITY PT_TSTRING 0x3A5F
PR_OTHER_ADDRESS_COUNTRY PT_TSTRING 0x3A60
PR_OTHER_ADDRESS_POST_OFFICE_BOX PT_TSTRING 0x3A64
PR_OTHER_ADDRESS_POSTAL_CODE PT_TSTRING 0x3A61
PR_OTHER_ADDRESS_STATE_OR_PROVINCE PT_TSTRING 0x3A62
PR_OTHER_ADDRESS_STREET PT_TSTRING 0x3A63
PR_OTHER_TELEPHONE_NUMBER PT_TSTRING 0x3A1F
PR_PAGER_TELEPHONE_NUMBER PT_TSTRING 0x3A21
PR_PERSONAL_HOME_PAGE PT_TSTRING 0x3A50
PR_POST_OFFICE_BOX PT_TSTRING 0x3A2B
PR_POSTAL_ADDRESS PT_TSTRING 0x3A15
PR_POSTAL_CODE PT_TSTRING 0x3A2A
PR_PREFERRED_BY_NAME PT_TSTRING 0x3A47
PR_PRIMARY_FAX_NUMBER PT_TSTRING 0x3A23
PR_PRIMARY_TELEPHONE_NUMBER PT_TSTRING 0x3A1A
PR_PROFESSION PT_TSTRING 0x3A46
PR_RADIO_TELEPHONE_NUMBER PT_TSTRING 0x3A1D
PR_SEND_INTERNET_ENCODING PT_LONG 0x3A71
PR_SEND_RICH_INFO PT_BOOLEAN 0x3A40
PR_SPOUSE_NAME PT_TSTRING 0x3A48
PR_STATE_OR_PROVINCE PT_TSTRING 0x3A28
PR_STREET_ADDRESS PT_TSTRING 0x3A29
PR_SURNAME PT_TSTRING 0x3A11
PR_TELEX_NUMBER PT_TSTRING 0x3A2C
PR_TITLE PT_TSTRING 0x3A17
PR_TRANSMITABLE_DISPLAY_NAME PT_TSTRING 0x3A20
PR_TTYTDD_PHONE_NUMBER PT_TSTRING 0x3A4B
PR_USER_CERTIFICATE PT_BINARY 0x3A22
PR_USER_X509_CERTIFICATE PT_MV_BINARY 0x3A70
PR_WEDDING_ANNIVERSARY PT_SYSTIME 0x3A41

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.