Fonction de rappel MAPIADDRESS (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 MAPIAddress crée ou modifie un ensemble d’entrées de liste d’adresses.

Syntaxe

MAPIADDRESS Mapiaddress;

ULONG Mapiaddress(
  [in]  LHANDLE lhSession,
  [in]  ULONG_PTR ulUIParam,
  [in]  LPSTR lpszCaption,
  [in]  ULONG nEditFields,
  [in]  LPSTR lpszLabels,
  [in]  ULONG nRecips,
  [in]  lpMapiRecipDesc lpRecips,
  [in]  FLAGS flFlags,
        ULONG ulReserved,
  [out] LPULONG lpnNewRecips,
        lpMapiRecipDesc *lppNewRecips
)
{...}

Paramètres

[in] lhSession

Handle de session qui représente une session MAPI simple ou zéro. Si la valeur du paramètre lhSession est zéro, MAPI se connecte à 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, une 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] lpszCaption

Pointeur vers le légende pour la boîte de dialogue de liste d’adresses, NULL ou une chaîne vide. Lorsque le paramètre lpszCaption a la valeur NULL ou pointe vers une chaîne vide, MAPIAddress utilise le légende par défaut « Carnet d’adresses ».

[in] nEditFields

Nombre de contrôles de modification qui doivent être présents dans la liste d’adresses. Les valeurs 0 à 4 sont valides. Si la valeur du paramètre nEditFields est 4, chaque classe de destinataire prise en charge par le système de messagerie sous-jacent possède un contrôle d’édition. Si la valeur de nEditFields est zéro, seule la navigation dans la liste d’adresses est possible. Les valeurs de 1, 2 ou 3 contrôlent le nombre de contrôles de modification présents. Toutefois, si le nombre de classes de destinataires dans le tableau pointé vers le paramètre lpRecips est supérieur à la valeur de nEditFields, le nombre de classes dans lpRecips est utilisé pour indiquer le nombre de contrôles d’édition au lieu de la valeur de nEditFields. Si la valeur de nEditFields est 1 et que plusieurs types d’entrée existent dans lpRecips, le paramètre lpszLabels est ignoré. Les entrées sélectionnées pour les différents contrôles sont différenciées par le membre ulRecipClass dans la structure de destinataire retournée.

[in] lpszLabels

Pointeur vers une chaîne à utiliser comme étiquette de contrôle de modification dans la boîte de dialogue liste d’adresses. Lorsque le paramètre nEditFields est défini sur une valeur autre que 1, le paramètre lpszLabels est ignoré et doit avoir la valeur NULL ou pointer vers une chaîne vide. En outre, si l’appelant a besoin de l’étiquette de contrôle par défaut « À », lpszLabels doit avoir la valeur NULL ou pointer vers une chaîne vide.

[in] nRecips

Nombre d’entrées dans le tableau indiqué par le paramètre lpRecips . Si la valeur du paramètre nRecips est zéro, lpRecips est ignoré.

[in] lpRecips

Pointeur vers un tableau de structures MapiRecipDesc définissant les entrées de destinataire initiales à utiliser pour remplir la boîte de dialogue de liste d’adresses. Les entrées n’ont pas besoin d’être regroupées par classe de destinataire ; ils sont différenciés par les valeurs des membres ulRecipClass des structures MapiRecipDesc dans le tableau. Si le nombre de différentes classes de destinataires est supérieur à la valeur indiquée par le paramètre nEditFields , les paramètres nEditFields et lpszLabels sont ignorés .

[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é.
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, MAPIAddress utilise une session partagée existante.

ulReserved

Réservés au; doit être égal à zéro.

[out] lpnNewRecips

Pointeur vers le nombre d’entrées dans le tableau de sortie du destinataire lppNewRecips . Si la valeur du paramètre lpnNewRecips est zéro, le paramètre lppNewRecips est ignoré.

lppNewRecips

Valeur retournée

Cette fonction retourne l’une des valeurs suivantes.

Code de retour Description
MAPI_E_FAILURE
Une ou plusieurs erreurs non spécifiées se sont produites lors de l’adressage du message. Aucune liste d’entrées de destinataire n’a été retournée.
MAPI_E_INSUFFICIENT_MEMORY
La mémoire était insuffisante pour continuer. Aucune liste d’entrées de destinataire n’a été retournée.
MAPI_E_INVALID_EDITFIELDS
La valeur du paramètre nEditFields se trouvait en dehors de la plage de 0 à 4. Aucune liste d’entrées de destinataire n’a été retournée.
MAPI_E_INVALID_RECIPS
Un ou plusieurs des destinataires de la liste d’adresses n’étaient pas valides. Aucune liste d’entrées de destinataire n’a été retournée.
MAPI_E_INVALID_SESSION
Un handle de session non valide a été utilisé pour le paramètre lhSession . Aucune liste d’entrées de destinataire n’a été retournée.
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. Aucune liste d’entrées de destinataire n’a été retournée.
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. Aucune liste d’entrées de destinataire n’a été retournée.
SUCCESS_SUCCESS
L’appel a réussi et une liste d’entrées de destinataire a été retournée.

Notes

La fonction MAPIAddress affiche une boîte de dialogue de liste d’adresses standard pour afficher un ensemble initial de zéro ou plusieurs destinataires. L’utilisateur peut choisir de nouvelles entrées à ajouter à l’ensemble ou apporter des modifications aux entrées existantes. Cette boîte de dialogue ne peut pas être supprimée, mais l’appelant peut définir des caractéristiques de boîte de dialogue. L’ensemble modifié de destinataires est retourné à l’appelant.

Avant que MAPIAddress n’écrive des informations de destinataire nouvelles ou modifiées, il doit allouer de la mémoire pour le tableau de structure qui contiendra les informations. La mémoire est également allouée dans le cadre du préchargement du carnet d’adresses, que les données de destinataire nouvelles ou modifiées soient écrites. Les applications clientes doivent appeler la fonction MAPIFreeBuffer pour libérer cette mémoire après le retour de MAPIAddress . Si une erreur se produit, aucune mémoire n’a été allouée et les clients n’ont pas besoin d’appeler MAPIFreeBuffer.

Spécifications

   
Plateforme cible Windows
En-tête mapi.h

Voir aussi

MAPIFreeBuffer

MAPILogon

MapiRecipDesc

Simple MAPI