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


IMAPIFolder::CreateMessage

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

Создает новое сообщение.

HRESULT CreateMessage(
  LPCIID lpInterface,
  ULONG ulFlags,
  LPMESSAGE FAR * lppMessage
);

Параметры

lpInterface

[в] Указатель на идентификатор интерфейса (IID), представляющий интерфейс, используемый для доступа к новому сообщению. Допустимые идентификаторы интерфейса включают IID_IUnknown, IID_IMAPIProp, IID_IMAPIContainer и IID_IMAPIFolder. Передача NULL приводит к тому, что поставщик хранилища сообщений возвращает стандартный интерфейс сообщений IMessage : IMAPIProp.

ulFlags

[в] Битовая маска флагов, управляющая способом создания сообщения. Можно задать следующие флаги:

ITEMPROC_FORCE

Указывает для хранилища личных папок (PST), что сообщение подходит для обработки правил, прежде чем хранилище уведомляет любого прослушивающего клиента о поступлении нового сообщения. Обработка правил применяется только к новым сообщениям, созданным на сервере, который не является Microsoft Exchange Server, так как Exchange Server обрабатывает правила для сообщений на сервере. Поэтому поставщик или клиент, создающий сообщение, должен передать этот флаг в сочетании с сохранением сообщения с помощью IMAPIPProp::SaveChanges с помощью NON_EMS_XP_SAVE, который указывает, что сервер не является Exchange Server.

MAPI_ASSOCIATED

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

MAPI_DEFERRED_ERRORS

Функция CreateMessage может быть успешной, даже если операция создания не завершена полностью. Это означает, что новое сообщение может быть не сразу доступно вызывающей.

lppMessage

[out] Указатель на указатель на только что созданное сообщение.

Возвращаемое значение

S_OK

Сообщение успешно создано.

Замечания

Метод IMAPIFolder::CreateMessage создает новое сообщение с универсальным или связанным содержимым и назначает идентификатор записи. Идентификатор записи состоит из части, представляющей поставщика хранилища сообщений, и части, представляющей отдельное сообщение.

Примечания для исполнителей

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

Дополнительные сведения о работе со связанными сведениями см. в разделе Таблицы и таблицы содержимого, связанные с папками.

Примечания для вызывающих методов

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

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

Чтобы создать исходящее сообщение, вызовите метод IMAPIFolder::CreateMessage папки Outbox.

Если удалить папку, содержащую новое сообщение, перед сохранением сообщения результаты будут неопределенными.

Справочные материалы по MFCMAPI

Пример кода MFCMAPI указан в приведенной ниже таблице.

Файл Функция Comment
FolderDlg.cpp
CFolder::OnNewMessage
MFCMAPI использует метод IMAPIFolder::CreateMessage для создания и сохранения нового сообщения.

См. также

IMAPIProp::SaveChanges

IMAPIFolder : IMAPIContainer

Mfcmapi (en) � �������� ������� ����