Поделиться через


Ключи для записи и поиска MAPI

Область применения: Outlook 2013 | Outlook 2016

Ключи записи и ключи поиска — это двоичные идентификаторы, назначенные многим объектам MAPI. В отличие от идентификатора записи объекта, его запись или ключ поиска напрямую сравнимы и передаются. 

Ключи записи

Ключ записи используется для сравнения двух объектов. Объекты хранилища сообщений и адресной книги должны иметь ключи записей, которые хранятся в свойстве PR_RECORD_KEY (PidTagRecordKey). Так как ключ записи идентифицирует объект, а не его данные, каждый экземпляр объекта имеет уникальный ключ записи. Область ключа записи для папок и сообщений — это хранилище сообщений. Область для контейнеров адресной книги, пользователей обмена сообщениями и списков рассылки — это набор контейнеров верхнего уровня, предоставляемых MAPI для использования в интегрированной адресной книге.

Ключи записей могут дублироваться в другом ресурсе. Например, разные сообщения в двух разных хранилищах сообщений могут иметь один и тот же ключ записи. Это отличается от долгосрочных идентификаторов входа; Поскольку долгосрочные идентификаторы входа содержат ссылку на поставщика услуг, они имеют более широкий область. Ключ записей хранилища сообщений аналогичен в область долгосрочному идентификатору записи; он должен быть уникальным для всех поставщиков хранилища сообщений. Чтобы обеспечить эту уникальность, поставщики хранилища сообщений обычно задают для своего ключа записи значение, которое представляет собой сочетание свойства PR_MDB_PROVIDER (PidTagStoreProvider) и идентификатора, уникального для хранилища сообщений.

Ключи поиска

Ключ поиска используется для сравнения данных в двух объектах. Ключ поиска объекта хранится в свойстве PR_SEARCH_KEY (PidTagSearchKey). Так как ключ поиска представляет данные объекта, а не сам объект, два разных объекта с одинаковыми данными могут иметь один и тот же ключ поиска. Например, при копировании объекта исходный объект и его копия имеют одинаковые данные и один и тот же ключ поиска.

У пользователей сообщений и сообщений есть ключи поиска. Ключ поиска сообщения — это уникальный идентификатор данных сообщения. Поставщики хранилища сообщений предоставляет свойство PR_SEARCH_KEY сообщения во время создания сообщения. Ключ поиска записи адресной книги вычисляется по типу адреса (PR_ADDRTYPE (PidTagAddressType)) и адресу (PR_EMAIL_ADDRESS (PidTagEmailAddress)). Если запись адресной книги доступна для записи, ее ключ поиска может быть недоступен, пока тип адреса и адрес не будут заданы с помощью метода IMAPIProp::SetProps , а запись не будет сохранена с помощью метода IMAPIProp::SaveChanges . При изменении этих свойств адреса соответствующий ключ поиска может не синхронизироваться с новыми значениями до тех пор, пока изменения не будут зафиксированы с помощью вызова SaveChanges .

Значение ключа записи объекта может совпадать со значением или отличаться от значения ключа поиска в зависимости от поставщика услуг. Некоторые поставщики услуг используют одно и то же значение для ключа поиска, ключа записи и идентификатора записи объекта. Другие поставщики услуг назначают уникальные значения для идентификаторов каждого из своих объектов.

См. также

���������� ���������� MAPI