|
|
|
date: 20 Feb 2006 03:02:43 -0800,
group: microsoft.public.exchange2000.development
back
Different Hex Ids for same property in ?? Explain
Hi ,
I am trying to read all the properties from the Items on Exchnage
server 2000. I want to support all the items like notes, tasks, jornal
,messages,contacts and all that . I am using CDO and for the items
like journal, notes ,tasks where we dont have standard interfaces am
trying to retrive the properties using
iItem.Fields.Item("http://schemas.microsoft.com/mapi/proptag/<mapi prop
tag>").Value
I am refering Outlook spy , MDBVU32.exe,
http://www.cdolive.com/cdo10.htm . but for some properties i see
differnt ids in all these 3 references ..
eq. for task item's percent complete property the values i got are :
Outlook spy 0x F61F
Type integer
MDBVU32.exe 0x 824f
PT_DOUBLE
http://www.cdolive.com/cdo10.htm CdoPropSetID2 &
"0x8102"
how can this happen ?? what i need to to do to be sure that my
application will always return correct value ??
Thanks,
Jay
date: 20 Feb 2006 03:02:43 -0800
author: jay
Re: Different Hex Ids for same property in ?? Explain
It sounds like you are trying to mix CDO 1.2 with CDOEX these two API's use
different methods to access the Exchange Store (CDO 1.2 uses MAPI and CDOEX
use Exoledb) hence you can't use them together you should use one or the
other. Which one you might choose can depend on where you need to run you
code from CDOEX can only be used locally on a Exchange server to access
mailboxes located locally while CDO 1.2 can be used both locally and
remotely. You might want to have a look at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_techsel_bytechnology.asp
which lists most of the versions of CDO and the differences between them
(unfortunately it doesn't list CDO 1.2).
No matter which version of CDO you use (CDO 1.2 or CDOEX) you should be able
to access all the properties on an item the method for accessing properties
does differ between each API.
http://www.cdolive.com/cdo10.htm lists the methods you can use to access
properties in CDO 1.2. Generally you can use the Mapi prop tag if the tag
value is below x8000 anything about this range are custom properties see
http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/mapi/html/_mapi1book_list_of_property_identifier_ranges.asp?frame=true.
This means that the proptag will vary between server to server to access
these properties in this range you should use the named property instead
which will always be the same. There is a list of GUID's on CDOlive for
Example to access Task percent complete you should be using the named
property 0x8102 using the 0320060000000000C000000000000046 propset GUID. eg
objtask.fields.item("0x8102", "0320060000000000C000000000000046")
With CDOEX you use the mapi namespace http://schemas.microsoft.com/mapi/ to
access mapi properties. Within this namespace there are three sub namespaces
see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_cdo_schema_mapi.asp
As with CDO 1.2 if an item has a proptag below x8000 its okay to use the
Prop tag eg to display PR_Subject
taskobj.fields("http://schemas.microsoft.com/mapi/proptag/0x0037001E").value
If the item has a named property you need to use the GUID in the following
format
taskobj.Fields("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/0x00008102")
The differences in the way the GUID's are used are explained in
http://support.microsoft.com/?kbid=195656
It sounds complicated and is difficult to explain but once you get your head
around it its not too bad.
Cheers
Glen
"jay" wrote in message
news:1140433198.823021.154970@g44g2000cwa.googlegroups.com...
> Hi ,
> I am trying to read all the properties from the Items on Exchnage
> server 2000. I want to support all the items like notes, tasks, jornal
> ,messages,contacts and all that . I am using CDO and for the items
> like journal, notes ,tasks where we dont have standard interfaces am
> trying to retrive the properties using
>
> iItem.Fields.Item("http://schemas.microsoft.com/mapi/proptag/<mapi prop
> tag>").Value
>
> I am refering Outlook spy , MDBVU32.exe,
> http://www.cdolive.com/cdo10.htm . but for some properties i see
> differnt ids in all these 3 references ..
> eq. for task item's percent complete property the values i got are :
>
> Outlook spy 0x F61F
> Type integer
> MDBVU32.exe 0x 824f
> PT_DOUBLE
> http://www.cdolive.com/cdo10.htm CdoPropSetID2 &
> "0x8102"
>
> how can this happen ?? what i need to to do to be sure that my
> application will always return correct value ??
>
>
> Thanks,
> Jay
>
date: Tue, 21 Feb 2006 10:42:39 +1100
author: Glen Scales [MVP]
|
|