IMAPIProp::GetLastError
适用于:Outlook 2013 | Outlook 2016
返回一个 MAPIERROR 结构,该结构包含有关上一个错误的信息。
HRESULT GetLastError(
HRESULT hResult,
ULONG ulFlags,
LPMAPIERROR FAR * lppMAPIError
);
参数
hResult
[in]在上一方法调用中生成的错误代码的句柄。
ulFlags
[in]标志的位掩码,指示 lppMAPIError 指向的 MAPIERROR 结构中返回的文本的格式。 可以设置以下标志:
MAPI_UNICODE
字符串应采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则字符串应采用 ANSI 格式。
lppMAPIError
[out]指向 MAPIERROR 结构的指针的指针,该结构包含错误的版本、组件和上下文信息。 如果没有要返回的错误信息,可以将 lppMAPIError 参数设置为 NULL。
返回值
S_OK
返回错误信息。
MAPI_E_BAD_CHARWIDTH
已设置MAPI_UNICODE标志且实现不支持 Unicode,或者未设置MAPI_UNICODE且实现仅支持 Unicode。
备注
IMAPIProp::GetLastError 方法提供有关以前失败的方法调用的信息。 客户端可以通过在对话框中包括 MAPIERROR 结构中的数据,为用户提供有关错误的详细信息。
MAPI 提供的所有 GetLastError 实现都是 ANSI 实现, IAddrBook 实现除外。 IAddrBook 附带的 GetLastError 方法支持 Unicode。
针对实现者的说明
远程传输提供程序实现此方法的详细信息以及此方法返回的消息由传输提供程序决定,因为导致各种 HRESULT 值的特定错误条件对于不同的传输提供程序是不同的。
给调用方的说明
如果 GetLastError 提供 MAPIERROR 结构,则仅当返回值S_OK时,才能使用 lppMAPIError 参数指向的 MAPIERROR 结构。 有时 ,GetLastError 无法确定最后一个错误是什么,或者无法再报告有关该错误的内容。 在这种情况下,将在 lppMAPIError 中返回指向 NULL 的指针。
若要释放 MAPIERROR 结构的内存,请调用 MAPIFreeBuffer 函数。
有关 GetLastError 方法的详细信息,请参阅 MAPI 扩展错误。