MAPIResolveName
The MAPIResolveName
function transforms a message recipient s name as entered by a user to an
unambiguous address list entry.
Quick Info
|
Header
file: |
MAPI.H |
ULONG FAR PASCAL MAPIResolveName(
|
LHANDLE lhSession, |
|
|
ULONG ulUIParam,
|
|
|
LPTSTR lpszName, |
|
|
FLAGS flFlags, |
|
|
ULONG ulReserved,
|
|
|
lpMapiRecipDesc FAR * lppRecip |
|
|
) |
|
Parameters
lhSession
[in] Handle
that represents a Simple MAPI session or zero. If the value of the lhSession
parameter is zero, MAPI logs on the user and creates a session that exists only
for the duration of the call. This temporary session can be an existing shared
session or a new one. If necessary, the logon dialog box is displayed.
ulUIParam
[in] Parent
window handle or zero, indicating that if a dialog box is displayed, it is
application modal. If the ulUIParam parameter contains a parent window
handle, it is of type HWND (cast to a ULONG). If no dialog box is displayed
during the call, ulUIParam is ignored.
lpszName
[in] Pointer
to the name to be resolved.
flFlags
[in] Bitmask
of option flags. The following flags can be set:
MAPI_AB_NOMODIFY
The caller is
requesting that the dialog box be read-only, prohibiting changes. MAPIResolveName
ignores this flag if MAPI_DIALOG is not set.
MAPI_DIALOG
A dialog box
should be displayed for name resolution. If this flag is not set and the name
cannot be resolved, MAPIResolveName returns the
MAPI_E_AMBIGUOUS_RECIPIENT value.
MAPI_LOGON_UI
A dialog box
should be displayed to prompt the user to log on if required. When the
MAPI_LOGON_UI flag is not set, the client application does not display a logon
dialog box and returns an error value if the user is not logged on.
MAPI_NEW_SESSION
An attempt
should be made to create a new session rather than acquire the environment s
shared session. If the MAPI_NEW_SESSION flag is not set, MAPIResolveName
uses an existing shared session.
ulReserved
Reserved;
must be zero.
lppRecip
[out] Pointer
to a recipient structure if the resolution results in a single match. The
recipient structure contains the resolved name and related information. Memory
for this structure must be freed using the MAPIFreeBuffer function.
Return Values
MAPI_E_AMBIGUOUS_RECIPIENT
The recipient
requested has not been or could not be resolved to a unique address list entry.
MAPI_E_UNKNOWN_RECIPIENT
The recipient
could not be resolved to any address. The recipient might not exist or might be
unknown.
MAPI_E_FAILURE
One or more
unspecified errors occurred. The name was not resolved.
MAPI_E_INSUFFICIENT_MEMORY
There was
insufficient memory to proceed. The name was not resolved.
MAPI_E_LOGIN_FAILURE
There was no
default logon, and the user failed to log on successfully when the logon dialog
box was displayed. The name was not resolved.
MAPI_E_NOT_SUPPORTED
The operation
was not supported by the underlying messaging system.
MAPI_E_USER_ABORT
The user
canceled one of the dialog boxes. The name was not resolved.
SUCCESS_SUCCESS
The call
succeeded and the name was resolved.
Remarks
The MAPIResolveName
function resolves a message recipient s name (as entered by a user) to an
unambiguous address list entry, optionally prompting the user to choose between
possible entries, if necessary. A recipient descriptor structure containing
fully resolved information about the entry is allocated and returned. The
caller should free this MAPIRecipDesc structure at some point by calling the MAPIFreeBuffer function. If MAPIResolveName
returns an error value, it is not necessary to deallocate memory with MAPIFreeBuffer.
See Also