ITnef::OpenTaggedBody
Область применения: Outlook 2013 | Outlook 2016
Открывает интерфейс потока в тексте инкапсулированного сообщения.
HRESULT OpenTaggedBody(
LPMESSAGE lpMessage,
ULONG ulFlags,
LPSTREAM FAR * lppStream
);
Параметры
lpMessage
[в] Указатель на сообщение, с которым связан поток. Это сообщение не обязательно должно быть тем же сообщением, которое передается при вызове функции OpenTnefStream или OpenTnefStreamEx .
ulFlags
[в] Битовая маска флагов, управляющая открытием интерфейса потока. Можно задать следующие флаги:
MAPI_CREATE
Если свойство не существует в текущем сообщении, оно должно быть создано. Если свойство существует, текущие данные в свойстве должны быть заменены данными из потока TNEF Transport-Neutral. Когда реализация задает флаг MAPI_CREATE, она также должна задать флаг MAPI_MODIFY.
MAPI_MODIFY
Запрашивает разрешение на чтение и запись. Интерфейс по умолчанию доступен только для чтения. MAPI_MODIFY необходимо задавать каждый раз, когда задано MAPI_CREATE.
lppStream
[out] Указатель на указатель на объект потока, содержащий текст из свойства PR_BODY (PidTagBody) переданного инкапсулированного сообщения и поддерживающий интерфейс IStream .
Возвращаемое значение
S_OK
Вызов выполнен успешно и возвращает ожидаемое значение или значения.
Замечания
Поставщики транспорта, поставщики хранилища сообщений и шлюзы вызывают метод ITnef::OpenTaggedBody , чтобы открыть интерфейс потока в тексте инкапсулированного сообщения (то есть в объекте TNEF).
В процессе обработки OpenTaggedBody вставляет или анализирует теги вложений, указывающие на положение любых вложений или объектов OLE в тексте сообщения. Теги вложений имеют следующий формат:
[[имя вложения:nвимени контейнера вложений]]
имя вложения описывает объект вложения; n — это число, идентифицирующее вложение, которое является частью последовательности и увеличивается от значения, переданного в параметре lpKey функции OpenTnefStream или OpenTnefStreamEx ; и имя контейнера вложений описывает физический компонент, в котором находится объект вложения.
OpenTaggedBody считывает текст сообщения и вставляет тег вложения независимо от того, где первоначально в тексте появился объект вложения. Исходный текст сообщения не изменяется.
Когда сообщение с тегами передается в поток, теги удаляются, а объекты вложений перемещаются в положение тегов в потоке.