Compartilhar via


Cache de apelidos

Aplica-se a: Outlook 2013 | Outlook 2016

Microsoft Office Outlook 2007, Microsoft Outlook 2010 e Microsoft Outlook 2013 interagem com o cache de apelido, também conhecido como o "fluxo de preenchimento automático". O fluxo de compensação automática é onde o Outlook persiste a lista de autocompletos, que é a lista de nomes exibidos nas caixas de edição To, Cc e Bcc enquanto um usuário está compondo um email. Este tópico descreve como o Outlook 2007, o Outlook 2010 e o Outlook 2013 interagem com o fluxo de preenchimento automático e também discute o formato binário do arquivo e as maneiras recomendadas de interagir com o fluxo de autocompletar.

Para aplicativos que interagem com o Outlook 2010 ou o Outlook 2013, o fluxo de preenchimento automático é armazenado como uma propriedade MAPI e pode ser modificado usando o MAPI ou o objeto PropertyAccessor da mensagem. O objeto PropertyAccessor é exposto nos modelos de objeto do Outlook 2010 ou outlook 2013.

Não há dependências no modelo de objeto do Outlook 2007 ou APIs MAPI. Portanto, aplicativos que fazem alterações no fluxo de preenchimento automático no Outlook 2007 podem ser gravados usando qualquer linguagem de programação.

Interagindo com o Stream de autocompletar

Quando as caixas de edição To, Cc ou Bcc são acessadas em uma mensagem, o fluxo de preenchimento automático é carregado e a lista de nomes de usuário é exibida. O Outlook interage com o fluxo de autocompletar de duas maneiras:

  1. Carregando o fluxo de autocompletar

  2. Salvar alterações nos dados no fluxo de preenchimento automático

Os meios de armazenar os dados de preenchimento automático diferem entre o Outlook 2007 e o Outlook 2010 ou o Outlook 2013 da seguinte maneira:

Outlook 2007

Para o Outlook 2007, o fluxo de preenchimento automático é armazenado em um arquivo com o mesmo nome que o perfil e uma extensão de .nk2. Por exemplo, se o perfil padrão de "outlook" for usado, o arquivo será chamado de "outlook.nk2". O arquivo .nk2 é armazenado em %APPDATA%\Microsoft\Outlook. Para obter mais informações sobre o formato de arquivo binário de cache de apelido, consulte Outlook 2003/2007 NK2 File Format and Developer Guidelines.

Outlook 2010 e Outlook 2013

O Outlook 2010 ou o Outlook 2013 lê o fluxo de preenchimento automático de uma mensagem na tabela Conteúdo Associado da caixa de entrada do repositório de entregas da conta de email. Essa mensagem oculta tem uma classe de mensagem e um assunto de IPM. Configuration.Autocomplete. O fluxo de preenchimento automático é armazenado nesta mensagem na propriedade PR_ROAMING_BINARYSTREAM (Propriedade Canônica PidTagRoamingBinary). Os dados de preenchimento automático podem ser armazenados temporariamente em cache em um arquivo de .dat de autocompletar localizado em %USERPROFILE%\AppData\Local\Microsoft\Outlook\RoamCache. No entanto, o arquivo .dat é apenas um cache e não é usado para gravar de volta no repositório de entrega quando o usuário sai do Outlook 2010 ou do Outlook 2013.

Carregar o Stream de autocompletar

O Outlook carrega o fluxo de preenchimento automático sempre que um item com a funcionalidade de endereçamento é inicializado. Por exemplo, endereços de email são usados em um novo email, uma resposta por email, um item de contato, uma solicitação de reunião e assim por diante. Para carregar os dados, o Outlook lê todo o conteúdo do fluxo na memória.

Para operações de autocompletar, o Outlook interage exclusivamente com essa estrutura na memória durante a duração do outlook.exe tempo de vida do processo. O Outlook salva apenas a estrutura no desligamento. Confira a seção a seguir "Salvando o Stream de autocompletar" para obter mais informações sobre esse processo.

Salvando o Stream de autocompletar

O Outlook salvará o fluxo de preenchimento automático no desligamento se a lista de autocompletos tiver sido alterada de qualquer uma das seguintes maneiras:

  • Uma nova entrada de apelido é adicionada por meio da resolução de um nome, da escolha de um destinatário da caixa de diálogo do catálogo de endereços ou do envio de email para um destinatário que ainda não estava na lista.

  • Uma entrada é modificada enviando emails para um destinatário existente na lista.

  • Uma entrada é removida pelo usuário por meio da interface do usuário.

  • Outros cenários menores não relevantes para este tópico.

Salvar alterações nos dados de autocompletar envolve gravar a estrutura na memória novamente em um Stream de autocompletar. Ao interagir com o Outlook 2007, o fluxo é salvo em um arquivo .nk2 local. Para o Outlook 2010 ou Outlook 2013, o fluxo de autocompletar grava de volta para a tabela Conteúdo Associado da caixa de entrada do repositório de entrega da conta de email.

Recomendações

  • Nunca modifique parcialmente o fluxo de autocompletar. A interação com suporte é 1) leia todo o fluxo de autocompletar na memória 2) modifique a estrutura de memória e 3) escreva todo o fluxo de volta para a tabela Conteúdo Associado da caixa de entrada do repositório de entrega da conta de email (para Outlook 2010 ou Outlook 2013) ou para o arquivo .nk2 local (Outlook 2007).

  • Não interaja com o fluxo de autocompletar enquanto o Outlook estiver em execução. Se o Outlook estiver em execução enquanto você modifica o fluxo, ele provavelmente substituirá suas alterações quando ele for desligado.

  • Não escreva propriedades do tipo PT_MV_UNICODE e PR_MV_STRING8 em um fluxo de preenchimento automático a ser consumido pelo Microsoft Outlook 2003. Essas propriedades só são compreendidas pelo Outlook 2007, Outlook 2010 e Outlook 2013.

  • Ao desenvolver o código que interage com o Outlook 2007, é recomendável bloquear o arquivo .nk2 de modificação por outros processos enquanto estiver lendo e gravando-o usando APIs de bloqueio de arquivo padrão (por exemplo, LockFile em C/C++ e FileStream.Lock em C#).

  • Modifique apenas as propriedades dos tipos que são do conjunto de linhas do fluxo de autocompletar. Para obter mais informações sobre as propriedades do fluxo automático e os tipos de propriedade, consulte Autocomplete Stream.

Confira também

Autocompletar Stream

Perfis MAPI

Diretrizes de desenvolvedor e formato de arquivo NK2 do Outlook 2003/2007