Compartilhar via


Sobre a alteração programática da base de calendários para o horário de verão

Muitos países/regiões observam o horário verão (DST) adiantando os relógios para que a luz do dia se prolongue nos finais de tarde. Isso geralmente é feito adiantando o relógio em uma hora na primavera e retrocedendo em uma hora no outono. Neste tópico, este período entre a primavera e o outono é denominado como período DST. A maioria dos países/regiões tem suas próprias regulações para o início e término do horário de verão. As datas do período de horário de verão podem mudar de um ano para outro, e os usuários precisam atualizar seus calendários do Microsoft Outlook sempre que mudam as normas do horário de verão.

Se usar uma versão do Windows como Windows Vista ou posterior, ou se tiver a atualização automática do Windows habilitada, você não será afetado pela alteração do horário de verão. Caso contrário, você deve instalar as atualizações do horário de verão para Windows. Independentemente das atualizações serem instaladas automaticamente, em seu nome pelo departamento de TI ou por você mesmo como usuário doméstico, alguns compromissos existentes que acontecem durante o período do horário de verão podem exibir horários incorreto depois da instalação das atualizações do DST para Windows. Isso acontece tanto para compromissos recorrentes quanto para compromissos de ocorrência única. Você deve atualizar esses compromissos para exibi-los corretamente no Outlook, Outlook Web App e em aplicativos baseados em Objetos de Dados de Colaboração (CDO). A ação de atualizar compromissos exibidos incorretamente nos calendários devido ao horário de verão é conhecida como a alteração programática da base de calendários.

O Outlook fornece ferramentas para usuários, e o Exchange Server fornece ferramentas para que os administradores façam alterações programáticas nos calendários. O Outlook fornece a Ferramenta de Atualização de Dados de Fuso Horário para usuários do Outlook. Com essa ferramenta, os usuários podem atualizar seus próprios calendários. O Exchange Server fornece a Ferramenta de Atualização do Calendário do Exchange, que ajuda os administradores a evitar dificuldades resultantes do uso da ferramenta Outlook com abrangência de todos os usuários, e a ter certeza de que cada usuário execute a ferramenta Outlook corretamente.

Além de depender dos usuários para executar a Ferramenta de Atualização de Dados de Fuso Horário, ou dos administradores para executar a Ferramenta de Atualização do Calendário do Exchange, os desenvolvedores terceiros de software de clientes MAPI podem baixar uma DLL chamada Tzmovelib.dll. Ao usar este montagem, os desenvolvedores podem usar as mesmas APIs que o Outlook e o Exchange Server usam em suas ferramentas de alteração programática de calendários.

A lista a seguir mostra as APIs de alteração programática de calendários:

Para escrever uma ferramenta de alteração programática de compromissos usado as APIs de alteração programática de calendários, você pode usar o seguinte procedimento:

  1. Use IOlkApptRebaser::BeginEnumerateAppointments e IOlkApptRebaser::EndEnumerateAppointmentspara localizar compromissos que são candidatos à alteração programática. Se necessário, apresente informações para habilitar o usuário a decidir em quais compromissos fazer a alteração programática. Alternativamente, use o MAPI ou o Modelo de Objeto do Outlook para examinar as informações de hora e recorrência de um compromisso analisando as propriedades PidLidAppointmentTimeZoneDefinitionStartDisplay, PidLidAppointmentTimeZoneDefinitionEndDisplay e PidLidAppointmentTimeZoneDefinitionRecur.

  2. Use HrCreateApptRebaser, IOlkApptRebaser::BeginRebaseAppointments e IOlkApptRebaser::EndRebaseAppointments para alterar o compromisso.

Confira também