Compartilhar via


IPropData::HrAddObjProps

Aplica-se a: Outlook 2013 | Outlook 2016

Adiciona uma ou mais propriedades do tipo PT_OBJECT ao objeto.

HRESULT HrAddObjProps(
  LPSPropTagArray lpPropTagArray,
  LPSPropProblemArray FAR * lppProblems
);

Parâmetros

Lpproptagarray

[in] Um ponteiro para uma matriz de marcas de propriedade que indicam as propriedades a serem adicionadas.

lppProblems

[in, out] Na entrada, um ponteiro válido para uma estrutura SPropProblemArray ou NULL. Na saída, um ponteiro para um ponteiro para uma estrutura que contém informações sobre propriedades que não puderam ser adicionadas ou NULL. Um ponteiro para uma estrutura de matriz de problemas de propriedade só será retornado se um ponteiro válido for passado.

Valor de retorno

S_OK

As propriedades foram adicionadas com êxito.

MAPI_E_INVALID_TYPE

Um tipo de propriedade diferente de PT_OBJECT foi passado na matriz à qual o parâmetro lpPropTagArray aponta.

MAPI_E_NO_ACCESS

O objeto foi definido para não permitir permissão de leitura/gravação.

MAPI_W_PARTIAL_COMPLETION

Algumas, mas não todas, das propriedades foram adicionadas.

Comentários

O método IPropData::HrAddObjProps adiciona uma ou mais propriedades do tipo PT_OBJECT ao objeto. HrAddObjProps fornece uma alternativa ao método IMAPIProp::SetProps para propriedades de objeto, pois as propriedades do objeto não podem ser criadas chamando SetProps. Adicionar uma propriedade de objeto resulta na marca de propriedade sendo incluída na lista de marcas de propriedade que o método IMAPIProp::GetPropList retorna.

Notas para chamadores

Se HrAddObjProps retornar MAPI_W_PARTIAL_COMPLETION e você tiver definido lppProblems como um ponteiro válido, marcar a estrutura SPropProblemArray retornada para descobrir quais propriedades não foram adicionadas. Normalmente, o único problema que ocorre é a falta de memória. Libere a estrutura SPropProblemArray chamando a função MAPIFreeBuffer quando terminar com ela.

Para adicionar uma propriedade, o objeto de destino deve ter permissão de leitura/gravação. Se HrAddObjProps retornar MAPI_E_NO_ACCESS, você não poderá adicionar propriedades ao objeto porque ele não permite modificação. Para obter permissão de leitura/gravação para um objeto antes de chamar HrAddObjProps, chame IPropData::HrSetObjAccess e defina o parâmetro ulAccess como IPROP_READWRITE.

Confira também

MAPIFreeBuffer

SPropProblemArray

SPropTagArray

IPropData: IMAPIProp