IMAPIFolder::DeleteMessages
Aplica-se a: Outlook 2013 | Outlook 2016
Exclui uma ou mais mensagens.
HRESULT DeleteMessages(
LPENTRYLIST lpMsgList,
ULONG_PTR ulUIParam,
LPMAPIPROGRESS lpProgress,
ULONG ulFlags
);
Parâmetros
lpMsgList
[in] Um ponteiro para uma estrutura ENTRYLIST que contém o número de mensagens a serem excluídas e uma matriz de estruturas ENTRYID que identificam as mensagens.
ulUIParam
[in] Um identificador para a janela pai do indicador de progresso. O parâmetro ulUIParam é ignorado, a menos que o sinalizador MESSAGE_DIALOG seja definido no parâmetro ulFlags .
lpProgress
[in] Um ponteiro para um objeto de progresso que exibe um indicador de progresso. Se NULL for passado em lpProgress, o provedor do repositório de mensagens exibirá um indicador de progresso usando a implementação do objeto de progresso MAPI. O parâmetro lpProgress é ignorado, a menos que o sinalizador MESSAGE_DIALOG seja definido no parâmetro ulFlags .
ulFlags
[in] Um bitmask de sinalizadores que controla como as mensagens são excluídas. Os seguintes sinalizadores podem ser definidos:
DELETE_HARD_DELETE
Remove permanentemente todas as mensagens, incluindo as excluídas.
MESSAGE_DIALOG
Exibe um indicador de progresso à medida que a operação prossegue.
Valor de retorno
S_OK
A mensagem ou as mensagens especificadas foram excluídas com êxito.
MAPI_W_PARTIAL_COMPLETION
A chamada foi bem-sucedida, mas nem todas as mensagens foram excluídas com êxito. Quando esse aviso é retornado, a chamada deve ser tratada como bem-sucedida. Para testar esse aviso, use a macro HR_FAILED . Para obter mais informações, confira Usando macros para tratamento de erros.
Comentários
O método IMAPIFolder::D eleteMessages exclui mensagens de uma pasta. Mensagens que não existem, que foram movidas para outro lugar, que estão abertas com permissão de leitura/gravação ou que estão atualmente enviadas não podem ser excluídas.
Observações para implementadores
Quando a operação de exclusão envolver mais de uma mensagem, execute a operação o mais completamente possível para cada pasta, mesmo que uma ou mais mensagens não possam ser excluídas. Não interrompa a operação prematuramente, a menos que ocorra uma falha que esteja fora de seu controle, como ficar sem memória, ficar sem espaço em disco ou corrupção no repositório de mensagens.
Notas para chamadores
Espere esses valores retornados nas seguintes condições.
Condition | Valor de retorno |
---|---|
DeleteMessages excluiu com êxito todas as mensagens. | S_OK |
DeleteMessages não pôde excluir com êxito cada mensagem e subpasta. | MAPI_W_PARTIAL_COMPLETION ou MAPI_E_NOT_FOUND |
DeleteMessages não pôde ser concluído. | Qualquer valor de erro, exceto MAPI_E_NOT_FOUND |
Quando DeleteMessages não puder ser concluído, não suponha que nenhum trabalho tenha sido feito. DeleteMessages pode ter sido capaz de excluir uma ou mais mensagens antes de encontrar o erro.
DeleteMessages retorna MAPI_W_PARTIAL_COMPLETION ou MAPI_E_NOT_FOUND, dependendo da implementação do repositório de mensagens.
Referência do MFCMAPI
Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.
Arquivo | Função | Comentário |
---|---|---|
FolderDlg.cpp |
CFolderDlg::OnDeleteSelectedItem |
O MFCMAPI usa o método IMAPIFolder::D eleteMessages para excluir as mensagens especificadas. |