Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Outlook 2013 | Outlook 2016
Идентификаторы входа создаются со структурой ENTRYID . Структура ENTRYID состоит из флага, который описывает атрибуты идентификатора записи и фактического идентификатора записи.
Структура ENTRYID
Структура ENTRYID определяется следующим образом:
typedef struct
{
BYTE abFlags[4];
BYTE ab[MAPI_DIM];
} ENTRYID, FAR *LPENTRYID;
MAPI_DIM — это константа, определенная в файле заголовка MapiDefs.h.
Первый байт 4-байтового элемента abFlags описывает тип и использование идентификатора записи и может иметь следующие значения:
MAPI_NOTRECIP — указывает, что идентификатор записи не может использоваться в качестве получателя сообщения.
MAPI_NOTRESERVED — указывает, что другие пользователи не могут получить доступ к идентификатору записи.
MAPI_NOW — указывает, что идентификатор записи нельзя использовать в другое время.
MAPI_SHORTTERM — указывает, что идентификатор записи является краткосрочным. Все остальные значения в этом байте должны быть заданы, если не разрешено другое использование идентификатора записи.
MAPI_THISSESSION — указывает, что идентификатор записи нельзя использовать в других сеансах.
MAPI_NOTRESERVED — указывает, что идентификатор записи может использоваться другими поставщиками служб для других объектов.
Член ab идентификаторов записей, создаваемый поставщиками адресной книги и хранилища сообщений, состоит из двух частей: 16-байтовой структуры MAPIUID , определяющей поставщика услуг, и части для идентификации объекта. MAPIUID — это структура, содержащая глобальный уникальный идентификатор или GUID. GUID — это независимый от порядка байтов идентификатор, который можно создать с помощью средства Microsoft Visual Studio*Create GUID**.
Поставщик услуг регистрирует свою структуру MAPIUID в MAPI во время процесса входа в вызов метода IMAPISupport::SetProviderUID . Когда клиент вызывает метод OpenEntry для доступа к объекту, MAPI использует структуру MAPIUID , чтобы определить, какой поставщик услуг может предоставить этот доступ. Поставщики служб должны использовать одну и ту же структуру MAPIUID для всех версий библиотек DLL. Это позволяет клиентам с более новой версией отвечать на сообщения, отправленные и сохраненные в старой версии.
Остальная часть члена AB после 16-байтового mapIUID содержит двоичные данные поставщика услуг для идентификации конкретных объектов. Фиксированный размер для этой части идентификатора записи отсутствует. Он может быть любого размера, в пределах причины. Поставщик услуг обычно включает в эту часть идентификаторов записей следующие сведения:
Сведения о версии. Так как поставщик услуг часто изменяет формат своих идентификаторов входа с версии на версию, хранение сведений о версии позволяет быстро определить способ расшифровки любого идентификатора записи.
Сведения о расположении . Сведения о расположении — это данные, которые предоставляют поставщику услуг индикатор того, как найти объект, представленный идентификатором записи. Например, поставщик услуг может сохранить смещение диска для последнего места в файле данных, в который был сохранен объект . Так как этот тип информации может со временем меняться, поставщики услуг должны предоставить несколько способов размещения объектов в идентификаторах записей.
Хотя поставщики услуг могут повторно использовать свои идентификаторы входа, им следует избегать такой практики. Если необходимо повторно использовать идентификатор записи, поставщики услуг должны сделать период времени, который истекает между первоначальным использованием и повторным использованием, как можно дольше. Кроме того, идентификатор записи следует переназначить другому объекту того же типа. То есть определенный идентификатор записи не должен быть связан сначала с сообщением, а затем с папкой.