Time zones in recurring meetings

M

Mark

Not sure if this post should be here or in
microsoft.public.win32.programmer.messaging, since it is both about
MAPI and Outlook add-ins, but I'll try here first.

The add-in I'm developing uses MAPI tables during initialization,
which we have found to be much faster than item-by-item access via the
object model. I have had a lot of difficulty determining the proper
start times of recurring appointments, particularly with meetings
created by an organizer in another time zone. Eventually the way that
appeared to work was grabbing the start time from the recurrence
structure (around byte 58, depending on offset) and then checking for
a recurrence time zone (property 0x8233). If the time zone is there,
then the time found in the recurrence structure is in that time zone;
otherwise, the time zone is in UTC.

This worked well until we found that some users had appointments that
did not have property 0x8233, yet the time in the recurrence structure
appeared to be in local time, not UTC. I am now at a loss as to the
method for determining the time zone of the start time as found in the
recurrence structure. Any ideas?
 
K

Ken Slovak - [MVP - Outlook]

I'd post in the other group for a MAPI viewpoint, but as far as I know any
times in Outlook are stored internally as UTC, and when accessed in the
Outlook object model are converted into local times.

Have you looked at the decoding of the binary blob for recurrence pattern
done years ago by Dan Mitchell?
 
M

Mark

I actually used an updated document based on the work done by
Mitchell, at http://www.geocities.com/cainrandom/dev/MAPIRecurrence.html

It confirms what I thought--the recurrence time zone is in property
0x8233, but as I say, in this case it isn't. Actually even more
strangely, when I access this property directly via the MAPI item, it
appears corrupt--a nonsensical count and a null pointer. But perhaps
this will mean more on the messaging group... I'll repost there.

Thanks,
Mark


I'd post in the other group for a MAPI viewpoint, but as far as I know any
times in Outlook are stored internally as UTC, and when accessed in the
Outlook object model are converted into local times.

Have you looked at the decoding of the binary blob for recurrence pattern
done years ago by Dan Mitchell?

--
Ken Slovak
[MVP - Outlook]http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.http://www.slovaktech.com/products.htm


Not sure if this post should be here or in
microsoft.public.win32.programmer.messaging, since it is both about
MAPI and Outlook add-ins, but I'll try here first.
The add-in I'm developing uses MAPI tables during initialization,
which we have found to be much faster than item-by-item access via the
object model. I have had a lot of difficulty determining the proper
start times of recurring appointments, particularly with meetings
created by an organizer in another time zone. Eventually the way that
appeared to work was grabbing the start time from the recurrence
structure (around byte 58, depending on offset) and then checking for
a recurrence time zone (property 0x8233). If the time zone is there,
then the time found in the recurrence structure is in that time zone;
otherwise, the time zone is in UTC.
This worked well until we found that some users had appointments that
did not have property 0x8233, yet the time in the recurrence structure
appeared to be in local time, not UTC. I am now at a loss as to the
method for determining the time zone of the start time as found in the
recurrence structure. Any ideas?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top