Last modified: July 23, 2011

Applies to: Outlook

Presents a dialog box that enables the user to select multiple forms, and returns an array of form information objects that describe those forms.

HRESULT SelectMultipleForms(
  ULONG_PTR ulUIParam,
  ULONG ulFlags,
  LPCSTR pszTitle,


[in] A handle to the parent window of the displayed dialog box.


[in] A bitmask of flags that controls the type of the passed-in strings. The following flag can be set:


The passed-in strings are in Unicode format. If the MAPI_UNICODE flag is not set, the strings are in ANSI format.


[in] A pointer to a string that contains the caption of the dialog box. If the pszTitle parameter is NULL, the form library provider that provides the forms supplies a default caption.


[in] A pointer to the folder from which to select the forms. If the pfld parameter is NULL, the forms are selected from the local, personal, or organization form container.


[in] A pointer to an array of form information objects that are preselected for the user.


[out] A pointer to a pointer to the returned array of form information objects.


The call succeeded and returned the expected value or values.


Either the MAPI_UNICODE flag was set and the implementation does not support Unicode, or MAPI_UNICODE was not set and the implementation supports only Unicode.


The user canceled the operation, typically by clicking the Cancel button in the dialog box.

Form viewers call the IMAPIFormMgr::SelectMultipleForms method to first present a dialog box that enables the user to select multiple forms and then to retrieve an array of form information objects that describe the selected forms. The SelectMultipleForms dialog box displays all forms, whether or not they are hidden (that is, whether or not their hidden properties are clear).

If a form viewer passes the MAPI_UNICODE flag in the ulFlags parameter, all strings are Unicode. Form library providers that do not support Unicode strings should return MAPI_E_BAD_CHARWIDTH if MAPI_UNICODE is passed.