问题描述
嗨,
我们有为Outlook编写的自定义“商店提供商”。
当我们在Outlook中修改了约会约会中的单个实例时,它不会反映在日历视图中,就会出现问题。
这在Outlook 2010和2013上都可以正常使用,但从Outlook 2016起不能使用。
不知道需要为Outlook 2016设置哪个属性?
对于Outlook 2010,我们正在设置以下按预期方式运行的属性:
观察到注释PR_HTML属性以供会议使用的Outlook 2016可以正常工作,因为它显示了PR_BODY_W属性的描述。这是否表示我设置了错误的PR_HTML属性。
props[index].dwAlignPad = 0;
props[index].ulPropTag = PR_BODY_W;
props[index++].Value.lpszW = pwszTemp;
props[index].dwAlignPad = 0;
props[index].ulPropTag = PR_INTERNET_CPID;
props[index++].Value.l = lCodePage;
***props[index].dwAlignPad = 0;
props[index].ulPropTag = PR_HTML;
props[index].Value.bin.lpb = (LPBYTE)spAnsiiHTML.get();
props[index++].Value.bin.cb = (ULONG)strlen(spAnsiiHTML.get());
在定期约会中修改单个实例,从而创建异常。但是我们没有在异常流中设置任何代码,我们需要在那里设置吗?以下是我们如何创建异常流的代码:
hResult = lpMessage->OpenProperty(m_ApptOrTask.GetRecurringStreamTag(),&IID_IStream,STGM_READWRITE,MAPI_MODIFY,(LPUNKNOWN *)pRecurrenceStream.getptr());
if (FAILED(hResult) && (MAPI_E_NOT_FOUND == hResult))
{
// we need to try to create this stream
hResult = lpMessage->OpenProperty(m_ApptOrTask.GetRecurringStreamTag(),MAPI_CREATE | MAPI_MODIFY,(LPUNKNOWN *)pRecurrenceStream.getptr());
if (FAILED(hResult))
{
LOG_ERROR(_T("Cannot open reccurrence pattern stream"));
return hResult;
}
}
// m_wRecurFrequency
hResult = pStream->Write(&m_wRecurFrequency,sizeof (WORD),&cbWritten);
if (FAILED(hResult) || (cbWritten != sizeof (WORD)))
{
LOG_ERROR(_T("Failed to write recurrence stream: m_wRecurFrequency"));
return MAPI_E_CALL_FAILED;
}
// m_wPatternType
hResult = pStream->Write(&m_wPatternType,&cbWritten);
if (FAILED(hResult) || (cbWritten != sizeof (WORD)))
{
LOG_ERROR(_T("Failed to write recurrence stream: m_wPatternType"));
return hResult;
}
任何指针或解决方案将不胜感激。 预先感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)