Compartilhar via


Salvar propriedades MAPI

Aplica-se a: Outlook 2013 | Outlook 2016

Muitos objetos dão suporte a um modelo de transação de processamento pelo qual as alterações nas propriedades não são permanentes até que sejam confirmadas posteriormente. Enquanto as alterações nas propriedades são tratadas pelos métodos IMAPIProp::SetProps e IMAPIProp::D eleteProps , a etapa de confirmação é tratada por IMAPIProp::SaveChanges. É só depois de uma chamada bem-sucedida para SaveChanges que a versão mais recente das propriedades de um objeto pode ser acessada.

Quando SaveChanges retorna o valor de erro MAPI_E_OBJECT_CHANGED, este é um aviso de que outro cliente está simultaneamente cometendo alterações no objeto. É possível, dependendo do provedor implementar o objeto, que vários clientes abram um objeto com êxito chamando seu método OpenEntry com o conjunto de sinalizadores MAPI_MODIFY, dando-lhes acesso de leitura/gravação. O objeto retornado de tal chamada OpenEntry é um instantâneo dos dados de armazenamento. Cada tentativa subsequente de alterar esses dados pode substituir a tentativa anterior.

Ao receber MAPI_E_OBJECT_CHANGED do SaveChanges, um cliente tem a opção de:

  • Faça uma cópia do objeto para manter as alterações.

  • Faça outra chamada para SaveChanges, especificando FORCE_SAVE.

Chamar SaveChanges com o sinalizador FORCE_SAVE substitui a salvação anterior e torna as alterações de um cliente permanentes.

Confira também

Visão geral da propriedade MAPI