Applies to: Outlook 2013 | Outlook 2016

Returns a MAPIERROR structure that contains information about the previous address book provider 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 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 address book provider does not support Unicode, or MAPI_UNICODE was not set and the address book provider supports only Unicode.


Address book providers implement the GetLastError method to supply information about a prior method call that failed. 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 MAPIERROR structure pointed to by the lppMAPIError parameter if the address book provider supplies the structure and only if GetLastError returns S_OK. Sometimes the address book provider cannot determine what the last error was or has nothing more to report about the error. In this situation, the address book provider returns a pointer to NULL in lppMAPIError instead.

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

See also



IABLogon : IUnknown