none
[MS-OXOCAL] The undocumented role of PidLidTimeZoneDescription RRS feed

  • Question

  • Hi,

    [MS-OXOCAL] specify that "The PidLidTimeZoneDescription property specifies a human-readable description of the time zone that is represented by the data in the PidLidTimeZoneStruct property",

    This information is incomplete, Outlook 2010 RTM will show different start times for recurring appointment instances in the following two cases:

    1. PidLidAppointmentTimeZoneDefinitionStartDisplay is missing and PidLidTimeZoneDescription is missing.

    2. PidLidAppointmentTimeZoneDefinitionStartDisplay is missing and PidLidTimeZoneDescription is present.


    To the best of my understanding, PidLidTimeZoneDescription has an additional critical role:

    When Outlook 2010 recalculates appointment start time following timezone update (Data Interpretation for Time Zone Updates),

    PidLidAppointmentTimeZoneDefinitionStartDisplay will be used, However, and AFAIK it's not documented, if PidLidAppointmentTimeZoneDefinitionStartDisplay is missing, Outlook 2010 will use TimeZoneStruct together with PidLidTimeZoneDescription, and the presence / value of the latter may affect the instance start time.

    I will appreciate confirmation / clarification, as well as updating the documents to reflect this unpublished information.

    Thanks,

    Tal Aloni

    Saturday, July 14, 2012 3:59 PM

Answers

  • Hi Tal,

    Closing the loop on the forum thread.  Thank you for your patience working through this complex series of questions related to the role of “PidLidTimeZoneDescription”.  As we agreed, this forum thread issue is resolved.  The resolution is essentially this:

    The role of “PidLidTimeZoneDescription” is not all-inclusive with regard to the description in the specification section Section 3.1.5.5.2 Data Interpretation for Time Zone Updates.  However, the product team is considering expanding section 3.1.5.5.2 to include more details of the role of “PidLidTimeZoneDescription” in determining the time zone:

    1) It is determined from the PidLidTimeZoneStruct property and the PidLidTimeZoneDescription property when the PidLidAppointmentTimeZoneDefinitionStartDisplay property is not present.  Additionally, the start time is a different value when “PidLidTimeZoneDescription” property is present than when it is not present.

    2) It is determined from the PidLidAppointmentTimeZoneDefinitionStartDisplay property, as in section 2.2.1.42, when this property is present.

    The general algorithm is as follows:

    If “PidLidAppointmentTimeZoneDefStartDisplay” is missing then you may determine the correct time zone, by first using the “PidLidTimeZoneDescription” to find an exact match for that name in the registry.  If there is, use it.  If there isn't, then use “PidLidTimeZoneStruct”.  If it matches a rule in the current time zone definition then use the current time zone.  If it doesn't, then search the registry to find a matching rule in a different time zone.  If it matches only one time zone then use it.

    In addition, you may also find some helpful information in KB2642044.

    Regards,

    Mark Miller | Escalation Engineer | Protocol Documentation Team

    Monday, October 15, 2012 7:47 PM

All replies

  • Hi Tal, thank you for your question. A member of the protocol documentation team will respond to you soon.

    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Saturday, July 14, 2012 9:55 PM
    Moderator
  • Hi Tal,

    I will investigate this issue and follow up with you.

    Regards,
    Mark Miller
    Escalation Engineer
    US-CSS DSC PROTOCOL TEAM

    Monday, July 16, 2012 1:48 PM
  • Hi Tal,

    The resolution to your question(s) is taking longer than anticipated as it leads to more complicated discussions.  May I ask that you briefly take this offline with me by emailing "dochelp<at>microsoft<dot>com" and when we've concluded this issue I will of course post the outcome on this forum.

    Regards,
    Mark Miller
    Escalation Engineer
    DSC PROTOCOL TEAM

    Tuesday, September 11, 2012 4:23 PM
  • Hi Tal,

    Closing the loop on the forum thread.  Thank you for your patience working through this complex series of questions related to the role of “PidLidTimeZoneDescription”.  As we agreed, this forum thread issue is resolved.  The resolution is essentially this:

    The role of “PidLidTimeZoneDescription” is not all-inclusive with regard to the description in the specification section Section 3.1.5.5.2 Data Interpretation for Time Zone Updates.  However, the product team is considering expanding section 3.1.5.5.2 to include more details of the role of “PidLidTimeZoneDescription” in determining the time zone:

    1) It is determined from the PidLidTimeZoneStruct property and the PidLidTimeZoneDescription property when the PidLidAppointmentTimeZoneDefinitionStartDisplay property is not present.  Additionally, the start time is a different value when “PidLidTimeZoneDescription” property is present than when it is not present.

    2) It is determined from the PidLidAppointmentTimeZoneDefinitionStartDisplay property, as in section 2.2.1.42, when this property is present.

    The general algorithm is as follows:

    If “PidLidAppointmentTimeZoneDefStartDisplay” is missing then you may determine the correct time zone, by first using the “PidLidTimeZoneDescription” to find an exact match for that name in the registry.  If there is, use it.  If there isn't, then use “PidLidTimeZoneStruct”.  If it matches a rule in the current time zone definition then use the current time zone.  If it doesn't, then search the registry to find a matching rule in a different time zone.  If it matches only one time zone then use it.

    In addition, you may also find some helpful information in KB2642044.

    Regards,

    Mark Miller | Escalation Engineer | Protocol Documentation Team

    Monday, October 15, 2012 7:47 PM
  • Thanks for your thorough assistance Mark,

    Isn't the effective rule of 'PidLidAppointmentTimeZoneDefinitionStartDisplay' must also match 'PidLidTimeZoneStruct' in order for 'PidLidAppointmentTimeZoneDefinitionStartDisplay' to be used?

    Monday, October 15, 2012 11:50 PM