Я разрабатываю пользовательский плагин для Outlook 2010 на C #. Я впервые использую C # (обычно я Java-парень).
В сообщении есть именованное (настраиваемое) свойство MAPI, к которому я хотел бы получить доступ, и у меня возникают проблемы при этом. Насколько я понимаю, в Outlook 2007 был представлен объект PropertyAccessor, который обеспечивает легкий доступ к именованным свойствам MAPI. Я следовал инструкциям из следующей документации:
http://msdn.microsoft.com/en-us/library/ff868915.aspx
Я вижу указанное свойство MAPI, к которому я хочу получить доступ, в сообщении с помощью Outlook Spy. Из Outlook Spy я могу получить следующую информацию о собственности:
GUID: {00020329-0000-0000-C000-000000000046}
Tag num: 0x80BE0102
ID: PR.AFU.MESSAGE.RETRIEVE.INFO
Type: PT_BINARY
Итак, я попробовал следующий код (объект mail является допустимым экземпляром MailItem):
mail.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/id/{00020329-0000-0000-C000-000000000046}/80BE0102");
Это приводит к следующему исключению:
The property "http://schemas.microsoft.com/mapi/id/{00020329-0000-0000-C000-000000000046}/80BE0102" is unknown or cannot be found
Так что мне интересно, как на самом деле получить это свойство? Я неправильно формирую ссылку на пространство имен? Или мне нужно использовать подход, описанный в этом примере:
http://www.outlookcode.com/codedetail.aspx?id=1112
Насколько я понимаю, это было необходимо только для версий Outlook до 2007 года. Любая помощь очень ценится!