MAPI_E_INVALID_ENTRYID при получении контакта из Outlook через погашение

Я хотел бы получить контакт с известным EntryID в определенной папке из outlook/exchange, используя Redemption.

Следующий код вызывает GetMessageFromID для объекта RDOSession. Мне нужны контакты только из стандартной папки "Контакты", поэтому я использую второй аргумент, чтобы ограничить пространство поиска.

RDOFolder folder = Session.GetDefaultFolder(rdoDefaultFolders.olFolderContacts);
RDOContactItem i = Session.GetMessageFromID(syncRow.SyncId, folder.EntryID, null) as RDOContactItem;

Всякий раз, когда я делаю это выкуп, выдается исключение COM: Error in IMAPISession.OpenMsgStore: MAPI_E_INVALID_ENTRYID, Что я делаю неправильно?

1 ответ

Решение

GetMessageFromID принимает 2 идентификатора записи в качестве параметров (1 обязательный, 1 необязательный) - идентификатор записи сообщения и идентификатор записи магазина. Похоже, вы передаете идентификатор записи папки вместо идентификатора записи магазина.

Другие вопросы по тегам