IMAPISupport::GetLastError

适用于:Outlook 2013 | Outlook 2016

返回一个 MAPIERROR 结构,该结构包含有关上一个支持对象错误的信息。

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

参数

hResult

[in]在上一方法调用中为支持对象生成的错误值的句柄。

ulFlags

[in]控制返回的字符串类型的标志的位掩码。 可以设置以下标志:

MAPI_UNICODE

lppMAPIError 参数中返回的 MAPIERROR 结构中的字符串采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则字符串采用 ANSI 格式。

lppMAPIError

[out]指向 MAPIERROR 结构的指针的指针,该结构包含错误的版本、组件和上下文信息。 如果无法提供具有适当错误信息的 MAPIERROR 结构,可以将 lppMAPIError 参数设置为 NULL。

返回值

S_OK

调用成功并返回了一个或多个预期值。

MAPI_E_BAD_CHARWIDTH

已设置MAPI_UNICODE标志,MAPI 不支持 Unicode,或者未设置MAPI_UNICODE且 MAPI 仅支持 Unicode。

备注

为所有支持对象实现 IMAPISupport::GetLastError 方法。 调用方可以通过在对话框中包括 MAPIERROR 结构中的数据,向其用户提供有关错误的详细信息。

给调用方的说明

只有在 GetLastError 返回S_OK时,才能在 lppMAPIError 参数中使用指向 MAPIERROR 结构的指针(如果 MAPI 提供一个)。 有时 MAPI 无法确定最后一个错误是什么,或者它没有更多关于错误的报告。 在这种情况下, lppMAPIError 改为返回指向 NULL 的指针。

有关 GetLastError 方法的详细信息,请参阅 MAPI 扩展错误

若要释放 MAPI 分配的所有内存,请为返回的 MAPIERROR 结构调用 MAPIFreeBuffer 函数。

另请参阅

MAPIERROR
MAPIFreeBuffer
IMAPISupport:IUnknownMAPI 扩展错误