Сведения об API сведений о доступности
API доступности и доступности позволяет поставщикам почты предоставлять сведения о состоянии доступности для указанных учетных записей пользователей в течение заданного диапазона времени. Состояние "свободная/занятая" для блока времени в календаре пользователя имеет одно из следующих значений: "Нет на рабочем месте", "Занят", "Под вопросом" или "Бесплатный".
Создание поставщика сведений о доступности
Чтобы предоставить пользователям сведения о доступности и доступности, поставщик услуг электронной почты создает поставщик доступности и регистрирует его в Outlook. Поставщик доступности должен реализовать следующие интерфейсы. Обратите внимание, что ряд элементов в этих интерфейсах не поддерживается и должен возвращать указанные возвращаемые значения. В частности, API доступности и доступности не поддерживает доступ на запись к сведениям о доступности и делегирование доступа к учетным записям.
IFreeBusySupport — этот интерфейс поддерживает спецификацию интерфейсов, которые получают доступ к данным о доступности для указанных пользователей. Он использует FBUser для идентификации пользователя.
IFreeBusyData — этот интерфейс получает и задает диапазон времени для данного пользователя и возвращает интерфейс для перечисления блоков данных о доступности в этом диапазоне времени. Для получения и задания этого диапазона времени используется относительное время. Дополнительные сведения см. в разделе Использование относительного времени для доступа к данным о доступности.
IEnumFBBlock — этот интерфейс поддерживает доступ к блокам данных о доступности и их перечисление для пользователя в пределах диапазона времени.
Примечание.
Перечисление содержит блоки доступности, указывающие состояние "свободная/занято" периодов времени в календаре пользователя в пределах диапазона времени (указанного в IFreeBusyData::EnumBlocks). Элементы календаря, такие как встречи и приглашения на собрания, блокируются в перечислении. Элементы, расположенные рядом друг с другом в календаре и имеющие одинаковое состояние доступности, объединяются в один блок. Свободный период времени в календаре также образует блок. Таким образом, два последовательных блока в перечислении не будут иметь одинаковое состояние доступности и доступности. Эти блоки не перекрываются во времени. Если в календаре есть перекрывающиеся элементы, Outlook объединяет эти элементы, чтобы сформировать неперекрывающиеся блоки "свободная или занятая" в перечислении на основе этого порядка приоритета: "нет на месте", "занято", "под вопросом".
Чтобы зарегистрировать поставщик доступности в Outlook, поставщик почты должен выполнить следующие действия:
Зарегистрируйте поставщик доступности в COM, предоставляя идентификатор CLSID, позволяющий получить доступ к реализации IFreeBusySupport поставщика.
Сообщите Outlook, что поставщик доступности существует, задав следующий раздел (где
<xx.x>
представляет версию Outlook) в системном реестре:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\<xx.x>\Outlook\SchedulingInformation\FreeBusySupport
Например, если поставщик транспорта — SMTP, чтобы зарегистрировать поставщик с помощью Microsoft Outlook 2010, русская версия, задайте следующий ключ для данных в следующей таблице:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Outlook\SchedulingInformation\FreeBusySupport
Имя Тип Значение SMTP REG_SZ {CLSID для соответствующей реализации IFreeBusySupport} В этом сценарии Outlook создает класс COM и использует его для получения сведений о доступности для всех пользователей почты SMTP.
Для поддержки адресной книги и поставщика транспорта, которые используют тип записи адреса, отличный от SMTP, измените имя соответствующим образом.
Примечание.
Во время установки поставщики доступности должны проверка, существует ли параметр реестра для того же типа записи адреса. Если это так, поставщик доступности должен перезаписать текущий поставщик для этого типа записи адреса и восстановить его при удалении. Однако если пользователь установил несколько поставщиков доступности для одного и того же типа ввода адреса, пользователь должен удалить эти поставщики в обратном порядке по мере установки (то есть всегда удалять последний поставщик). В противном случае реестр может указывать на поставщика, который уже был удален.
Компоненты API
API доступности и доступности включает следующие компоненты: