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


IMAPISupport::PrepareSubmit

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

Подготавливает сообщение для отправки в диспетчер очереди MAPI.

HRESULT PrepareSubmit(
LPMESSAGE lpMessage,
ULONG FAR * lpulFlags
);

Параметры

lpMessage

[в] Указатель на подготавливаемое сообщение.

lpulFlags

[вход, выход] Во входных данных параметр lpulFlags зарезервирован и должен быть равен нулю. В выходных данных значение lpulFlags должно иметь значение NULL.

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

S_OK

Сообщение было успешно подготовлено.

Замечания

Метод IMAPISupport::P repareSubmit реализован для объектов поддержки поставщика хранилища сообщений. Поставщики хранилища сообщений вызывают PrepareSubmit в реализации метода IMessage::SubmitMessage для подготовки сообщения для отправки в диспетчер очереди MAPI.

PrepareSubmit используется для обработки сообщений с флагом MSGFLAG_RESEND, установленным в свойстве PR_MESSAGE_FLAGS (PidTagMessageFlags). MSGFLAG_RESEND настроено для сообщений, включающих запрос, при сбое первоначальной передачи. PrepareSubmit определяет, какие из получателей в списке получателей успешно получили сообщение, а какие нет.

Для доступа к списку получателей PrepareSubmit вызывает метод IMessage::GetRecipientTable сообщения. Чтобы получить данные получателя, PrepareSubmit вызывает метод IMAPITable::QueryRows таблицы получателей . Для каждой строки таблицы PrepareSubmit проверяет свойство PR_RECIPIENT_TYPE (PidTagRecipientType) и выполняет одно из следующих действий:

  • Если флаг MAPI_SUBMITTED установлен, PrepareSubmit очищает флаг и задает для свойства PR_RESPONSIBILITY (PidTagResponsibility) значение FALSE.

  • Если флаг MAPI_SUBMITTED не задан, параметр PrepareSubmit изменит PR_RECIPIENT_TYPE на MAPI_P1, а PR_RESPONSIBILITY — TRUE.

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

Перед вызовом PrepareSubmit убедитесь, что вы вызвали метод IMAPISupport::SpoolerNotify и задайте флаг NOTIFY_READYTOSEND в параметре ulFlags . Вызов SpoolerNotify должен выполняться один раз за сеанс перед вызовом PrepareSubmit. SpoolerNotify синхронизирует диспетчер очереди MAPI и обеспечивает вход всех необходимых поставщиков транспорта и регистрацию их типов адресов.

См. также

IMAPIFolder::GetMessageStatus
IMessage::SubmitMessage
IMAPISupport: IUnknown