Compartir a través de


PreprocessMessage

Hace referencia a: Outlook 2013 | Outlook 2016

Define una función que preprocesa el contenido del mensaje o el formato de un mensaje.

Propiedad Valor
Archivo de encabezado:
Mapispi.h
Función definida implementada por:
Proveedores de transporte
Función definida a la que llama:
Cola MAPI
HRESULT PreprocessMessage(
  LPVOID lpvSession,
  LPMESSAGE lpMessage,
  LPADRBOOK lpAdrBook,
  LPMAPIFOLDER lpFolder,
  LPALLOCATEBUFFER AllocateBuffer,
  LPALLOCATEMORE AllocateMore,
  LPFREEBUFFER FreeBuffer,
  ULONG FAR * lpcOutbound,
  LPMESSAGE FAR * FAR * lpppMessage,
  LPADRLIST FAR * lppRecipList
);

Parameters

lpvSession

[in] Puntero a la sesión que se va a usar.

lpMessage

[in] Puntero al mensaje que se va a preprocesar.

lpAdrBook

[in] Puntero a la libreta de direcciones desde la que el usuario debe seleccionar destinatarios para el mensaje.

lpFolder

[entrada, salida] Puntero a una carpeta. En la entrada, el parámetro lpFolder apunta a la carpeta que contiene los mensajes que se van a preprocesar. En la salida, lpFolder apunta a la carpeta donde se han colocado los mensajes preprocesados.

lpAllocateBuffer

[in] Puntero a la función MAPIAllocateBuffer , que se usará para asignar memoria.

lpAllocateMore

[in] Puntero a la función MAPIAllocateMore , que se usará para asignar memoria adicional cuando sea necesario.

lpFreeBuffer

[in] Puntero a la función MAPIFreeBuffer , que se usará para liberar memoria.

lpcOutbound

[out] Puntero al número de mensajes de la matriz a los que apunta el parámetro lpppMessage .

lpppMessage

[out] Puntero a un puntero a una matriz de punteros a mensajes preprocesados o generados de otro modo.

lppRecipList

[out] Puntero a una estructura ADRLIST devuelta opcional, que enumera los destinatarios detectados por el preprocesador para los que el mensaje no se puede entregar. Para obtener más información sobre el contenido de esta lista, vea el método IMAPISupport::StatusRecips .

Valor devuelto

S_OK

El contenido del mensaje se preprocesó correctamente.

Comentarios

Un preprocesador de mensajes del proveedor de transporte puede presentar un indicador de progreso durante el preprocesamiento del mensaje. Sin embargo, nunca debe presentar un cuadro de diálogo que requiera la interacción del usuario durante el preprocesamiento de mensajes.

Cuando un preprocesador agrega grandes cantidades de datos a un mensaje saliente, se deben seguir determinados procedimientos. Este tipo de mensaje se puede almacenar en un almacén de mensajes basado en servidor, lo que hace que el preprocesador acceda a un almacén remoto, un procedimiento que consume mucho tiempo. Para evitar tener que hacerlo, el preprocesador debe tener una opción que le permita almacenar datos que toman una gran cantidad de espacio en un almacén de mensajes local y proporcionar una referencia a ese almacén local en el mensaje.

El preprocesador no debe liberar ninguno de los objetos pasados originalmente a la función basada en PreprocessMessage .

Antes de que la cola MAPI pueda llamar a una función PreprocessMessage , el proveedor de transporte debe haber registrado la función en una llamada al método IMAPISupport::RegisterPreprocessor . Después de llamar a una función PreprocessMessage , el colador no puede continuar enviando un mensaje hasta que la función vuelva.

La cola MAPI es propietaria de la tarea de enviar mensajes. Esto significa que el mensaje original nunca se coloca en una matriz de punteros de mensaje y que nunca se requiere una llamada a los métodos SubmitMessage .

Vea también

IAddrBook : IMAPIProp
IMAPIFolder : IMAPIContainer
IMAPISupport: IUnknown