Поделиться через


IMAPIProp::GetLastError

Область применения: Outlook 2013 | Outlook 2016

Возвращает структуру MAPIERROR , содержащую сведения о предыдущей ошибке.

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

Параметры

Hresult

[в] Дескриптор кода ошибки, созданного в предыдущем вызове метода.

ulFlags

[в] Битовая маска флагов, указывающая формат текста, возвращаемого в структуре MAPIERROR , на которую указывает lppMAPIError. Можно задать следующий флаг:

MAPI_UNICODE

Строки должны быть в формате Юникода. Если флаг MAPI_UNICODE не задан, строки должны иметь формат ANSI.

lppMAPIError

[out] Указатель на указатель на структуру MAPIERROR , содержащую сведения о версии, компоненте и контексте для ошибки. Если для параметра lppMAPIError нет возвращаемых сведений об ошибке, можно задать значение NULL.

Возвращаемое значение

S_OK

Возвращены сведения об ошибке.

MAPI_E_BAD_CHARWIDTH

Либо был установлен флаг MAPI_UNICODE и реализация не поддерживает Юникод, либо MAPI_UNICODE не задан и реализация поддерживает только Юникод.

Замечания

Метод IMAPIProp::GetLastError предоставляет сведения о предыдущем вызове метода, который завершился сбоем. Клиенты могут предоставить своим пользователям подробные сведения об ошибке, включив данные из структуры MAPIERROR в диалоговом окне.

Все реализации GetLastError , предоставляемые MAPI, являются реализациями ANSI, за исключением реализации IAddrBook . Метод GetLastError , включенный в IAddrBook , поддерживает Юникод.

Примечания для исполнителей

Сведения о реализации этого метода удаленным поставщиком транспорта и сообщениях, возвращаемых этим методом, относятся к поставщику транспорта, так как конкретные условия ошибок, которые приводят к различным значениям HRESULT, будут отличаться для разных поставщиков транспорта.

Примечания для вызывающих методов

Структуру MAPIERROR , на которую указывает параметр lppMAPIError , можно использовать, если getLastError предоставляет ее, только если возвращаемое значение S_OK. Иногда GetLastError не может определить, какая была последняя ошибка, или не может сообщить о ней больше. В этом случае указатель на NULL возвращается в lppMAPIError .

Чтобы освободить память для структуры MAPIERROR , вызовите функцию MAPIFreeBuffer .

Дополнительные сведения о методе GetLastError см. в разделе Расширенные ошибки MAPI.

См. также

IAddrBook : IMAPIProp

MAPIERROR

MAPIFreeBuffer

IMAPIProp : IUnknown

Расширенные ошибки MAPI