Идентификаторы записей MAPI
Область применения: Outlook 2013 | Outlook 2016
Идентификаторы входа — это фрагменты двоичных данных, хранящихся в структуре ENTRYID , которые используются для уникальной идентификации и открытия объекта MAPI. Большинство объектов MAPI имеют идентификаторы входа. Идентификаторы входа для объектов аналогичны именам файлов для файлов. Однако они не передаются и не могут использоваться в системах, отличных от системы, в которой они были созданы.
Идентификаторы входа
Поставщики хранилища сообщений назначают идентификаторы записей хранилищам сообщений, папкам и сообщениям; Поставщики адресных книг назначают их контейнерам адресных книг, спискам рассылки и пользователям обмена сообщениями. Идентификаторы входа также используются для открытия объекта, представленного строкой в таблице, например объекта состояния в таблице состояния. Объекты хранят свои идентификаторы записей в свойстве PR_ENTRYID (PidTagEntryId).
В то время как поставщики услуг создают, назначают и проверяют идентификаторы записей, клиентские приложения используют их только в качестве средств для открытия объектов. Для клиентов идентификаторы входа являются непрозрачными фрагментами двоичных данных и не имеют ничего общего с базовой системой обмена сообщениями.
Клиенты вызывают метод IMAPIProp::GetProps объекта, чтобы получить его свойство PR_ENTRYID , или метод IMAPITable::QueryColumns таблицы, чтобы получить столбец, содержащий свойство PR_ENTRYID .
Идентификаторы записей передаются в качестве параметров в методы OpenEntry и CompareEntryIDs . Несколько объектов MAPI реализуют методы OpenEntry и CompareEntryIDs . С помощью OpenEntry клиенты могут открывать объект . С помощью compareEntryIDs клиенты могут сравнить два идентификатора записи, чтобы определить, ссылаются ли они на один и тот же объект. Так как идентификаторы входа не обязательно являются двоичными, клиенты должны сравнивать их с помощью метода CompareEntryIDs .
Клиенты всегда должны передавать естественно выровненные идентификаторы входа в своих вызовах поставщикам услуг, так как поставщики услуг должны обрабатывать идентификаторы записей, которые произвольно выровнены, это не всегда так. Естественно выровненный адрес памяти позволяет компьютеру получить доступ к любому типу данных, который он поддерживает по указанному адресу, не создавая ошибки выравнивания. Коэффициент естественного выравнивания обычно совпадает с коэффициентом выравнивания, используемым системным распределителем памяти, и обычно составляет 8 байт.
Идентификаторы входа бывают двух типов: краткосрочные и долгосрочные. Краткосрочные идентификаторы входа создаются быстрее, но их уникальность гарантируется только на протяжении всего текущего сеанса на текущей рабочей станции. Долгосрочные идентификаторы входа имеют более длительный срок жизни. Краткосрочные идентификаторы записей используются в основном для строк в таблицах и записях в диалоговых окнах, тогда как идентификаторы долгосрочных записей используются для многих объектов, таких как сообщения, папки и списки рассылки.