Elección de una clase de mensaje
Hace referencia a: Outlook 2013 | Outlook 2016
Como se describe en Clases de mensajes MAPI, las clases de mensaje son importantes para establecer la relación entre los tipos de mensajes personalizados y, por extensión, entre los propios servidores de formularios. Afortunadamente, elegir una cadena de clase de mensaje es bastante sencillo. La cadena de clase de mensaje de una clase de mensaje es una cadena arbitraria, pero debe usar las siguientes convenciones:
La cadena debe cumplir todas las convenciones descritas en la documentación de la propiedad PR_MESSAGE_CLASS (PidTagMessageClass). Lo importante es que la cadena debe estar compuesta por completo de caracteres ANSI y tener menos de 256 caracteres.
Si el servidor de formularios se deriva de un servidor de formulario existente o es una extensión de un servidor de formularios existente, la cadena de clase de mensaje debe formarse agregando un punto y otra palabra a la cadena de clase de mensaje del servidor de formularios en el que se basa el formulario. Por ejemplo, es posible que quiera implementar un formulario para volver a programar una reunión y el formulario se basa en un formulario existente para programar reuniones. Si la cadena de clase de mensaje del formulario de programación de reuniones es "IPM. Meeting", la cadena de la clase de mensaje podría ser "IPM. Meeting.Reschedule".
Si el formulario no se basa en ningún formulario existente, la cadena de clase de mensaje debe comenzar con el prefijo "IPM" o "IPC", en función de si el formulario está pensado para ser recibido por una persona o por otra aplicación. "IPM." designa un mensaje de texto que normalmente termina en la Bandeja de entrada de un usuario, y "IPC." designa un mensaje de comunicación entre procesos que normalmente no se entrega a la Bandeja de entrada de un usuario.
Si la clase de mensaje está pensada para ser legible por el ser humano, la cadena de clase de mensaje debe empezar por "IPM". Por lo general, una clase de mensaje se considera legible si usa propiedades que contienen datos de texto sin formato, HTML o formato de texto enriquecido (RTF). Si el formulario usa la propiedad PR_BODY (PidTagBody), casi con toda seguridad debe usar una cadena de clase de mensaje "IPM". Por ejemplo, si va a implementar un formulario para pedidos de compra y su organización requiere que un administrador apruebe los pedidos de compra, la cadena de la clase de mensaje podría ser "IPM. Purchase_Order". Los formularios que están diseñados para su uso con carpetas públicas o aplicaciones de carpetas públicas se suelen considerar como booleanas porque son leídos por personas aunque en realidad no se dirigen a la dirección de correo electrónico de ninguna persona. El prefijo típico de las clases de mensajes de carpeta pública es "IPM.Post".
Si la clase de mensaje está pensada para ser recibida por otra aplicación en lugar de por una persona, la cadena de clase de mensaje debe empezar por "IPC". Por ejemplo, si va a implementar un formulario que permite a los usuarios suscribirse automáticamente a listas de correo, la cadena de clase de mensaje podría ser "IPC. Suscribirse".
La cadena de clase de mensaje nunca debe terminar con un punto.
La cadena de clase de mensaje debe colocarse en la sección [Descripción] del archivo de configuración del formulario, en la entrada MessageClass , de forma similar a la siguiente:
MessageClass=IPM.Meeting.Reschedule
Después de elegir una cadena de clase de mensaje adecuada, debe generar un identificador de clase para ella. Los identificadores de clase se pueden generar con el comando Create GUID que se incluye en Visual Studio. El identificador de clase debe colocarse en la entrada CLSID del archivo de configuración del formulario, junto con la entrada MessageClass , de forma similar a la siguiente:
CLSID={88FFF551-B8C5-11ce-8DE0-00AA0060D242}
El identificador de clase será casi con toda seguridad diferente, por supuesto. Para obtener más información, consulte Creación de un archivo de configuración de formulario.
Cuando el formulario se instala en el equipo de un usuario, el proceso de instalación (ya sea un programa de instalación o algo más) debe realizar una entrada del Registro en la sección *HKEY_CLASSES_ROOT\CLSID* del registro para el identificador de clase. Esta entrada debe establecerse en la cadena de clase de mensaje. Por ejemplo, crearía una entrada del Registro similar a la siguiente para el identificador de clase de ejemplo anterior:
HKEY_CLASSES_ROOT\CLSID\{88FFF551-B8C5-11ce-8DE0-00AA0060D242}="IPM.Meeting.Reschedule"
Para obtener más información, consulte Instalación de un formulario en una biblioteca.