关于忙/闲 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 包括以下组件: