IPropData::HrAddObjProps
Область применения: Outlook 2013 | Outlook 2016
Добавляет в объект одно или несколько свойств типа PT_OBJECT.
HRESULT HrAddObjProps(
LPSPropTagArray lpPropTagArray,
LPSPropProblemArray FAR * lppProblems
);
Параметры
lpPropTagArray
[в] Указатель на массив тегов свойств, указывающих добавляемые свойства.
lppProblems
[вход, выход] На входных данных — допустимый указатель на структуру SPropProblemArray или NULL. В выходных данных — указатель на указатель на структуру, содержащую сведения о свойствах, которые не удалось добавить, или NULL. Указатель на структуру массива проблемных свойств возвращается только в том случае, если передается допустимый указатель.
Возвращаемое значение
S_OK
Свойства успешно добавлены.
MAPI_E_INVALID_TYPE
Тип свойства, отличный от PT_OBJECT, передан в массиве, на который указывает параметр lpPropTagArray .
MAPI_E_NO_ACCESS
Объекту задано запретить разрешение на чтение и запись.
MAPI_W_PARTIAL_COMPLETION
Некоторые, но не все свойства были добавлены.
Замечания
Метод IPropData::HrAddObjProps добавляет в объект одно или несколько свойств типа PT_OBJECT. HrAddObjProps предоставляет альтернативу методу IMAPIProp::SetProps для свойств объекта, так как свойства объекта не могут быть созданы путем вызова SetProps. Добавление свойства объекта приводит к включению тега свойства в список тегов свойств, возвращаемых методом IMAPIProp::GetPropList .
Примечания для вызывающих методов
Если HrAddObjProps возвращает MAPI_W_PARTIAL_COMPLETION, а для lppProblems задан допустимый указатель, проверка возвращаемую структуру SPropProblemArray, чтобы узнать, какие свойства не были добавлены. Как правило, единственной проблемой, которая возникает, является нехватка памяти. Освободите структуру SPropProblemArray , вызвав функцию MAPIFreeBuffer по завершении работы с ней.
Чтобы добавить свойство, целевой объект должен иметь разрешение на чтение и запись. Если HrAddObjProps возвращает MAPI_E_NO_ACCESS, добавить свойства в объект нельзя, так как он не допускает изменения. Чтобы получить разрешение на чтение и запись объекта перед вызовом HrAddObjProps, вызовите IPropData::HrSetObjAccess и задайте для параметра ulAccess значение IPROP_READWRITE.