Fonction de rappel MAPIRESOLVENAME (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 MAPIResolveName transforme le nom du destinataire d’un message tel qu’entré par un utilisateur en une entrée de liste d’adresses non ambiguë.

Syntaxe

MAPIRESOLVENAME Mapiresolvename;

ULONG Mapiresolvename(
  [in]  LHANDLE lhSession,
  [in]  ULONG_PTR ulUIParam,
  [in]  LPSTR lpszName,
  [in]  FLAGS flFlags,
        ULONG ulReserved,
        lpMapiRecipDesc *lppRecip
)
{...}

Paramètres

[in] lhSession

Handle qui représente une session MAPI simple ou zéro. Si la valeur du paramètre lhSession est égale à 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, la boîte de dialogue d’ouverture de session s’affiche.

[in] ulUIParam

Handle de fenêtre parente ou zéro, indiquant que si une boîte de dialogue est affichée, elle est modale de l’application. 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] lpszName

Pointeur vers le nom à résoudre.

[in] flFlags

Masque de bits des indicateurs d’option. Les indicateurs suivants peuvent être définis.

Valeur Signification
MAPI_AB_NOMODIFY
L’appelant demande que la boîte de dialogue soit en lecture seule, ce qui interdit les modifications. MAPIResolveName ignore cet indicateur si MAPI_DIALOG n’est pas défini.
MAPI_DIALOG
Une boîte de dialogue doit s’afficher pour la résolution de noms. Si cet indicateur n’est pas défini et que le nom ne peut pas être résolu, MAPIResolveName renvoie la valeur MAPI_E_AMBIGUOUS_RECIPIENT.
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
Vous devez tenter de créer une session plutôt que d’acquérir la session partagée de l’environnement. Si l’indicateur MAPI_NEW_SESSION n’est pas défini, MAPIResolveName utilise une session partagée existante.

ulReserved

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

lppRecip

Valeur retournée

Cette fonction retourne l’une des valeurs suivantes.

Code de retour Description
MAPI_E_AMBIGUOUS_RECIPIENT
Le destinataire demandé n’a pas été ou n’a pas pu être résolu en une entrée de liste d’adresses unique.
MAPI_E_UNKNOWN_RECIPIENT
Le destinataire n’a pu être résolu en aucune adresse. Le destinataire n’existe peut-être pas ou est peut-être inconnu.
MAPI_E_FAILURE
Une ou plusieurs erreurs non spécifiées se sont produites. Le nom n’a pas été résolu.
MAPI_E_INSUFFICIENT_MEMORY
La mémoire était insuffisante pour continuer. Le nom n’a pas été résolu.
MAPI_E_LOGIN_FAILURE
Il n’y avait pas d’ouverture de session par défaut et l’utilisateur n’a pas pu se connecter correctement lorsque la boîte de dialogue d’ouverture de session s’est affichée. Le nom n’a pas été résolu.
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. Le nom n’a pas été résolu.
SUCCESS_SUCCESS
L’appel a réussi et le nom a été résolu.

Remarques

La fonction MAPIResolveName résout le nom du destinataire d’un message (tel qu’entré par un utilisateur) en une entrée de liste d’adresses non ambiguë, invitant éventuellement l’utilisateur à choisir entre les entrées possibles, si nécessaire. Une structure de descripteur de destinataire contenant des informations entièrement résolues sur l’entrée est allouée et retournée. L’appelant doit libérer cette structure MapiRecipDesc à un moment donné en appelant la fonction MAPIFreeBuffer . Si MAPIResolveName retourne une valeur d’erreur, il n’est pas nécessaire de libérer de la mémoire avec MAPIFreeBuffer.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mapi.h

Voir aussi

MAPIFreeBuffer

MAPILogon

MapiRecipDesc

Simple MAPI