Applies to: Outlook 2013 | Outlook 2016

Returns a MAPIERROR structure that contains information about the previous support object error.

HRESULT GetLastError(
  HRESULT hResult,
  ULONG ulFlags,



[in] A handle to the error value generated in the previous method call for the support object.


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


The strings in the MAPIERROR structure returned in the lppMAPIError parameter are in Unicode format. If the MAPI_UNICODE flag is not set, the strings are in ANSI format.


[out] A pointer to a pointer to the MAPIERROR structure that contains version, component, and context information for the error. The lppMAPIError parameter can be set to NULL if a MAPIERROR structure with appropriate error information cannot be provided.

Return value


The call succeeded and returned the expected value or values.


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


The IMAPISupport::GetLastError method is implemented for all support objects. Callers can provide their users with detailed information about the error by including the data from the MAPIERROR structure in a dialog box.

Notes to callers

You can use the pointer to the MAPIERROR structure, if MAPI supplies one, in the lppMAPIError parameter only if GetLastError returns S_OK. Sometimes MAPI cannot determine what the last error was or it has nothing more to report about the error. In this situation, lppMAPIError returns a pointer to NULL instead.

For more information about the GetLastError method, see MAPI Extended Errors.

To release all the memory allocated by MAPI, call the MAPIFreeBuffer function for the returned MAPIERROR structure.

See also



IMAPISupport : IUnknown

MAPI Extended Errors