IPersistMessage::GetLastError

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.

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

HRESULT GetLastError(
  HRESULT hResult,
  ULONG ulFlags,
  LPMAPIERROR FAR * lppMAPIError
);

Parameters

  • hResult
    [in] An HRESULT data type that contains the error value generated in the previous method call.

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

    • MAPI_UNICODE
      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.
  • lppMAPIError
    [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 form cannot supply appropriate information for a MAPIERROR structure.

Return Value

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

  • MAPI_E_BAD_CHARWIDTH
    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.

Remarks

Form objects implement the IPersistMessage::GetLastError method to supply information about a prior method call that failed. Form viewers can provide their users with detailed information about the error by including the data from the MAPIERROR structure in a dialog box.

A call to GetLastError does not affect the state of the form. When GetLastError returns, the form remains in the state that it was in before the call was made.

Notes to Callers

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

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

See Also

Reference

MAPIERROR

MAPIFreeBuffer

IPersistMessage : IUnknown