On Tue, 2011-08-09 at 16:37 +0200, Alois Schloegl wrote:
> Now, I'm trying to extract from contacts the property "Keywords" through
> the function mapidump_contact(...). Outlook 2007 presents it as a list
> of strings separated by semi-colons.
>
> In the past (before 0.11), I was able to extract
> keywords = (struct mapi_SLPSTRArrayW*)
> find_mapi_SPropValue_data(properties, 0x8025101f);
> if (!keywords) keywords = (struct mapi_SLPSTRArrayW*)
> find_mapi_SPropValue_data(properties, 0x8025101e);
>
> and than extracting it in the following way:
>
> if (keywords && keywords->cValues) {
> uint32_t k=0;
> printf("Keywords: %s",keywords->strings[k].lppszW);
> while (++k < keywords->cValues) printf("; %s",
> keywords->strings[k].lppszW);
> }
>
> This does not work with 0.11 because keywords remain NULL.
Hi,
that's a very good catch. I didn't notice this myself (and I'm not an
OpenChange developer either), but you've right, fetching PidNameKeywords
doesn't work. What I see on the console when I'm trying to fetch it with
"forced" Unicode is:
unhandled type case in pull_emsmdb_property(): 0x101f
which makes sense and directly leads to an issue. Having a case for
PT_MV_UNICODE there should fix it, though I didn't find
ndr_pull_mapi_SPLSTRArrayW() function, only
ndr_print_mapi_SPLSTRArrayW().
And there is most likely more things to be done than just define these
functions by hand (by the way, are they generated or hand-written?).
I suggest to file this as an issue in the OpenChange issue tracker, thus
they will have a place to track it. But let's see what Brad or Julien
think first.
Bye,
Milan
_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel