IMAPIFolder::SetMessageStatus
Aplica-se a: Outlook 2013 | Outlook 2016
Define o status associado a uma mensagem (por exemplo, se essa mensagem está marcada para exclusão).
HRESULT SetMessageStatus(
ULONG cbEntryID,
LPENTRYID lpEntryID,
ULONG ulNewStatus,
ULONG ulNewStatusMask,
ULONG FAR * lpulOldStatus
);
Parâmetros
cbEntryID
[in] A contagem de bytes no identificador de entrada apontada pelo parâmetro lpEntryID .
Lpentryid
[in] Um ponteiro para o identificador de entrada da mensagem cujo status está definido.
ulNewStatus
[in] O novo status a ser atribuído.
ulNewStatusMask
[in] Um bitmask de sinalizadores que é aplicado ao novo status e indica os sinalizadores a serem definidos. Os seguintes sinalizadores podem ser definidos:
MSGSTATUS_DELMARKED
A mensagem foi marcada para exclusão.
MSGSTATUS_HIDDEN
A mensagem não deve ser exibida.
MSGSTATUS_HIGHLIGHTED
A mensagem deve ser exibida realçada.
MSGSTATUS_REMOTE_DELETE
A mensagem foi marcada para exclusão no repositório de mensagens remotas sem baixar para o cliente local.
MSGSTATUS_REMOTE_DOWNLOAD
A mensagem foi marcada para download do repositório de mensagens remoto para o cliente local.
MSGSTATUS_TAGGED
A mensagem foi marcada para uma finalidade definida pelo cliente.
lpulOldStatus
[out] Um ponteiro para o status anterior da mensagem.
Valor de retorno
S_OK
A mensagem status foi definida com êxito.
Comentários
O método IMAPIFolder::SetMessageStatus define a mensagem status para o valor armazenado em sua propriedade PR_MSG_STATUS (PidTagMessageStatus).
Observações para implementadores
Como a mensagem status bits são definidas, desmarcadas e usadas depende completamente da implementação, exceto que os bits 0 a 15 são reservados e devem ser zero.
A implementação desse método por um provedor de transporte remoto deve seguir a semântica descrita aqui. Não há considerações especiais. Os clientes usam esse método para definir os bits MSGSTATUS_REMOTE_DOWNLOAD e MSGSTATUS_REMOTE_DELETE para indicar que uma mensagem específica deve ser baixada ou excluída do repositório de mensagens remotas. Um provedor de transporte remoto não precisa implementar o método IMAPIFolder::GetMessageStatus relacionado. Os clientes devem examinar a tabela de conteúdo da pasta para determinar o status de uma mensagem.
Notas para chamadores
Você pode usar a propriedade PR_MSG_STATUS de uma mensagem para negociar uma operação de bloqueio de mensagens com outros clientes. Designe um pouco como o bit de bloqueio. Para determinar se o bit de bloqueio foi definido, examine o valor anterior para status de mensagem no parâmetro lpulOldStatus. Use os outros bits no parâmetro ulNewStatus para acompanhar a mensagem status sem interferir no bit de bloqueio.