HrOpenABEntryUsingDefaultContext

Applies to: Office 2010 | Outlook 2010 | Visual Studio

Performs the same function as HrOpenABEntryWithExchangeContext except that it uses the legacy emsmdbUID as the pEmsmdbUID parameter. Do not use this function unless you cannot obtain the correct emsmdbUID for the call to HrOpenABEntryWithExchangeContext.

Header file:

abhelp.h

Implemented by:

MAPI

Called by:

Client applications and service providers

HRESULT HrOpenABEntryUsingDefaultContext(
  LPMAPISESSION pmsess,
  LPADRBOOK pAddrBook,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  ULONG FAR * lpulObjType,
  LPUNKNOWN FAR * lppUnk
);

Parameters

  • pmsess
    [in] The logged on IMAPISession. It cannot be NULL.

  • pAddrBook
    [in] The address book used to open the entry identifier. It cannot be NULL.

  • cbEntryID
    [in] The byte count of the entry identifier specified by the lpEntryID parameter.

  • lpEntryID
    [in] A pointer to the entry identifier that represents the address book entry to open.

  • lpInterface
    [in] A pointer to the interface identifier (IID) of the interface that is used to access the open entry. Passing NULL returns the standard interface of the object. For messaging users, the standard interface is IMailUser : IMAPIProp. For distribution lists it is IDistList : IMAPIContainer, and for containers it is IABContainer : IMAPIContainer. Callers can set lpInterface to the appropriate standard interface or an interface in the inheritance hierarchy.

  • ulFlags
    [in] A bitmask of flags that controls how the entry is opened. The following flags can be set:

    • MAPI_BEST_ACCESS
      Requests that the entry be opened with the maximum allowed network and client permissions. For example, if the client has read and write permission, the address book provider attempts to open the entry with read and write permission. The client can retrieve the access level that was granted by calling the IMAPIProp::GetProps method of the open entry and retrieving the PR_ACCESS_LEVEL (PidTagAccessLevel) property.

    • MAPI_CACHE_ONLY
      Uses only the offline address book to perform name resolution. For example, you can use this flag to allow a client application to open the global address list (GAL) in cached exchange mode and access an entry in that address book from the cache without creating traffic between the client and the server. This flag is supported only by the Exchange address book provider.

    • MAPI_DEFERRED_ERRORS
      Allows the call to succeed, potentially before the entry is fully open and available, implying that subsequent calls to the entry might return an error.

    • MAPI_GAL_ONLY
      Uses only the GAL to perform name resolution. This flag is supported only by the Exchange address book provider.

    • MAPI_MODIFY
      Requests that the entry be opened with read and write permission. Because entries are opened with read-only access by default, clients should not assume that read and write permission was granted regardless of whether MAPI_MODIFY is set.

    • MAPI_NO_CACHE
      Does not use the offline address book to perform name resolution. This flag is supported only by the Exchange address book provider.

  • lpulObjType
    [out] A pointer to the type of the opened entry.

  • lppUnk
    [out] A pointer to a pointer of the opened entry.