IMessage::SubmitMessage
Hace referencia a: Outlook 2013 | Outlook 2016
Guarda todas las propiedades del mensaje y marca el mensaje como listo para enviarse.
HRESULT SubmitMessage(
ULONG ulFlags
);
Parameters
ulFlags
[in] Máscara de bits de marcas usadas para controlar cómo se envía un mensaje. Se puede establecer la marca siguiente:
FORCE_SUBMIT
MAPI debe enviar el mensaje inmediatamente. Esta marca no está actualmente en uso.
Valor devuelto
S_OK
La llamada se ha realizado correctamente y devuelva el valor esperado o los valores.
MAPI_E_NO_RECIPIENTS
La tabla de destinatarios del mensaje está vacía.
Comentarios
El método IMessage::SubmitMessage marca un mensaje como listo para transmitirse. MAPI pasa mensajes al sistema de mensajería subyacente en el orden en que se marcan para el envío. Debido a esta funcionalidad, un mensaje podría permanecer en un almacén de mensajes durante algún tiempo antes de que el sistema de mensajería subyacente pueda asumir la responsabilidad de él. El orden de recepción en el destino está en el control del sistema de mensajería subyacente y no coincide necesariamente con el orden en que se enviaron los mensajes.
Notas a los implementadores
Llame al método IMAPIProp::SaveChanges del mensaje para guardarlo y, a continuación, compruebe la propiedad PR_MESSAGE_FLAGS del mensaje (PidTagMessageFlags). Si se establece la marca de MSGFLAG_RESEND, llame a IMAPISupport::P repareSubmit. PrepareSubmit actualiza el tipo de destinatario y la propiedad PR_RESPONSIBILITY (PidTagResponsibility) para todos los destinatarios del mensaje de reenvío.
Notas para los llamadores
Cuando submitmessage devuelve, todos los punteros al mensaje y sus subobjetos asociados mensajes, carpetas, datos adjuntos, secuencias, tablas, etc. ya no son válidos. MAPI no permite ninguna operación adicional en estos punteros, excepto para llamar a sus métodos IUnknown::Release . MAPI está diseñado de modo que después de llamar a SubmitMessage , debe liberar el mensaje y todos los subobjetos asociados. Sin embargo, si SubmitMessage devuelve un valor de error que indica que falta información o no es válida, el mensaje permanece abierto y los punteros siguen siendo válidos.
Para cancelar una operación de envío, obtenga y almacene un puntero a la propiedad PR_ENTRYID (PidTagEntryId) del mensaje antes de enviar el mensaje. Dado que el identificador de entrada de un mensaje se invalida después de enviar el mensaje, es necesario guardarlo antes de llamar a SubmitMessage. Para cancelar el envío, apunte el parámetro lpEntryId a este identificador de entrada y llame a IMsgStore::AbortSubmit.
Referencia de MFCMAPI
Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.
Archivo | Función | Comment |
---|---|---|
FolderDlg.cpp |
CFolderDlg::OnSubmitMessage |
MFCMAPI usa el método IMessage::SubmitMessage para enviar el mensaje seleccionado. |