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


Таблицы вложений

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

Таблица вложений содержит сведения обо всех объектах вложений, связанных с отправленным сообщением или сообщением в композиции.

В таблицу включаются только вложения, сохраненные с помощью вызова метода IMAPIProp::SaveChanges сообщения. Таблицы вложений реализуются поставщиками хранилища сообщений и используются клиентскими приложениями и поставщиками транспорта.

Доступ к таблице вложений можно получить, вызвав один из следующих вызовов:

Таблицы вложений являются динамическими.

Поставщики хранилища сообщений не обязаны поддерживать сортировку в таблицах вложений. Если сортировка не поддерживается, таблица должна быть представлена по порядку путем отрисовки позиции — свойства PR_RENDERING_POSITION (PidTagRenderingPosition).

Поставщики хранилища сообщений также не обязаны поддерживать ограничения для таблиц вложений. Поставщики, которые не поддерживают ограничения, возвращают MAPI_E_NO_SUPPORT из своих реализаций IMAPITable::Restrict и IMAPITable::FindRow.

Таблицы вложений могут быть небольшими; В наборе обязательных столбцов есть только четыре столбца:

PR_ATTACH_NUM не передается и содержит значение для уникальной идентификации вложения в сообщении. Это свойство часто используется в качестве индекса в строках таблицы. PR_ATTACH_NUM имеет короткий срок жизни; он действителен только при открытии сообщения, содержащего вложение. Его значение гарантированно останется постоянным до тех пор, пока таблица вложений открыта.

PR_INSTANCE_KEY требуется почти в каждой таблице. Он используется для уникальной идентификации конкретной строки.

PR_RECORD_KEY обычно используется для уникальной идентификации объекта в целях сравнения. В отличие от PR_ATTACH_NUM, PR_RECORD_KEY имеет те же область, что и долгосрочный идентификатор входа; он остается доступным и действительным даже после закрытия и повторного открытия сообщения. Дополнительные сведения об использовании ключей записей в MAPI см. в разделе MapI Record and Search Keys.

PR_RENDERING_POSITION указывает, как вложение должно отображаться в сообщении с форматированным текстом. Для него можно задать смещение в символах, при этом первый символ содержимого сообщения, хранящийся в свойстве PR_BODY (PidTagBody), будет смещением 0 или значением -1 (0xFFFFFFFF), что указывает на то, что вложение вообще не должно отображаться в тексте сообщения. Параметр не PR_RENDERING_POSITION также является параметром.

При сортировке таблицы вложений по позиции отрисовки поставщик хранилища сообщений обрабатывает ее как подписанное значение (PT_LONG). Таким образом, вложения с позициями отрисовки -1 сортируются перед вложениями с позициями отрисовки, отражающими допустимые смещения.

Дополнительные сведения о отрисовке вложения в виде обычного текстового сообщения см. в разделе Отрисовка вложения в виде обычного текста.

Сведения о отображении вложения в формате текста, например в формате RTF, см. в разделе Отрисовка вложения в тексте RTF.

Некоторые из поставщиков хранилища сообщений свойств обычно включаются в таблицу вложений, так как их легко вычислить или извлечь:

Property ...
PR_ATTACH_ENCODING (PidTagAttachEncoding)
PR_ATTACH_EXTENSION (PidTagAttachExtension)
PR_ATTACH_FILENAME (PidTagAttachFilename)
PR_ATTACH_LONG_FILENAME (PidTagAttachLongFilename)
PR_ATTACH_PATHNAME (PidTagAttachPathname)
PR_ATTACH_LONG_PATHNAME (PidTagAttachLongPathname)
PR_ATTACH_METHOD (PidTagAttachMethod)
PR_ATTACH_TAG (PidTagAttachTag)
PR_CREATION_TIME (PidTagCreationTime)
PR_ATTACH_TRANSPORT_NAME (PidTagAttachTransportName)
PR_DISPLAY_NAME (PidTagDisplayName)
PR_LAST_MODIFICATION_TIME (PidTagLastModificationTime)

См. также