Как создать свойства встречи и определения времени начала и отображения времени и зоны отображения в элементе встречи

Мы разработали и уже давно используем службу синхронизации между exchange / office 365 и нашим заказным приложением-календарем. Затем наши клиенты используют стандартный способ подключения для обмена, используя свои iphone, ipad, android телефоны / планшеты и т. Д., Чтобы просмотреть эти встречи (которые первоначально были получены из нашего программного обеспечения для календаря)

Эта система работала отлично, но с определенным обновлением ios (не могу вспомнить, какие именно, но у нас есть проблема в течение некоторого времени) Элементы назначения целого дня, которые мы создали с помощью нашей программы синхронизации, отображают в течение 2 дней на ipads и iphones в Outlook и Android На телефонах / планшетах тот же пункт назначения отображается правильно всего за один день, как и должен.

Я обнаружил, что мы не создаем свойства destinationtimezonedefinitionenddisplay и meetingtimezonezonedefinitionstartdisplay в элементах назначения, которые мы создаем с помощью нашей программы синхронизации. Если я скопирую эти значения (двоичный двоичный объект) из элемента встречи, созданного в outlook itselve, в один из элементов встречи, созданных с помощью нашей программы синхронизации (с использованием Outlookspy), пункты назначения будут корректно отображаться на iphone и ipad.

Мой вопрос сейчас заключается в том, как создать в нашей синхронизирующей программе назначение и время определения зоны и отображение времени встречи и определения времени начала. Более конкретно, как мне сгенерировать двоичные данные и что они на самом деле содержат? Я не могу найти много информации об этом в Google, ни каких-либо примеров. И я не хочу жестко закодировать это с фиксированным значением, поскольку я понятия не имею, будет ли это иметь побочные эффекты.

1 ответ

Просмотрите документацию по MSDN: https://msdn.microsoft.com/en-us/library/ee158467(v=exchg.80).aspx и https://msdn.microsoft.com/en-us/library/ee219682(v=exchg.80).aspx

OutlookSpy анализирует структуру при отображении:

Major ver:  0x02
Minor ver : 0x02
cbHeader  : 0x0030
Reserved  : 0x0002
cchKeyName: 0x0015
KeyName      : Pacific Standard Time
cRules       : 0x0001
  Major ver:  0x02
  Minor ver : 0x02
  Reserved  : 0x003E
  TZRule flags  : TZRULE_FLAG_EFFECTIVE_TZREG
  wYear  : 1601 (0x0641)
  X      : 0100000001000000000000000000
  lBias  : 480 (0x000001E0)
  lStandardBias  : 0 (0x00000000)
  lDaylightBias  : -60 (0xFFFFFFC4)
  stStandardDate : 
    wYear        : 0 (0x0000)
    wMonth       : 11 (0x000B)
    wDayOfWeek   : 0 (0x0000)
    wDay         : 1 (0x0001)
    wHour        : 2 (0x0002)
    wMinute      : 0 (0x0000)
    wSecond      : 0 (0x0000)
    wMilliseconds: 0 (0x0000)
  stDaylightDate : 
    wYear        : 0 (0x0000)
    wMonth       : 3 (0x0003)
    wDayOfWeek   : 0 (0x0000)
    wDay         : 2 (0x0002)
    wHour        : 2 (0x0002)
    wMinute      : 0 (0x0000)
    wSecond      : 0 (0x0000)
    wMilliseconds: 0 (0x0000)
Другие вопросы по тегам