Итак, я обнаружил это в MSDN. Как: управлять сообщением в OST без вызова синхронизации в режиме кэширования Exchange Стивен Гриффин впервые говорил об этом еще в 2005 году здесь .
У меня еще не было возможности протестировать его, но похоже, что вы можете изменить OST и не запускать синхронизацию. Хитрость заключается в запросе сообщения с использованием IID_IMessageRaw, а не IID_IMessage, как обычно делается.
Единственная проблема, с которой вы можете столкнуться, это то, что она требует использования Extended MAPI и, следовательно, C ++. Теги в списке вопросов VSTO, поэтому я не уверен, какие требования все еще могут быть.
Приведенный пример:
HRESULT HrOpenRawMessage (
LPMDB lpMSB,
ULONG cbEntryID,
LPENTRYID lpEntryID,
ULONG ulFlags,
LPMESSAGE* lpMessage)
{
ULONG ulObjType = NULL;
HRESULT hRes = lpMDB->OpenEntry(
cbEntryID,
lpEntryID,
IID_IMessageRaw,
ulFlags,
&ulObjType,
(LPUNKNOWN*) lpMessage));
return hRes;
}