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


ENTRYID

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

Содержит идентификатор записи для объекта MAPI.

Свойство Значение
Файл заголовка:
Mapidefs.h
Связанные макросы:
CbNewENTRYID, SizedENTRYID
typedef struct
{
  BYTE abFlags[4];
  BYTE ab[MAPI_DIM];
} ENTRYID, FAR *LPENTRYID;

Members

abFlags

Битовая маска флагов, которые предоставляют сведения, описывающие объект . Поставщик может задать только первый байт флагов , abFlags[0]; остальные три зарезервированы. Эти флаги не должны быть заданы для идентификаторов постоянных записей; Они задаются только для краткосрочных идентификаторов входа. Для клиентов эта структура доступна только для чтения. В abFlags[0] можно задать следующие флаги:

MAPI_NOTRECIP

Идентификатор записи нельзя использовать в качестве получателя сообщения.

MAPI_NOTRESERVED

Другие пользователи не могут получить доступ к идентификатору записи.

MAPI_NOW

Идентификатор записи нельзя использовать в другое время.

MAPI_SHORTTERM

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

MAPI_THISSESSION

Идентификатор записи нельзя использовать в других сеансах.

Ab

Указывает массив двоичных данных, используемый поставщиками услуг. Клиентское приложение не может использовать этот массив.

Замечания

Структура ENTRYID используется поставщиками хранилища сообщений и адресных книг для создания уникальных идентификаторов для своих объектов. Идентификаторы входа используются для идентификации следующих типов объектов:

  • Хранилища сообщений

  • Folders

  • Сообщения

  • Контейнеры адресных книг

  • Списки рассылки

  • Пользователи обмена сообщениями

  • Объекты состояний

  • Разделы профиля

Каждый поставщик использует формат для структуры ENTRYID , который имеет смысл для этого поставщика.

Идентификаторы входа нельзя сравнивать напрямую, так как один объект может быть представлен двумя разными двоичными значениями. Чтобы определить, представляют ли два идентификатора записи один и тот же объект, вызовите метод IMAPISession::CompareEntryIDs .

Когда клиент вызывает метод IMAPIProp::GetProps объекта для получения идентификатора записи, объект возвращает наиболее постоянную форму идентификатора записи. Клиент может убедиться, что идентификатор записи является долгосрочным, проверив, что ни один из флагов не задан в первом байте элемента abFlags .

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

Некоторые идентификаторы входа являются краткосрочными, но имеют долгосрочное использование. Такой идентификатор записи будет иметь один или несколько соответствующих флагов, заданных в первом байте элемента abFlags .

Структура ENTRYID похожа на структуру FLATENTRY . Однако существуют некоторые отличия:

  • В структуре ENTRYID не хранится размер идентификатора записи; структура FLATENTRY делает.

  • Структура ENTRYID хранит данные флага и остальную часть идентификатора записи отдельно; Структура FLATENTRY хранит данные флага с остальной частью идентификатора записи.

  • Структура ENTRYID передается в качестве параметра методам интерфейса IMAPIProp и следующим методам OpenEntry : IABLogon::OpenEntry, IAddrBook::OpenEntry, IMAPIContainer::OpenEntry, IMAPISession::OpenEntry, IMAPISupport::OpenEntry, IMsgStore::OpenEntry, IMSLogon::OpenEntry

  • Структура ENTRYID используется для хранения идентификатора записи на диске. Структура FLATENTRY используется для хранения идентификатора записи в файле или его передачи в потоке байтов.

Клиенты всегда должны передавать естественно выровненные идентификаторы записей. Хотя поставщики должны обрабатывать произвольно выровненные идентификаторы входа, клиенты не должны ожидать такого поведения. Сбой передачи правильно выровненного идентификатора записи в метод может привести к сбою выравнивания на процессорах RISC.

Коэффициент естественного выравнивания, обычно 8 байтов, является наибольшим типом данных, поддерживаемым ЦП, и, как правило, тот же коэффициент выравнивания, который используется системным распределителем памяти. Естественно выровненный адрес памяти позволяет ЦП получить доступ к любому типу данных, который он поддерживает на этом адресе без возникновения сбоя выравнивания. Для ЦП RISC тип данных размера N байт обычно должен быть выровнен по четным N байтам, при этом адрес будет кратным N.

Дополнительные сведения см. в разделе Идентификаторы входа.

См. также

FLATENTRY

IMAPISupport::CompareEntryIDs

Каноническое свойство PidTagRecordKey

Структуры MAPI