이 업데이트 :보너스 사용시 속성을 PT_BINARY (PT_MV_LONG 아님)로 설정하는 방법은 무엇입니까?
이 문제는 Redemption 5.2 수정되었습니다 :
는 이전에는 DASL 형식에 지정된 "문자열"네임 스페이스에 MAPI 속성 이름 ... 항상 문자열 형식의 것으로 가정 (PT_UNICODE 또는 PT_STRING8).
이제 속성 유형을 명시 적으로 지정할 수 있습니다. PT_LONG (= 3) :
http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/MyIntegerUserProperty/0x00000003
내가 사용하고 구속 5.1 (및 Outlook 64분의 2,010)이 매우 짜증나는 경우에 실행 한 :
의 객체를 작성하려고 byte[]
속성에 PT_MV_LONG
속성으로 쓰고, PT_BINARY
이 아닌 속성으로 씁니다.
RDOItem rdoItem = GetRDOItem();
// note this is typed PT_BINARY
string dasl = "http://schemas.microsoft.com/mapi/string/{312FD430-D997-418A-8E1F-8D224FE69F5D}/MyProp/0x00000102";
byte[] data = GetSomeData();
rdoItem.Fields[dasl] = data;
을 ... 또는 RDOUtils.HrSetOneProp
를 사용하는 경우 :
RDOProp.Fields
를 사용하는 경우 중 하나에 발생
// this also sets MyProp, but does so as PT_MV_LONG, not PT_BINARY
RDOUtils utils = CreateUtils();
var mapiObject = rdoItem.MAPIOBJECT;
var propTag = utils.GetIDsFromNames(mapiObject,
"{312FD430-D997-418A-8E1F-8D224FE69F5D}",
"MyProp");
utils.HrSetOneProp(mapiObject, propTag, encoded);
위의 코드는 컴파일되지 않습니다,하지만 종류가 정확합니다.
업데이트 : 문자열 속성이 위에있는 방법으로, 구원은 "MyProp/0x00000102"를 속성을 만드는와
, 그리고 "MyProp".
는 문자열'http://schemas.microsoft.com/mapi/string/ {312FD430-D997-418A-8E1F-8D224FE69F5D}/MyProp/0x00000102'이되지 않는 것입니다 Redemption (5.1.0.0)에서 이해할 수있는 형식으로, 나는 자기 자신의 답답함에 몇 가지 세부 사항을 넣었다. (나는 이미 5.2를 얻어야한다고 생각한다.) Redemption을 만들어 주셔서 감사합니다. btw, 아주 좋은 제품이고 OOM을 다룰 때 덜 호들갑. –
그래, 능력 "string"네임 스페이스의 명명 된 속성에 대한 속성 유형 ("/ 0x00000102")이 버전 5.2에서 추가되었음을 이해해야합니다. http://www.dimastr.com/redemption/history.htm –