Ouverture d’un message
S’applique à : Outlook 2013 | Outlook 2016
Pour ouvrir un message
Récupérez l’identificateur d’entrée du message à partir de l’une des sources suivantes :
Ligne qui représente le message dans la table des matières de son dossier parent. Pour plus d’informations sur l’utilisation d’une table de contenu de dossier, consultez Tables de contenu.
Membre lpEntryID de la structure NEWMAIL_NOTIFICATION envoyée avec une nouvelle notification par courrier électronique. Pour plus d’informations sur la réception et la gestion des notifications, consultez Gestion des notifications.
Appel à la méthode IMAPIProp ::GetProps du message demandant la propriété PR_ENTRYID (PidTagEntryId).
Appelez l’une des méthodes OpenEntry suivantes pour ouvrir le message, en définissant lpEntryID sur l’identificateur d’entrée du message :
La méthode la plus rapide est utilisable uniquement pour les messages entrants et implique l’appel de la méthode IMAPIFolder ::OpenEntry du dossier de réception. La méthode la plus rapide suivante, l’appel de la méthode IMsgStore ::OpenEntry de la banque de messages, est utilisable pour tous les messages, car elle est la méthode la plus lente, en appelant IMAPISession ::OpenEntry.
Remarque
Les dossiers et leurs tables de contenu peuvent être fermés à tout moment sans affecter négativement les messages qui ont été ouverts à partir de ces derniers.
Pour ouvrir un message qui a été enregistré sur le disque
Appelez StgOpenStorage pour récupérer un pointeur d’interface IStorage , en passant le nom du fichier de message pour le paramètre pwcsName .
LPSTORAGE pStorage = NULL; HRESULT hr = StgOpenStorage (L"MESSAGE.MSG", NULL, STGM_TRANSACTED | STGM_READWRITE | STGM_SHARE_EXCLUSIVE, NULL, 0, &pStorage);
Appelez OpenIMsgOnIStg pour récupérer un pointeur d’interface IMessage pour accéder au message.
LPMESSAGE pMessage = NULL; LPMALLOC pMalloc = MAPIGetDefaultMalloc(); hr = OpenIMsgOnIStg (NULL, MAPIAllocateBuffer, MAPIAllocateMore, MAPIFreeBuffer, pMalloc, NULL, pStorage, NULL, 0, 0, &pMessage);