MAPI Record and Search Keys
Aplica-se a: Outlook 2013 | Outlook 2016
Chaves de registro e chaves de pesquisa são identificadores binários atribuídos a muitos objetos MAPI. Ao contrário do identificador de entrada de um objeto, seu registro ou chave de pesquisa é diretamente comparável, bem como transmitível.
Chaves de Registro
Uma chave de registro é usada para comparar dois objetos. Os objetos do repositório de mensagens e do catálogo de endereços devem ter chaves de registro, que são armazenadas em sua propriedade PR_RECORD_KEY (PidTagRecordKey). Como uma chave de registro identifica um objeto e não seus dados, cada instância de um objeto tem uma chave de registro exclusiva. O escopo de uma chave de registro para pastas e mensagens é o repositório de mensagens. O escopo para contêineres de catálogo de endereços, usuários de mensagens e listas de distribuição é o conjunto de contêineres de nível superior fornecidos pela MAPI para uso no catálogo de endereços integrado.
As chaves de registro podem ser duplicadas em outro recurso. Por exemplo, mensagens diferentes em dois repositórios de mensagens diferentes podem ter a mesma chave de registro. Isso é diferente dos identificadores de entrada de longo prazo; porque os identificadores de entrada de longo prazo contêm uma referência ao provedor de serviços, eles têm um escopo mais amplo. A chave de registro de um repositório de mensagens é semelhante no escopo a um identificador de entrada de longo prazo; ele deve ser exclusivo em todos os provedores do repositório de mensagens. Para garantir essa exclusividade, os provedores do repositório de mensagens normalmente definem sua chave de registro como um valor que é a combinação de sua propriedade PR_MDB_PROVIDER (PidTagStoreProvider) e um identificador exclusivo do repositório de mensagens.
Chaves de Pesquisa
Uma chave de pesquisa é usada para comparar os dados em dois objetos. A chave de pesquisa de um objeto é armazenada em sua propriedade PR_SEARCH_KEY (PidTagSearchKey). Como uma chave de pesquisa representa os dados de um objeto e não o objeto em si, dois objetos diferentes com os mesmos dados podem ter a mesma chave de pesquisa. Quando um objeto é copiado, por exemplo, o objeto original e sua cópia têm os mesmos dados e a mesma chave de pesquisa.
Os usuários de mensagens e mensagens têm chaves de pesquisa. A chave de pesquisa de uma mensagem é um identificador exclusivo dos dados da mensagem. Os provedores do repositório de mensagens fornecem a propriedade PR_SEARCH_KEY de uma mensagem no momento da criação da mensagem. A chave de pesquisa de uma entrada de catálogo de endereços é calculada a partir de seu tipo de endereço (PR_ADDRTYPE (PidTagAddressType)) e endereço (PR_EMAIL_ADDRESS (PidTagEmailAddress)). Se a entrada do catálogo de endereços for gravável, sua chave de pesquisa poderá não estar disponível até que o tipo de endereço e o endereço tenham sido definidos usando o método IMAPIProp::SetProps e a entrada tenha sido salva usando o método IMAPIProp::SaveChanges . Quando essas propriedades de endereço são alteradas, é possível que a chave de pesquisa correspondente não seja sincronizada com os novos valores até que as alterações sejam confirmadas com uma chamada SaveChanges .
O valor da chave de registro de um objeto pode ser igual ou diferente do valor de sua chave de pesquisa, dependendo do provedor de serviços. Alguns provedores de serviços usam o mesmo valor para a chave de pesquisa, a chave de registro e o identificador de entrada de um objeto. Outros provedores de serviços atribuem valores exclusivos para cada um dos identificadores de seus objetos.