ITnef::FinishComponent
Область применения: Outlook 2013 | Outlook 2016
Обрабатывает отдельные компоненты из сообщения по одному в потокЕ формата инкапсуляции Transport-Neutral (TNEF).
HRESULT FinishComponent(
ULONG ulFlags,
ULONG ulComponentID,
LPSPropTagArray lpCustomPropList,
LPSPropValue lpCustomProps,
LPSPropTagArray lpPropList,
LPSTnefProblemArray FAR * lppProblems
);
Параметры
ulFlags
[в] Битовая маска флагов, которая определяет, какой компонент будет завершен. Необходимо задать один или другой из следующих флагов:
TNEF_COMPONENT_ATTACHMENT
Обработка объекта вложения будет завершена; Параметр ulComponentID содержит свойство PR_ATTACH_NUM (PidTagAttachNumber) вложения.
TNEF_COMPONENT_MESSAGE
Обработка объекта сообщения будет завершена.
ulComponentID
[in] 0, чтобы указать обработку сообщения, или свойство PR_ATTACH_NUM обрабатываемого вложения. Если флаг TNEF_COMPONENT_MESSAGE задан в параметре ulFlags , значение ulComponentID должно иметь значение 0.
lpCustomPropList
[в] Указатель на структуру SPropTagArray , содержащую теги свойств, которые идентифицируют свойства, передаваемые в параметре lpCustomProps . Между каждым значением свойства в lpCustomProps и тегом свойства в параметре lpCustomPropList должно быть одно к одному.
lpCustomProps
[в] Указатель на структуру SPropValue , содержащую значения свойств для кодирования свойств.
lpPropList
[в] Указатель на структуру SPropTagArray , содержащую теги свойств для кодирования свойств.
lppProblems
[out] Указатель на указатель на возвращенную структуру STnefProblemArray . Структура STnefProblemArray указывает, какие свойства, если таковые имелись, были закодированы неправильно. Если в параметре lppProblems передается значение NULL, массив проблем со свойствами не возвращается.
Возвращаемое значение
S_OK
����� ������� � ������ ��������� ��������� ��� ��������.
Замечания
Поставщики транспорта, поставщики хранилища сообщений и шлюзы вызывают метод ITnef::FinishComponent для выполнения обработки TNEF для одного компонента, сообщения или вложения, как указано флагом, установленным в параметре ulFlags .
Чтобы включить обработку компонентов, вызывающий поставщик или шлюз передает флаг TNEF_COMPONENT_ENCODING в ulFlags для функции OpenTnefStream или OpenTnefStreamEx , которая открыла объект для получения кодировки.
Передача значений в параметрах lpCustomPropList и lpCustomProps выполняет кодировку компонента, эквивалентную кодированию, выполняемой методом ITnef::SetProps . Передача значения в параметре lpPropList выполняет кодировку компонента, эквивалентную кодированию, выполняемой методом ITnef::AddProps с флагом TNEF_PROP_INCLUDE, установленным в ulFlags. Передача этих значений позволяет выполнять кодировки с одним вызовом, а не с несколькими вызовами.
Реализация TNEF сообщает о проблемах кодирования потока TNEF без остановки процесса FinishComponent . Структура STnefProblemArray, возвращаемая в lppProblems , указывает, какие атрибуты TNEF или свойства MAPI, если таковые есть, не удалось обработать. Значение, возвращаемое в элементе scode одной из структур STnefProblem , содержащейся в STnefProblemArray , указывает на конкретную проблему. Поставщик или шлюз может работать при условии, что все свойства или атрибуты, для которых FinishComponent не возвращает отчет о проблеме, успешно обработаны.
Если поставщик или шлюз не работает с проблемными массивами, он может передавать значение NULL в lppProblems; в этом случае массив проблем не возвращается.
Значение, возвращаемое в lppProblems , допустимо только в том случае, если вызов возвращает S_OK. При возврате S_OK поставщик или шлюз должен проверка значения, возвращенные в структуре STnefProblemArray. Если при вызове возникает ошибка, структура STnefProblemArray не заполняется, а вызывающий поставщик или шлюз не должны использовать или освобождать структуру. Если при вызове не произошла ошибка, вызывающий поставщик или шлюз должен освободить память для STnefProblemArray , вызвав функцию MAPIFreeBuffer .
См. также
ITnef::AddProps
ITnef::SetProps
MAPIFreeBuffer
OpenTnefStream
OpenTnefStreamEx
SPropTagArray
STnefProblemArray
ITnef : IUnknown