Share via


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.

Valeur Signification
MAPI_LOGON_UI
Une boîte de dialogue doit s’afficher pour inviter l’utilisateur à se connecter si nécessaire. Lorsque l’indicateur MAPI_LOGON_UI n’est pas défini, l’application cliente n’affiche pas de boîte de dialogue d’ouverture de session et retourne une valeur d’erreur si l’utilisateur n’est pas connecté. MAPISaveMail ignore cet indicateur si le paramètre lpszMessageID est vide.
MAPI_LONG_MSGID
L’identificateur de message retourné doit être de 512 caractères. Si cet indicateur est défini, le paramètre lpszMessageID doit être suffisamment grand pour accueillir 512 caractères.
MAPI_NEW_SESSION
Une tentative de création d’une session doit être effectuée plutôt que d’acquérir la session partagée de l’environnement. Si l’indicateur MAPI_NEW_SESSION n’est pas défini, MAPISaveMail utilise une session partagée existante.

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
MAPI_E_ATTACHMENT_NOT_FOUND
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.
MAPI_E_BAD_RECIPTYPE
Le type de destinataire dans l’objet lpMessage n’était pas valide.
MAPI_E_FAILURE
Une ou plusieurs erreurs non spécifiées se sont produites lors de l’enregistrement du message. Aucun message n’a été enregistré.
MAPI_E_INSUFFICIENT_MEMORY
La mémoire était insuffisante pour enregistrer le message. Aucun message n’a été enregistré.
MAPI_E_INVALID_MESSAGE
Un identificateur de message non valide a été passé dans le paramètre lpszMessageID ; aucun message n’a été enregistré.
MAPI_E_INVALID_RECIPS
Un ou plusieurs destinataires du message n’étaient pas valides ou n’ont pas pu être identifiés.
MAPI_E_INVALID_SESSION
Un handle de session non valide a été passé dans le paramètre lhSession . Aucun message n’a été enregistré.
MAPI_E_LOGIN_FAILURE
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é.
MAPI_E_NOT_SUPPORTED
L’opération n’était pas prise en charge par le système de messagerie sous-jacent.
MAPI_E_USER_ABORT
L’utilisateur a annulé l’une des boîtes de dialogue. Aucun message n’a été enregistré.
SUCCESS_SUCCESS
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

MAPIFindNext

MAPILogon

MapiMessage

Simple MAPI