Fonction de rappel MAPISAVEMAIL (mapi.h)
[L’utilisation de cette fonction est déconseillée. Il peut être modifié ou indisponible dans les versions ultérieures de Windows.]
La fonction MAPISaveMail enregistre un message dans la banque de messages.
Syntaxe
MAPISAVEMAIL Mapisavemail;
ULONG Mapisavemail(
[in] LHANDLE lhSession,
[in] ULONG_PTR ulUIParam,
[in] lpMapiMessage lpMessage,
[in] FLAGS flFlags,
ULONG ulReserved,
[in] LPSTR lpszMessageID
)
{...}
Paramètres
[in] lhSession
Handle pour une session MAPI simple ou zéro. La valeur du paramètre lhSession ne doit pas être égale à zéro si le paramètre lpszMessageID contient un identificateur de message valide. Toutefois, si lpszMessageID ne contient pas d’identificateur de message valide et que la valeur de lhSession est égale à zéro, MAPI journalise l’utilisateur et crée une session qui existe uniquement pendant la durée de l’appel. Cette session temporaire peut être une session partagée existante ou une nouvelle. Si nécessaire, la boîte de dialogue d’ouverture de session s’affiche.
[in] ulUIParam
Poignée de fenêtre parente ou zéro, indiquant que si une boîte de dialogue s’affiche, il s’agit d’une application modale. Si le paramètre ulUIParam contient un handle de fenêtre parent, il est de type HWND (cast en ULONG_PTR). Si aucune boîte de dialogue n’est affichée pendant l’appel, ulUIParam est ignoré.
[in] lpMessage
Paramètre d’entrée pointant vers une structure MapiMessage contenant le contenu du message à enregistrer. Le membre lpOriginator est ignoré. Les applications peuvent ignorer le membre flFlags ou, si le message n’a jamais été enregistré, peuvent définir les indicateurs MAPI_SENT et MAPI_UNREAD.
[in] flFlags
Masque de bits des indicateurs d’option. Les indicateurs suivants peuvent être définis.
ulReserved
Réservés au; doit être égal à zéro.
[in] lpszMessageID
Pointeur vers l’identificateur de message à remplacer par l’opération d’enregistrement ou une chaîne vide, indiquant qu’un nouveau message doit être créé. La chaîne doit être allouée par l’appelant et doit pouvoir contenir au moins 512 caractères si le paramètre flFlags est défini sur MAPI_LONG_MSGID. Si le paramètre flFlags n’est pas défini sur MAPI_LONG_MSGID, la chaîne d’identificateur de message peut contenir 64 caractères.
Valeur retournée
Cette fonction retourne l’une des valeurs suivantes.
Code de retour | Description |
---|---|
|
Une pièce jointe n’a pas pu se trouver au niveau du chemin spécifié. Soit la lettre de lecteur n’était pas valide, le chemin d’accès n’a pas été trouvé sur ce lecteur ou le fichier n’a pas été trouvé dans ce chemin. |
|
Le type de destinataire dans l’objet lpMessage n’était pas valide. |
|
Une ou plusieurs erreurs non spécifiées se sont produites lors de l’enregistrement du message. Aucun message n’a été enregistré. |
|
La mémoire était insuffisante pour enregistrer le message. Aucun message n’a été enregistré. |
|
Un identificateur de message non valide a été passé dans le paramètre lpszMessageID ; aucun message n’a été enregistré. |
|
Un ou plusieurs destinataires du message n’étaient pas valides ou n’ont pas pu être identifiés. |
|
Un handle de session non valide a été passé dans le paramètre lhSession . Aucun message n’a été enregistré. |
|
Il n’y avait pas d’ouverture de session par défaut et l’utilisateur n’a pas réussi à se connecter lorsque la boîte de dialogue d’ouverture de session s’affichait. Aucun message n’a été enregistré. |
|
L’opération n’était pas prise en charge par le système de messagerie sous-jacent. |
|
L’utilisateur a annulé l’une des boîtes de dialogue. Aucun message n’a été enregistré. |
|
L’appel a réussi et le message a été enregistré. |
Notes
La fonction MAPISaveMail enregistre un message, en remplaçant éventuellement un message existant. Avant d’appeler MAPISaveMail, utilisez la fonction MAPIFindNext pour vérifier que le message à enregistrer est celui que vous souhaitez enregistrer. Les éléments du message identifiés par le paramètre lpszMessageID sont remplacés par les éléments du paramètre lpMessage . Si lpszMessageID est vide, un nouveau message est créé. Tous les messages remplacés sont enregistrés dans leurs dossiers appropriés. Les nouveaux messages sont enregistrés dans le dossier approprié pour les messages entrants de cette classe.
Tous les systèmes de messagerie ne prennent pas en charge le stockage des messages. Si le système de messagerie sous-jacent ne prend pas en charge le stockage des messages, MAPISaveMail retourne la valeur MAPI_E_NOT_SUPPORTED.
Étant donné que les identificateurs de message sont spécifiques au système et opaques et peuvent être invalidés à tout moment, MAPISaveMail considère qu’un identificateur de message est valide uniquement pour la session MAPI simple en cours. MAPISaveMail gère les identificateurs de message non valides en retournant la valeur MAPI_E_INVALID_MESSAGE.
Spécifications
Plateforme cible | Windows |
En-tête | mapi.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour