IPersistMessage::GetLastError

The IPersistMessage::GetLastError method returns a MAPIERROR structure containing information about the previous error in the form object.

Quick Info

See IPersistMessage : IUnknown.

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

Parameters

hResult
[in] HRESULT data type containing the error value generated in the previous method call.
ulFlags
[in] Bitmask of flags that controls the type of the returned strings. 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] Pointer to a pointer to a MAPIERROR structure containing version, component, and context information for the error. The lppMAPIError parameter can be set to NULL if the form cannot supply a MAPIERROR structure with appropriate information.

Return Values

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 only supports 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 make use of the MAPIERROR structure pointed to by the lppMAPIError parameter — if the form supplies one — 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 Using Extended Errors.

See Also

MAPIERROR, MAPIFreeBuffer