Partager via


IMAPIFolder::DeleteMessages

S’applique à : Outlook 2013 | Outlook 2016

Supprime un ou plusieurs messages.

HRESULT DeleteMessages(
  LPENTRYLIST lpMsgList,
  ULONG_PTR ulUIParam,
  LPMAPIPROGRESS lpProgress,
  ULONG ulFlags
);

Paramètres

lpMsgList

[in] Pointeur vers une structure ENTRYLIST qui contient le nombre de messages à supprimer et un tableau de structures ENTRYID qui identifient les messages.

ulUIParam

[in] Handle de la fenêtre parente de l’indicateur de progression. Le paramètre ulUIParam est ignoré, sauf si l’indicateur MESSAGE_DIALOG est défini dans le paramètre ulFlags .

lpProgress

[in] Pointeur vers un objet progress qui affiche un indicateur de progression. Si NULL est passé dans lpProgress, le fournisseur de magasin de messages affiche un indicateur de progression à l’aide de l’implémentation de l’objet de progression MAPI. Le paramètre lpProgress est ignoré, sauf si l’indicateur MESSAGE_DIALOG est défini dans le paramètre ulFlags .

ulFlags

[in] Masque de bits d’indicateurs qui contrôle la façon dont les messages sont supprimés. Les indicateurs suivants peuvent être définis :

DELETE_HARD_DELETE

Supprime définitivement tous les messages, y compris les messages supprimés de manière réversible.

MESSAGE_DIALOG

Affiche un indicateur de progression à mesure que l’opération se poursuit.

Valeur renvoyée

S_OK

Le ou les messages spécifiés ont été supprimés avec succès.

MAPI_W_PARTIAL_COMPLETION

L’appel a réussi, mais tous les messages n’ont pas été supprimés avec succès. Lorsque cet avertissement est retourné, l’appel doit être géré comme ayant réussi. Pour tester cet avertissement, utilisez la macro HR_FAILED . Pour plus d’informations, consultez Utilisation de macros pour la gestion des erreurs.

Remarques

La méthode IMAPIFolder ::D eleteMessages supprime les messages d’un dossier. Les messages qui n’existent pas, qui ont été déplacés ailleurs, qui sont ouverts avec une autorisation de lecture/écriture ou qui sont actuellement envoyés ne peuvent pas être supprimés.

Remarques pour les responsables de l’implémentation

Lorsque l’opération de suppression implique plusieurs messages, effectuez l’opération aussi complètement que possible pour chaque dossier, même si un ou plusieurs messages ne peuvent pas être supprimés. N’arrêtez pas l’opération prématurément, sauf si une défaillance indépendante de votre contrôle se produit, telle qu’une insuffisance de mémoire, un manque d’espace disque ou une altération dans la banque de messages.

Remarques pour les appelants

Attendez-vous à ces valeurs de retour dans les conditions suivantes.

Condition Valeur renvoy�e
DeleteMessages a supprimé tous les messages. S_OK
DeleteMessages n’a pas pu supprimer correctement chaque message et sous-dossier. MAPI_W_PARTIAL_COMPLETION ou MAPI_E_NOT_FOUND
DeleteMessages n’a pas pu se terminer. Toute valeur d’erreur à l’exception de MAPI_E_NOT_FOUND

Lorsque DeleteMessages ne peut pas se terminer, ne supposez pas qu’aucun travail n’a été effectué. DeleteMessages a peut-être pu supprimer un ou plusieurs messages avant de rencontrer l’erreur.

DeleteMessages retourne MAPI_W_PARTIAL_COMPLETION ou MAPI_E_NOT_FOUND, en fonction de l’implémentation de la banque de messages.

Référence MFCMAPI

Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.

Fichier Fonction Commentaire
FolderDlg.cpp
CFolderDlg ::OnDeleteselectedItem
MFCMAPI utilise la méthode IMAPIFolder ::D eleteMessages pour supprimer les messages spécifiés.

Voir aussi

ENTRYID

ENTRYLIST

IMAPIFolder : IMAPIContainer

MFCMAPI comme un exemple de Code

Utilisation de macros pour la gestion des erreurs