空き時間情報 API について
空き時間情報 API を使用すると、メール プロバイダーは、指定した時間範囲内の指定されたユーザー アカウントの空き時間情報を提供できます。 ユーザーの予定表の時間ブロックの空き時間情報の状態は、不在、ビジー、仮、無料のいずれかです。
空き時間情報プロバイダーを作成する
メール ユーザーに空き時間情報を提供するために、メール プロバイダーによって空き時間情報プロバイダーが作成され、Outlook に登録されます。 空き時間情報プロバイダーは、次のインターフェイスを実装する必要があります。 これらのインターフェイスのメンバーの数はサポートされていないため、指定した戻り値を返す必要があることに注意してください。 特に、空き時間情報 API は空き時間情報への書き込みアクセスをサポートせず、アカウントへのアクセスを委任します。
IFreeBusySupport —このインターフェイスは、指定されたユーザーの空き時間情報データにアクセスするインターフェイスの仕様をサポートします。 FBUser を使用してユーザーを識別します。
IFreeBusyData —このインターフェイスは、特定のユーザーの時間範囲を取得および設定し、この時間範囲内のデータの空き時間ブロックを列挙するためのインターフェイスを返します。 この時間範囲を取得して設定するには、相対時間を使用します。 詳細については、「 相対時間を使用して空き時間データにアクセスする」を参照してください。
IEnumFBBlock —このインターフェイスは、時間範囲内のユーザーの空き時間情報ブロックへのアクセスと列挙をサポートします。
注:
列挙には、ユーザーの予定表 ( IFreeBusyData::EnumBlocks で指定) 内の期間の空き時間情報の状態を示す空き時間情報ブロックが含まれています。 予定表上のアイテム (予定や会議出席依頼など) は、列挙体のフォーム ブロックです。 予定表で互いに隣接し、空き時間情報が同じアイテムが結合され、1 つのブロックが形成されます。 予定表の空き期間もブロックを形成します。 したがって、列挙型の 2 つの連続するブロックの空き時間情報の状態は同じではなくなります。 これらのブロックは時間内に重複しません。 予定表に重複するアイテムがある場合、Outlook はこれらのアイテムをマージして、この優先順位に基づいて列挙体の重複しない空き時間情報ブロック (不在時、ビジー状態、仮設定) を形成します。
空き時間情報プロバイダーを Outlook に登録するには、メール プロバイダーで次の操作を行う必要があります。
空き時間情報プロバイダーを COM に登録し、プロバイダーの IFreeBusySupport の実装へのアクセスを許可する CLSID を提供します。
空き時間情報プロバイダーが存在することを、システム レジストリで次のキー (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 for respective implementation of IFreeBusySupport} このシナリオでは、Outlook は COM クラスを共同作成し、それを使用して SMTP メール ユーザーの空き時間情報を取得します。
SMTP 以外のアドレス入力の種類を使用するアドレス帳とトランスポート プロバイダーをサポートするには、それに応じて [名前] を変更します。
注:
インストール中に、空き時間情報プロバイダーは、同じアドレス エントリの種類のレジストリ設定が既に存在するかどうかをチェックする必要があります。 その場合、空き時間情報プロバイダーは、そのアドレス エントリの種類の現在のプロバイダーを上書きし、アンインストール時にそのプロバイダーに復元する必要があります。 ただし、ユーザーが同じアドレス 入力の種類に対して複数の空き時間情報プロバイダーをインストールした場合、ユーザーはインストールと逆の順序でこれらのプロバイダーをアンインストールする必要があります (つまり、常に最新のプロバイダーをアンインストールします)。 それ以外の場合、レジストリは既にアンインストールされているプロバイダーを指している可能性があります。
API コンポーネント
空き時間情報 API には、次のコンポーネントが含まれています。