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. |