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


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.

См. также

MAPIFreeBuffer

SPropProblemArray

SPropTagArray

IPropData : IMAPIProp