Поделиться через


Выбор класса message

Область применения: Outlook 2013 | Outlook 2016

Как описано в разделе Классы сообщений MAPI, классы сообщений важны для установления связи между типами пользовательских сообщений и, в итоге, между самими серверами форм. К счастью, выбрать строку класса сообщения довольно просто. Строка класса сообщений класса сообщений является произвольной строкой, но в ней должны использоваться следующие соглашения:

  • Строка должна соответствовать всем соглашениям, описанным в документации по свойству PR_MESSAGE_CLASS (PidTagMessageClass). Важно отметить, что строка должна состоять полностью из символов ANSI и содержать менее 256 символов.

  • Если сервер форм является производным от существующего сервера форм или является расширением существующего сервера форм, строка класса сообщений должна быть сформирована путем добавления точки и другого слова в строку класса сообщений сервера форм, на который основана форма. Например, может потребоваться реализовать форму для переноса собрания, а форма основана на существующей форме для планирования собраний. Если строка класса сообщения формы планирования собрания имеет значение IPM. Meeting", строка класса сообщения может иметь значение IPM. Meeting.Reschedule".

  • Если форма не основана на существующей форме, строка класса сообщения по-прежнему должна начинаться с префикса "IPM." или "IPC." в зависимости от того, должна ли форма быть получена пользователем или другим приложением. "IPM." обозначает межличностное сообщение, которое обычно попадает в папку "Входящие" пользователя, а "IPC". обозначает межпроцессное сообщение, которое обычно не доставляется в папку "Входящие" пользователя.

  • Если класс сообщений предназначен для чтения человеком, строка класса сообщений должна начинаться с "IPM". Класс сообщений обычно считается удобочитаемым, если он использует какие-либо свойства, содержащие данные обычного текста, HTML или RTF. Если в форме используется свойство PR_BODY (PidTagBody), она почти наверняка должна использовать строку класса сообщения IPM.. Например, если вы реализуете форму для заказов на покупку и ваша организация требует, чтобы заказы на покупку были утверждены менеджером, строка класса сообщения может быть "IPM. Purchase_Order". Формы, предназначенные для использования с общедоступными папками или приложениями общедоступных папок, обычно считаются межличностными, так как они читаются людьми, даже если на самом деле они не предназначены для адреса электронной почты какого-либо пользователя. Типичный префикс для классов сообщений общедоступных папок — "IPM.Post".

  • Если ваш класс сообщений предназначен для получения другим приложением, а не пользователем, строка класса сообщений должна начинаться с "IPC". Например, если вы реализуете форму, которая позволяет пользователям автоматически подписываться на списки рассылки, строка класса сообщения может быть "IPC. Подписаться".

  • Строка класса сообщения никогда не должна заканчиваться точкой.

Строка класса сообщений должна быть помещена в раздел [Описание] файла конфигурации формы в записи MessageClass , как показано ниже:

MessageClass=IPM.Meeting.Reschedule

Выбрав соответствующую строку класса сообщения, необходимо создать для нее идентификатор класса. Идентификаторы классов можно создать с помощью команды Create GUID , которая включена в Visual Studio. Идентификатор класса должен быть помещен в запись CLSID файла конфигурации формы вместе с записью MessageClass , как показано ниже:

CLSID={88FFF551-B8C5-11ce-8DE0-00AA0060D242}

Конечно, идентификатор класса будет отличаться. Дополнительные сведения см. в разделе Создание файла конфигурации формы.

При установке формы на компьютере пользователя процесс установки (будь то программа установки или что-то другое) должен внести запись реестра в раздел *HKEY_CLASSES_ROOT\CLSID* реестра для идентификатора класса. Для этой записи должна быть задана строка класса сообщения. Например, для приведенного выше идентификатора класса можно создать запись реестра, аналогичную приведенной ниже:

HKEY_CLASSES_ROOT\CLSID\{88FFF551-B8C5-11ce-8DE0-00AA0060D242}="IPM.Meeting.Reschedule"

Дополнительные сведения см. в разделе Установка формы в библиотеку.

См. также

Разработка серверов форм MAPI