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