Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Outlook 2013 | Outlook 2016
O Microsoft Office Outlook 2007, o Microsoft Outlook 2010 e o Microsoft Outlook 2013 interagem com o cache de apelidos, também conhecido como "fluxo de preenchimento automático". O fluxo de preenchimento automático é onde o Outlook mantém a lista de preenchimento automático, que é a lista de nomes exibida nas caixas de edição Para, Cc e Cco enquanto um usuário está redigindo 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 preenchimento automático.
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 objeto MAPI ou PropertyAccessor da mensagem. O objeto PropertyAccessor é exposto nos modelos de objeto do Outlook 2010 ou do Outlook 2013.
Não há dependências no modelo de objeto do Outlook 2007 ou nas APIs MAPI. Portanto, aplicativos que fazem alterações no fluxo de preenchimento automático no Outlook 2007 podem ser escritos usando qualquer linguagem de programação.
Interação com o Stream de Preenchimento Automático
Quando as caixas de edição Para, Cc ou Cco 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 preenchimento automático de duas maneiras:
Carregando o fluxo de preenchimento automático
Salvar alterações nos dados no fluxo de preenchimento automático
A maneira de armazenar os dados de preenchimento automático difere 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 do perfil e uma extensão .nk2. Por exemplo, se o perfil padrão do "outlook" for usado, o arquivo será chamado "outlook.nk2". O arquivo .nk2 está armazenado em %APPDATA%\Microsoft\Outlook. Para obter mais informações sobre o formato de arquivo binário de cache de apelidos, consulte Formato de arquivo NK2 do Outlook 2003/2007 e Diretrizes para desenvolvedores.
Outlook 2010 e Outlook 2013
O Outlook 2010 ou 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 entrega 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 nessa mensagem na propriedade PR_ROAMING_BINARYSTREAM (propriedade canônica PidTagRoamingBinary). Os dados de preenchimento automático podem ser temporariamente armazenados em cache em um arquivo de .dat de preenchimento automático localizado em %USERPROFILE%\AppData\Local\Microsoft\Outlook\RoamCache. No entanto, o arquivo .dat é apenas um cache e não é usado para fazer write-back no repositório de entrega quando o usuário sai do Outlook 2010 ou do Outlook 2013.
Carregando o Stream de Preenchimento Automático
O Outlook carrega o fluxo de preenchimento automático sempre que um item com funcionalidade de endereçamento é inicializado. Por exemplo, os endereços de email são usados em um novo email, uma resposta de 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 preenchimento automático, o Outlook interage exclusivamente com essa estrutura na memória durante o tempo de vida do processo outlook.exe. O Outlook só salva a estrutura no desligamento. Consulte a seção a seguir, "Salvando o Stream de Preenchimento Automático", para obter mais informações sobre esse processo.
Salvando o Stream de Preenchimento Automático
O Outlook salvará o fluxo de preenchimento automático no desligamento se a lista de preenchimento automático tiver sido alterada de qualquer uma das seguintes maneiras:
Uma nova entrada de apelido é adicionada ao resolver um nome, escolher um destinatário na caixa de diálogo do catálogo de endereços ou enviar um 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 secundários não relevantes para este tópico.
Salvar alterações nos dados de preenchimento automático envolve gravar a estrutura na memória de volta em um Stream de Preenchimento Automático. Ao interagir com o Outlook 2007, o fluxo é salvo em um arquivo .nk2 local. Para o Outlook 2010 ou o Outlook 2013, o fluxo de preenchimento automático grava de volta na 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 preenchimento automático. A interação com suporte é 1) ler todo o fluxo de preenchimento automático na memória, 2) modificar a estrutura da memória e 3) gravar todo o fluxo de volta na tabela Conteúdo Associado da Caixa de Entrada do repositório de entrega da conta de email (para Outlook 2010 ou Outlook 2013) ou no arquivo .nk2 local (Outlook 2007).
Não interaja com o fluxo de preenchimento automático 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 for desligado.
Não gravar 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ão compreendidas apenas pelo Outlook 2007, Outlook 2010 e Outlook 2013.
Ao desenvolver código que interaja com o Outlook 2007, recomendamos que você bloqueie o arquivo .nk2 contra modificação por outros processos enquanto o lê e grava 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 preenchimento automático. Para obter mais informações sobre as propriedades do fluxo de preenchimento automático e os tipos de propriedade, consulte Fluxo de preenchimento automático do Stream.
Confira também
Preenchimento Automático do Stream
Formato de arquivo NK2 do Outlook 2003/2007 e diretrizes para desenvolvedores