C#에서 Outlook 2010 사용자 지정 플러그인을 개발 중입니다. 이것은 C#을 사용하는 나의 처음입니다 (저는 보통 자바 녀석입니다).C#에서 MailItem의 명명 된 MAPI 속성 가져 오기
액세스하려는 메시지에 명명 된 (사용자 지정) MAPI 속성이 있으며 문제가 발생합니다. Outlook 2007에서는 명명 된 MAPI 속성에 쉽게 액세스 할 수 있도록 PropertyAccessor 개체가 도입되었습니다.
http://msdn.microsoft.com/en-us/library/ff868915.aspx
가 나는 아웃룩 스파이를 사용하여 메시지에 액세스 할 명명 된 MAPI 속성을 볼 수 있습니다 나는 다음과 같은 문서의 지침을 따랐다. 아웃룩 스파이에서 내가 호텔에 대하여 다음과 같은 정보를 얻을 수 있습니다 :
이mail.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/id/{00020329-0000-0000-C000-000000000046}/80BE0102");
이 다음과 같은 예외를 생성합니다
GUID: {00020329-0000-0000-C000-000000000046}
Tag num: 0x80BE0102
ID: PR.AFU.MESSAGE.RETRIEVE.INFO
Type: PT_BINARY
그래서 나는 (개체 메일이는 MailItem의 유효한 인스턴스) 다음 코드를 시도 :
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
나의 이해는이 전망 사전 2007 버전에만 필요하다고했다. 어떤 도움을 많이 주시면 감사하겠습니다!
고마워요. 적절한 형식을 알아 내고 Outlook Spy를 다시보고 깨달았습니다. 똑같은 것을 게시하기 위해 여기에 왔을뿐입니다. –
Andrew는이 질문에 걸림돌이 된 것을 나중에 참조하기 위해 DASL을 생성하기 위해 (variant, generated) 태그 번호를 사용했습니다. 여기서 DASL은 명명 된 속성 자체에서 (invariant) ID를 사용해야합니다. 명명 된 속성은 네임 스페이스 (GUID)와 ID (문자열 또는 숫자)로 정의됩니다. –