Compartilhar via


Sobre a API do serviço de disponibilidade

A API Free/Busy permite que os provedores de email forneçam informações de status gratuitas/ocupadas para contas de usuário especificadas dentro de um intervalo de tempo especificado. O status gratuito/ocupado de um bloco de tempo no calendário de um usuário é um dos seguintes: fora do escritório, ocupado, provisório ou gratuito.

Criar um provedor gratuito/ocupado

Para fornecer informações gratuitas/ocupadas aos usuários de email, um provedor de email cria um provedor gratuito/ocupado e registra-o no Outlook. O provedor livre/ocupado deve implementar as interfaces a seguir. Observe que vários membros nessas interfaces não têm suporte e devem retornar os valores de retorno especificados. Em particular, a API Livre/Ocupada não dá suporte ao acesso de gravação a informações gratuitas/ocupadas e delega o acesso a contas.

  • IFreeBusySupport — Essa interface dá suporte à especificação de interfaces que acessam dados gratuitos/ocupados para usuários especificados. Ele usa o FBUser para identificar um usuário.

  • IFreeBusyData — Essa interface obtém e define um intervalo de tempo para um determinado usuário e retorna uma interface para enumerar blocos de dados livres/ocupados nesse intervalo de tempo. Ele usa tempo relativo para obter e definir esse intervalo de tempo. Para obter mais informações, consulte Usar tempo relativo para acessar dados gratuitos/ocupados.

  • IEnumFBBlock — Essa interface dá suporte ao acesso e à enumeração de blocos de dados gratuitos/ocupados para um usuário dentro de um intervalo de tempo.

    Observação

    Uma enumeração contém blocos livres/ocupados que indicam o status livre/ocupado de períodos de tempo no calendário de um usuário, dentro de um intervalo de tempo (especificado por IFreeBusyData::EnumBlocks). Itens em um calendário, como compromissos e solicitações de reunião, formam blocos na enumeração. Os itens que são adjacentes uns aos outros no calendário e têm os mesmos status livres/ocupados são combinados para formar um único bloco. Um período livre de tempo em um calendário também forma um bloco. Portanto, nenhum bloco consecutivo em uma enumeração teria o mesmo status livre/ocupado. Esses blocos não se sobrepõem a tempo. Quando há itens sobrepostos em um calendário, o Outlook mescla esses itens para formar blocos de disponibilidade não sobrepostos na enumeração com base nesta ordem de prioridade: ausência temporária, ocupado, provisório.

Para registrar o provedor gratuito/ocupado com o Outlook, o provedor de email deve fazer o seguinte:

  1. Registre o provedor gratuito/ocupado com COM, fornecendo um CLSID que permite acesso à implementação do IFreeBusySupport pelo provedor.

  2. Informe ao Outlook que o provedor livre/ocupado existe definindo a seguinte chave (em que <xx.x> representa a versão do Outlook) no registro do sistema:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\<xx.x>\Outlook\SchedulingInformation\FreeBusySupport

    Por exemplo, se o provedor de transporte for SMTP, para registrar o provedor com Microsoft Outlook 2010, defina a seguinte chave para os dados na seguinte tabela:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Outlook\SchedulingInformation\FreeBusySupport

    Nome Tipo Valor
    SMTP REG_SZ {CLSID para a respectiva implementação do IFreeBusySupport}

    Nesse cenário, o Outlook cria a classe COM e a usa para recuperar informações gratuitas/ocupadas para qualquer usuário de email SMTP.

Para dar suporte a um catálogo de endereços e um provedor de transporte que usa um tipo de entrada de endereço diferente do SMTP, altere o Nome de acordo.

Observação

Durante a instalação, os provedores gratuitos/ocupados devem marcar se já existe uma configuração de registro para o mesmo tipo de entrada de endereço. Se isso acontecer, o provedor livre/ocupado deverá substituir o provedor atual para esse tipo de entrada de endereço e restaurar para esse provedor quando ele desinstalar. No entanto, se um usuário instalou mais de um provedor gratuito/ocupado para o mesmo tipo de entrada de endereço, o usuário deverá desinstalar esses provedores na ordem inversa como instalação (ou seja, sempre desinstalar o provedor mais recente). Caso contrário, o registro pode apontar para um provedor que já foi desinstalado.

Componentes de API

A API Livre/Ocupada inclui os seguintes componentes:

Definições

Tipos de dados

Interfaces