Compartir a través de


IMAPIFolder::CreateMessage

Hace referencia a: Outlook 2013 | Outlook 2016

Crea un nuevo mensaje.

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

Parameters

lpInterface

[in] Puntero al identificador de interfaz (IID) que representa la interfaz que se va a usar para acceder al nuevo mensaje. Los identificadores de interfaz válidos incluyen IID_IUnknown, IID_IMAPIProp, IID_IMAPIContainer y IID_IMAPIFolder. Pasar NULL hace que el proveedor del almacén de mensajes devuelva la interfaz de mensaje estándar , IMessage : IMAPIProp.

ulFlags

[in] Máscara de bits de marcas que controla cómo se crea el mensaje. Se pueden establecer las siguientes marcas:

ITEMPROC_FORCE

Indica al almacén de carpetas personales (PST) que el mensaje es apto para el procesamiento de reglas antes de que el almacén notifique a cualquier cliente de escucha la llegada del nuevo mensaje. El procesamiento de reglas solo se aplica a los mensajes nuevos que se crean en un servidor que no es un Microsoft Exchange Server, porque Exchange Server procesa las reglas de los mensajes en el servidor. Por lo tanto, el proveedor o cliente que crea el mensaje debe pasar esta marca en combinación con guardar un mensaje con IMAPIPProp::SaveChanges mediante NON_EMS_XP_SAVE, lo que indica que el servidor no es un Exchange Server.

MAPI_ASSOCIATED

El mensaje que se va a crear debe incluirse en la tabla de contenido asociada en lugar de en la tabla de contenido estándar. Los mensajes asociados se ocultan de la interacción del usuario.

MAPI_DEFERRED_ERRORS

CreateMessage puede realizarse correctamente incluso si la operación de creación no se ha completado por completo. Esto implica que es posible que el nuevo mensaje no esté disponible inmediatamente para el autor de la llamada.

lppMessage

[out] Puntero a un puntero al mensaje recién creado.

Valor devuelto

S_OK

El mensaje se creó correctamente.

Comentarios

El método IMAPIFolder::CreateMessage crea un nuevo mensaje con contenido genérico o asociado y asigna un identificador de entrada. El identificador de entrada consta de una parte que representa el proveedor del almacén de mensajes y una parte que representa el mensaje individual.

Notas a los implementadores

Puede elegir si desea establecer todas las propiedades de mensaje necesarias en CreateMessage o en el método IMAPIProp::SaveChanges del mensaje. No es necesario que estas propiedades estén disponibles hasta que se haya realizado un guardado correcto.

Para obtener más información sobre cómo trabajar con información asociada, vea Tablas de información y tablas de contenido asociadas a carpetas.

Notas para los llamadores

Algunos proveedores de almacén de mensajes permiten que el identificador de entrada del nuevo mensaje esté disponible inmediatamente después de que CreateMessage devuelva; otros proveedores de almacén de mensajes retrasan su disponibilidad hasta que se guarda el mensaje. Dado que no todos los proveedores de almacén de mensajes generan un identificador de entrada para un nuevo mensaje hasta que haya llamado al método IMAPIProp::SaveChanges del mensaje, es posible que no pueda tener acceso al identificador de entrada cuando createMessage devuelva. Además, es posible que el nuevo mensaje no se incluya en la tabla de contenido de la carpeta hasta que se produzca el guardado.

Espere que el identificador de entrada asignado al nuevo mensaje sea único no solo en el almacén de mensajes actual, sino que lo más probable es que todos los almacenes de mensajes estén abiertos al mismo tiempo. Una excepción a esta regla se produce cuando aparecen varias entradas para un almacén de mensajes en el perfil. Esto hace que el almacén de mensajes se abra varias veces y que los identificadores de entrada se dupliquen.

Para crear un mensaje saliente, llame al método IMAPIFolder::CreateMessage de la carpeta Bandeja de salida.

Si elimina una carpeta que contiene un mensaje nuevo antes de guardar el mensaje, los resultados no están definidos.

Referencia de MFCMAPI

Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.

Archivo Función Comment
FolderDlg.cpp
CFolder::OnNewMessage
MFCMAPI usa el método IMAPIFolder::CreateMessage para crear y guardar un mensaje nuevo.

Vea también

IMAPIProp::SaveChanges

IMAPIFolder : IMAPIContainer

MFCMAPI como un ejemplo de c�digo