2012-05-08 2 views
0

Outlook 2010의 추가 기능에서 IMAPIProp :: CopyTo를 사용하여 현재 표시된 IMessage를 디스크의 .msg 파일에있는 새 IMessage에 저장합니다. 사용자의 사서함에있는 메시지는 모두 잘 작동합니다.IMAPage :: CopyTo가 IMessage가 .msg 파일에서 열리는 경우

디스크의 .msg 파일에서 열어 첨부 파일이 포함 된 메시지로이 작업을 시도하면 IMAPIProp :: CopyTo가 0x80070005 (MAPI_E_NO_ACCESS)를 반환합니다. 의 IMAPIProp :: GetLastError에서 반환 된 세부 사항은 다음과 같습니다

ulVersion: 0 
lpszError: "A resource is busy or you lack sufficient access rights or permissions" 
lpszComponent: "" 
ulLowLevelError: 71 
ulContext: 0 

파일 -> 다른 이름으로 저장 또는 파일 -> 저장,의 IMAPIProp에 내 전화를 사용한 후 :: 사용하는 CopyTo 성공도. PR_MESSAGE_ATTACHMENTS를 제외하면 IMAPIProp :: CopyTo도 성공합니다.

IMAPIProp :: CopyTo에 대한 성공적인 호출을 준비하기 위해 Outlook에서 수행 할 수있는 작업은 무엇입니까?

답변

2

MSG 파일 위에 생성 된 메시지로 CopyTo()가 제대로 작동하지 않습니다. 유일한 옵션은 GetPropList를 수행하는 자체 함수를 작성한 다음 한 번에 하나의 속성 (물론 명명 된 속성을 적절히 변환 함)을 복사 한 다음 첨부 파일과 수신자를 복사하는 것입니다.

관련 문제