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.