The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.


This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Defines a callback function that MAPI calls to activate an optional button control in an address book dialog box. This button is typically a Details button.

Header file:


Defined function implemented by:

Service providers

Defined function called by:


  ULONG_PTR ulUIParam,
  LPVOID lpvContext,
  ULONG cbEntryID,
  LPENTRYID lpSelection,
  ULONG ulFlags


[in] Handle of the parent windows for any dialog boxes or windows this function displays.


[in] Pointer to an arbitrary value passed to the callback function when MAPI calls it. This value can represent an address of significance to the client application. Typically, for C++ code, lpvContext represents a pointer to a C++ object.


[in] Size, in bytes, of the entry identifier pointed to by the lpSelection parameter.


[in] Pointer to the entry identifier defining the selection in the dialog box.


[in] Reserved; must be zero.


The call succeeded and has returned the expected value or values.

Client applications call a callback function based on the LPFNBUTTON prototype to define a button in a details dialog box. The client passes a pointer to the callback function in calls to the IAddrBook::Details method.

Service providers call a hook function based on the LPFNBUTTON prototype to define a button in a details dialog box. The provider passes a pointer to this hook function in calls to the IMAPISupport::Details method.

In both cases, when the dialog box is displayed and the user chooses the defined button, MAPI calls LPFNBUTTON.