无法在MAPI消息中获取或更改PR_ORIG_MESSAGE_CLASS

时间:2015-11-18 13:58:45

标签: c++ com atl mapi


我无法更改甚至获取属性PR_ORIG_MESSAGE_CLASS,我正在使用IMessage界面中的GetProps。但是我收到错误MAPI_W_ERRORS_RETURNED,查看Value.err我看到错误-2147221233,我不知道如何将此错误转换为有意义的错误。
MAPI_W_ERRORS_RETURNED表示"整体呼叫成功,但无法访问一个或多个属性。"

代码是:

SizedSPropTagArray(1, mcols) = { 1,
{ PR_ORIG_MESSAGE_CLASS } };
ULONG pcount; SPropValue *props = 0;
hr = message->GetProps((SPropTagArray*)&mcols, 0, &pcount, &props);

问题是,为什么我会收到此错误,以及如何解决此问题。感谢

1 个答案:

答案 0 :(得分:1)

错误是MAPI_E_NOT_FOUND,表示该属性不存在。更好的问题是为什么你期望这个财产存在?使用OutlookSpy(单击IMessage)查看消息以查看可用属性。