Как создать свойства встречи и определения времени начала и отображения времени и зоны отображения в элементе встречи
Мы разработали и уже давно используем службу синхронизации между 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)