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.