I'm working on the problem to extract the field "Keywords" from the "All
Documents fields" in Contacts . The content of this field can be seen in
Outlook 2007, display a specific contact, -> menu "All field" -> Select
from "All Document fields" -> field "Keywords".
I found the content of this field in --dump-data in a structure around this
lpProps: struct mapi_SPropValue
ulPropTag :
UNKNOWN_ENUM_VALUE (0x8025101F)
value :
union mapi_SPropValue_CTR(case 4127)
MVszW: struct mapi_SPLSTRArrayW
cValues :
0x00000003 (3)
strings: ARRAY(3)
strings: struct mapi_LPWSTR
lppszW
: 'myKeyword1'
strings: struct mapi_LPWSTR
lppszW
: 'myKeyword2'
strings: struct mapi_LPWSTR
lppszW
: 'myKeyword3'
I found some documentation in [MS_OXPROPS].pdf, p.197, section "2.495
PidNameKeywords", and looked also further into the links, but had
difficulties to find the proper value code. Finally, I found that the
value 0x8025101e could be used to extract the information with
find_mapi_SPropValue_data(properties, 0x8025101e);
but only when GetPropsAll() with
request.WantUnicode = 0;
was used.
request.WantUnicode = 1;
did not work although I used
find_mapi_SPropValue_data(properties, 0x8025101f);
The upshot is:
(i) Why is 0x8025101e the proper value, when dump-data shows the value
0x8025101f ?
(ii) I modified my earlier patch to support the field "Keywords", and
made it the way that mapidump_contacts works with both, 0 and 1,
settings of request.WantUnicode.
(iii) Unfortunately, the keywords field is only provided when
request.WantUnicode = 0 resulting in no UTF8 support (*). Does anyone
have a quick hack for extracting the keywords value when
request.WantUnicode = 1;
is used ?
Alois
(*) The earlier suggestion for including UTF8 support in my earlier mail
http://mailman.openchange.org/pipermail/devel/2011-May/005384.html
does not work here.
_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel