Applies to: Outlook 2013 | Outlook 2016

Returns a MAPIERROR structure that contains information about the previous button control error.

HRESULT GetLastError(
  HRESULT hResult,
  ULONG ulFlags,



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


[in] A bitmask of flags that controls the type of the 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 a MAPIERROR structure that contains version, component, and context information for the error. The lppMAPIError parameter can be set to NULL if the provider cannot supply a MAPIERROR structure with appropriate information.

Return value


The call succeeded and has 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.


Service providers implement the IMAPIControl::GetLastError method to supply information about a prior method call that failed. MAPI can give users detailed information about the error by displaying the data from the MAPIERROR structure in a message or dialog box.

Notes to implementers

You do not need to have information to include in the MAPIERROR structure for every error. It may not be possible to determine what the previous error was. If you have information, return S_OK and the appropriate data in the MAPIERROR structure. If no information is available, return S_OK and a pointer to NULL for the lppMAPIError parameter.

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

See also



IMAPIControl : IUnknown