IABTable::SeekRowApprox
Internet Explorer Address Book Interfaces

IABTable::SeekRowApprox


HRESULT SeekRowApprox(
    ULONG ulNumerator,
    ULONG ulDenominator
);

Moves the cursor to an approximate fractional position in a table.

ulNumerator
Numerator of the fraction representing the table position. If the ulNumerator parameter is zero, it points to the beginning of the table regardless of the denominator value. If ulNumerator is equal to the ulDenominator parameter, the cursor is positioned after the last table row.
ulDenominator
Denominator of the fraction representing the table position. The ulDenominator parameter cannot be zero.

IABTable::SetCollapseState

Currently not implemented by Internet Explorer Address Book.

IABTable::SetColumns

HRESULT SetColumns(
    LPSPropTagArray lpPropTagArray,
    ULONG ulFlags
);

Defines the order of property values, and the order of properties to appear as columns in a table.

lpPropTagArray
Address of an SPropTagArray structure containing a counted array of property tags corresponding to the desired table columns. The lpPropTagArray parameter cannot be set to NULL; every table must have one column as a minimum.
ulFlags
Flags specifying asynchronous operation. For Internet Explorer Address Book, this value must be zero.

IABTable::SortTable

HRESULT SortTable(
    LPSSortOrderSet lpSortCriteria,
    ULONG ulFlags
);

Sorts the table rows based on the sort criteria provided.

lpSortCriteria
Address of an SSortOrderSet structure that contains the sort criteria. Passing an SSortOrderSet structure containing zero columns indicates that sorting the table is not desired.
ulFlags
Must be zero in Internet Explorer Address Book.

IABTable::Unadvise

Currently not implemented by Internet Explorer Address Book.

IABTable::WaitForCompletion

Currently not implemented by Internet Explorer Address Book.

IAddrBook

The IAddrBook interface supports access to the Internet Explorer Address Book and includes operations such as displaying common dialog boxes, opening containers, messaging users (contacts) and distribution lists (groups) in the address book, and performing name resolution. The organization of the method list for IAddrBook is arranged in v-table order.

IAddrBook methods
GetLastError
SaveChanges
GetProps
GetPropList
OpenProperty
SetProps
DeleteProps
CopyTo
CopyProps
GetNamesFromIDs
GetIDsFromNames
OpenEntry
CompareEntryIDs
Advise
Unadvise
CreateOneOff
NewEntry
ResolveName
Address
Details
RecipOptions
QueryDefaultRecipOpt
GetPAB
SetPAB
GetDefaultDir
SetDefaultDir
GetSearchPath
SetSearchPath
PrepareRecips

IAddrBook::Address

HRESULT Address(
    ULONG FAR * lpulUIParam
    LPADRPARM lpAdrParms,
    LPADRLIST FAR * lppAdrList
);

Displays user interface to browse the address book contents and to select recipients from the address book. The UI behavior is specified by a number of flags and parameters in lpAdrParms. Internet Explorer Address Book will not support some of the customization features of the MAPI IAddrBook::Address method. Internet Explorer Address Book will also not support the MAPI Send Options dialog button.

lpulUIParam
Input-output parameter containing the handle of the parent window of the dialog box. On input, a window handle must always be passed. On output, if the DIALOG_SDI flag is set in the lpAdrParms parameter's ADRPARM structure, the window handle of the modeless dialog box is returned.
lpAdrParms
Input-output parameter pointing to an ADRPARM structure that controls the presentation and behavior of the addressing dialog box.
lppAdrList
Input-output parameter that on input points to a variable holding a pointer to an ADRLIST structure holding the current recipient list. On output, the lppAdrList parameter points to a variable where the pointer to an ADRPARM structure updated by IAddrBook::Address is stored. lppAdrList can be NULL on input.

IAddrBook::Advise

Currently not implemented by Internet Explorer Address Book.

IAddrBook::CompareEntryIDs

Currently not implemented by Internet Explorer Address Book.

IAddrBook::CopyProps

Currently not implemented by Internet Explorer Address Book.

IAddrBook::CopyTo

Currently not implemented by Internet Explorer Address Book.

IAddrBook::CreateOneOff

HRESULT CreateOneOff(
    LPTSTR lpszName,
    LPTSTR lpszAdrType,
    LPTSTR lpszAddress,
    ULONG ulFlags,
    ULONG FAR * lpcbEntryID,
    LPENTRYID FAR * lppEntryID
);

Creates an entry identifier for a one-off address.

lpszName
Pointer to the display name of the recipient. The lpszName parameter can be NULL. the PR_DISPLAY_NAME property. The lpszName parameter can be NULL.
lpszAdrType
Pointer to the address type of the recipient, such as FAX or SMTP. The lpszAdrType parameter cannot be NULL.
lpszAddress
Pointer to the address of the recipient. The lpszAddress parameter cannot be NULL.
ulFlags
Bitmask of flags that affect the one-off recipient. The following flags can be set:
MAPI_SEND_NO_RICH_INFO Indicates the recipient cannot handle formatted message content. If MAPI_SEND_NO_RICH_INFO is set, MAPI sets the recipient's PR_SEND_RICH_INFO property to FALSE. If MAPI_SEND_NO_RICH_INFO is not set, MAPI sets this property to TRUE unless the recipient's messaging address pointed to by lpszAddress is interpreted to be an Internet address. In this case, MAPI sets PR_SEND_RICH_INFO to FALSE.
MAPI_UNICODE Displays the name, address type, and address are in Unicode format. If the MAPI_UNICODE flag is not set, these strings are in ANSI format.
lpcbEntryID
Address of the count of bytes in the entry identifier pointed to by the lppEntryID parameter.
lppEntryID
Address of a pointer to the entry identifier for the one-off recipient.

IAddrBook::DeleteProps

Currently not implemented by Internet Explorer Address Book.

IAddrBook::Details

HRESULT Details(
    ULONG FAR * lpulUIParam,
    LPFNDISMISS lpfnDismiss,
    LPVOID lpvDismissContext,
    ULONG cbEntryID,
    LPENTRYID lpEntryID,
    LPFNBUTTON lpfButtonCallback,
    LPVOID lpvButtonContext,
    LPTSTR lpszButtonText,
    ULONG ulFlags
);

Displays a dialog box showing details for, and allowing editing of, a particular entry in Internet Explorer Address Book. Internet Explorer Address Book does not support the passing in a callback function for buttons through the lpfButtonCallback parameter.

lpulUIParam
Returned HWND of the parent window of the returned dialog box.
lpfnDismiss
DISMISSMODELESS function pointer. This function is called when the modeless dialog box is dismissed. (Not implemented at this time.)
lpvDismissContext
Data passed to lpfnDismiss.
cbEntryID
Size, in bytes, of the entry identifier pointed to by the lpEntryID parameter.
lpEntryID
Address of an entry identifier for the entry for which details are displayed.
lpfButtonCallback
Not supported by Internet Explorer Address Book; must be NULL.
lpvButtonContext
Not supported by Internet Explorer Address Book; must be NULL.
lpszButtonText
Not supported by Internet Explorer Address Book; must be NULL.
ulFlags
Not supported by Internet Explorer Address Book; must be zero.

IAddrBook::GetDefaultDir

Currently not implemented by Internet Explorer Address Book.

IAddrBook::GetIDsFromNames

Currently not implemented by Internet Explorer Address Book.

IAddrBook::GetLastError

Currently not implemented by Internet Explorer Address Book.

IAddrBook::GetNamesFromIDs

Currently not implemented by Internet Explorer Address Book.

IAddrBook::GetPAB

HRESULT GetPAB(
    ULONG FAR * lpcbEntryID,
    LPENTRYID FAR * lppEntryID
);

Returns the ENTRYID of the default address book container.

lpcbEntryID
Address of the value that contains the size, in bytes, for the identifier pointed to by the lppEntryID parameter.
lppEntryID
Returned ENTRYID of the default address book container.

IAddrBook::GetPropList

Currently not implemented by Internet Explorer Address Book.

IAddrBook::GetProps

Currently not implemented by Internet Explorer Address Book.

IAddrBook::GetSearchPath

HRESULT GetSearchPath(
    ULONG ulFlags,
    LPSRowSet FAR * lppSearchPath
);

Returns an ordered list of entry identifiers of containers to be included in the name resolution process initiated by the ResolveName method.

ulFlags
Bitmask of flags that control the type of the strings returned in the search path. The following flag can be set:
MAPI_UNICODE Specifies returned strings are in Unicode format. If this flag is not set, the strings are in ANSI format.
lppSearchPath
Address of a pointer to an ordered list of container entry identifiers. GetSearchPath stores the ordered list in an SRowSet structure. If there are no containers in the address book hierarchy, zero is returned in the SRowSet structure.

IAddrBook::NewEntry

HRESULT NewEntry(
    ULONG ulUIParam,
    ULONG ulFlags,
    ULONG cbEIDContainer,
    LPENTRYID lpEIDContainer,
    ULONG cbEIDNewEntryTpl,
    LPENTRYID lpEIDNewEntryTpl,
    ULONG FAR * lpcbEIDNewEntry,
    LPENTRYID FAR * lppEIDNewEntry
);

Adds a new entry to the address book.

ulUIParam
Handle of the parent window for the dialog box.
ulFlags
Reserved; must be zero.
cbEIDContainer
Size, in bytes, for the entry identifier pointed to by the lpEIDContainer parameter.
lpEIDContainer
Entry identifier of the container where the new address is to be created. If NULL, creates the entry in the root container. This is different than the MAPI IAddrBook::NewEntry method.
cbEIDNewEntryTpl
Not supported by Internet Explorer Address Book; must be zero.
lpEIDNewEntryTpl
Not supported by Internet Explorer Address Book; must be NULL.
lpcbEIDNewEntry
Address for the value indicating the size, in bytes, for the entry identifier pointed to by the lppEIDNewEntry parameter.
lppEIDNewEntry
Returned entry identifier of the new entry.

IAddrBook::OpenEntry

HRESULT OpenEntry(
    ULONG cbEntryID,
    LPENTRYID lpEntryID,
    LPCIID lpInterface,
    ULONG ulFlags,
    ULONG FAR * lpulObjType,
    LPUNKNOWN FAR * lppUnk
);

Opens a container or mail user object and returns a pointer to the object.

cbEntryID
Size, in bytes, for the entry identifier to open.
lpEntryID
Entry identifier of the object to open (NULL for the root address book container).
lpInterface
Address of the interface identifier (IID) for the object to open. Pass NULL to specify the standard interface for the object.
ulFlags
Bitmask containing the object access flags. Default is read access only. The following flags can be used for modifications:
MAPI_BEST_ACCESS Specifies to open with best available access rights.
MAPI_MODIFY Requests read/write access.
MAPI_DEFERRED_ERRORS Currently not supported by Internet Explorer Address Book.
lpulObjType
Returned object type.
lppUnk
Returned object pointer.

IAddrBook::OpenProperty

Currently not implemented by Internet Explorer Address Book.

IAddrBook::PrepareRecips

HRESULT PrepareRecips(
    ULONG ulFlags,
    LPSPropTagArray lpSPropTagArray,
    LPADRLIST lpRecipList
);

Prepares a recipient list for later use by the messaging system.

ulFlags
Reserved; must be zero.
lpSPropTagArray
Address of an SPropTagArray structure containing an array of property tags indicating properties that require updating, if any. The lpSPropTagArray parameter can be NULL.
lpRecipList
Address of an ADRLIST structure holding the list of recipients.

IAddrBook::QueryDefaultRecipOpt

Currently not implemented by Internet Explorer Address Book.

IAddrBook::RecipOptions

Currently not implemented by Internet Explorer Address Book.

IAddrBook::ResolveName

HRESULT ResolveName(
    ULONG ulUIParam,
    ULONG ulFlags,
    LPTSTR lpszNewEntryTitle,
    LPADRLIST lpAdrList
);

Resolves a partial recipient list to full addresses.

ulUIParam
Handle of the parent window.
ulFlags
MAPI_DIALOG flag. Displays a dialog box to prompt the user for additional name-resolution information. If this flag is not set, no dialog box is displayed.
lpszNewEntryTitle
Pointer to text for the title of the control in the dialog box that prompts the user to enter a recipient. The lpszNewEntryTitle parameter can be NULL.
lpAdrList
On input, the address list the list of recipients to resolve. On output, contains the list of resolved recipients.

This method optionally displays a dialog box if ambiguous matches are found. ResolveName goes through the address list passed in the lpAdrList parameter, finds all the names not yet resolved, resolves them, and returns the appropriately modified address list. The address list passed in can be one created using the Address method. If a recipient is ambiguous and the MAPI_DIALOG flag is not specified, ResolveName returns MAPI_E_AMBIGUOUS_RECIP.

Note The ADRENTRY items in ADRLIST should be separately allocated, not allocated with AllocateMore. When ResolveNames replaces an entry, it expects to free the ADRENTRY structure by using FreeBuffer and allocate a new one by using AllocateBuffer.

IAddrBook::SaveChanges

Currently not implemented by Internet Explorer Address Book.

IAddrBook::SetDefaultDir

Currently not implemented by Internet Explorer Address Book.

IAddrBook::SetPAB

Currently not implemented by Internet Explorer Address Book.

IAddrBook::SetProps

Currently not implemented by Internet Explorer Address Book.

IAddrBook::SetSearchPath

Currently not implemented by Internet Explorer Address Book.

IAddrBook::Unadvise

Currently not implemented by Internet Explorer Address Book.

IDistList

The IDistList interface is used to provide access to distribution lists in modifiable address book containers. This interface can create, copy, and delete distribution lists, in addition to performing name resolution. The organization of the method list for IDistList is arranged in v-table order.

IDistList methods
GetLastError
SaveChanges
GetProps
GetPropList
OpenProperty
SetProps
DeleteProps
CopyTo
CopyProps
GetNamesFromIDs
GetIDsFromNames
GetContentsTable
GetHierarchyTable
OpenEntry
SetSearchCriteria
GetSearchCriteria
CreateEntry
CopyEntries
DeleteEntries
ResolveNames

IDistList::CopyEntries

Currently not implemented by Internet Explorer Address Book.

IDistList::CopyProps

Currently not implemented by Internet Explorer Address Book.

IDistList::CopyTo

Currently not implemented by Internet Explorer Address Book.

IDistList::CreateEntry

HRESULT CreateEntry(
    ULONG   cbEntryID,
    LPENTRYID   lpEntryID,
    ULONG   ulCreateFlags,
    LPMAPIPROP FAR  * lppMAPIPropEntry
);

Creates a new entry in the distribution list container. Internet Explorer Address Book supports creation of both IMailUser and IDistList objects.

cbEntryID
Size of the existing entry identifier to copy from, stored in the lpEntryID parameter. lpEntryID parameter.
lpEntryID
Entry identifier of the object to copy from.
ulCreateFlags
Bitmask that controls the level of duplicate entries. Can be one of the following values:
CREATE_CHECK_DUP_LOOSE Indicates a loose level should be used for duplicate entry checking, which returns more matches than setting a strict level with the CREATE_CHECK_DUP_STRICT flag. For example, a provider can define a loose match as any two entries having the same display name, while defining a strict match as any two entries having the same display name and messaging address.
CREATE_CHECK_DUP_STRICT Indicates a strict level should be used for duplicate entry checking, which returns fewer matches than setting a loose level with the CREATE_CHECK_DUP_LOOSE flag.
CREATE_REPLACE Indicates that duplicate entries replace existing entries within a container.
lppMAPIPropEntry
Returned property interface to the new object.

IDistList::DeleteEntries

HRESULT DeleteEntries(
    LPENTRYLIST  lpEntries,
    ULONG  ulFlags
);

Removes one or more entries from the distribution list.

lpEntries
Address of an array of ENTRYLIST structures containing entry identifiers representing the entries being deleted from the distribution list.
ulFlags
Reserved; must be zero.

IDistList::DeleteProps

HRESULT DeleteProps(
    LPSPropTagArray  lpPropTagArray,
    LPSPropProblemArray FAR *  lppProblems
);

Deletes property values from a distribution list object.

lpPropTagArray
Returned property tag array to be deleted.
lppProblems
Returned problem array. Must be freed by the caller if a non-NULL value is returned.

IDistList::GetContentsTable

HRESULT GetContentsTable(
    ULONG   ulFlags,
    LPMAPITABLE FAR *  lppTable
);

Returns the address to the contents table of the distribution list.

ulFlags
Bitmask of flags that control how the contents table is returned. The following flags can be set:
MAPI_DEFERRED_ERRORS Currently not supported by Internet Explorer Address Book.
MAPI_UNICODE Indicates the returned strings are in Unicode format. If this flag is not set, the strings are in ANSI format. Not supported in the first version of Internet Explorer Address Book.
lppTable
Returned table object containing the contents table.

IDistList::GetHierarchyTable

Currently not implemented by Internet Explorer Address Book.

IDistList::GetIDsFromNames

HRESULT GetIDsFromNames(
    ULONG cPropNames,
    LPMAPINAMEID FAR * lppPropNames,
    ULONG ulFlags,
    LPSPropTagArray FAR * lppPropTags
);

Provides the property identifiers that correspond to one or more property names.

cPropNames
Value that represents the number of property names pointed to by the lppPropNames parameter. If lppPropNames is NULL, the cPropNames parameter must be zero.
lppPropNames
Address of an array of property names, or NULL. Passing NULL requests property identifiers for all property names in all property sets about which the object has information. The lppPropNames parameter must not be NULL if the MAPI_CREATE flag is set in the ulFlags parameter.
ulFlags
Bitmask of flags that indicate how the property identifiers should be returned. The following flag can be set:
MAPI_CREATE Assigns a property identifier to one or more of the names included in the property name array pointed to by lppPropNames if one has not yet been assigned. Internally registers the identifier in the name-to-identifier mapping table.
lppPropTags
Returned array structure of property tags containing existing or newly assigned property identifiers. The property types for the property tags in this array are set to PT_UNSPECIFIED.

IDistList::GetLastError

Currently not implemented by Internet Explorer Address Book.

IDistList::GetNamesFromIDs

Currently not implemented by Internet Explorer Address Book.

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