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


IMAPISupport::RegisterPreprocessor

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

Регистрирует функцию препроцессора поставщика транспорта (функцию, соответствующую прототипу PreprocessMessage ).

HRESULT RegisterPreprocessor(
LPMAPIUID lpMuid,
LPSTR lpszAdrType,
LPSTR lpszDLLName,
LPSTR lpszPreprocess,
LPSTR lpszRemovePreprocessInfo,
ULONG ulFlags
);

Параметры

lpMuid

[в] Указатель на структуру MAPIUID , содержащую идентификатор, обрабатываемый функцией препроцессора. Параметр lpMuid может иметь значение NULL.

lpszAdrType

[в] Указатель на тип адреса для сообщений, с которыми работает функция, например FAX, SMTP или X500. Параметр lpszAdrType может иметь значение NULL.

lpszDLLName

[в] Указатель на имя библиотеки динамической компоновки (DLL), содержащей точку входа для функции препроцессора.

lpszPreprocess

[в] Указатель на имя функции препроцессора. Параметр lpszPreprocess может иметь значение NULL.

lpszRemovePreprocessInfo

[в] Указатель на имя функции, которая удаляет сведения препроцессора (функция, соответствующая прототипу RemovePreprocessInfo ). Параметр lpszRemovePreprocessInfo может иметь значение NULL.

ulFlags

Защищены; значение должно быть равно нулю.

Возвращаемое значение

S_OK

Функция препроцессора успешно зарегистрирована.

Замечания

Метод IMAPISupport::RegisterPreprocessor реализован только для объектов поддержки поставщика транспорта. Поставщики транспорта вызывают RegisterPreprocessor для регистрации функции препроцессора (функции, которая соответствует прототипу PreprocessMessage ). Функция препроцессора должна быть зарегистрирована, прежде чем диспетчер очереди MAPI сможет вызвать ее.

Параметры lpszPreprocess, lpszRemovePreprocessInfo и lpszDLLName должны указывать на строки, которые можно использовать вместе с вызовами функции Win32 GetProcAddress , что позволяет правильно вызывать точку входа библиотеки DLL препроцессора.

Примечания для вызывающих методов

Вызовы препроцессоров зависят от порядка поставщика транспорта. Это означает, что если другой поставщик транспорта перед вашим поставщиком может обработать сообщение, функция препроцессора не будет вызываться для этого сообщения. Функция препроцессора будет вызываться только для сообщений, которые будут обрабатываться.

Функции препроцессора можно написать для обработки определенного идентификатора, хранящегося в структуре MAPIUID , или типа адреса. Если указать структуру MAPIUID в параметре lpMuid и тип адреса в параметре lpszAdrType , функция будет вызываться для получателей сообщений, соответствующих типу MAPIUID или адреса. Если lpMuid имеет значение NULL, а значение lpszAdrType не равно NULL, функция будет вызываться только для получателей, у которых есть адрес, соответствующий типу, на который указывает lpszAdrType. Если lpMuid не имеет значения NULL, а lpszAdrType имеет значение NULL, функция будет вызываться для получателей, которые соответствуют MAPIUID, независимо от типа их адреса. Если оба имеют значение NULL, функция вызывается для всех получателей сообщения.

См. также

MAPIUID
PreprocessMessage
RemovePreprocessInfo
IMAPISupport: IUnknown