Partager via


IAddrBook::OpenEntry

S’applique à : Outlook 2013 | Outlook 2016

Ouvre une entrée de carnet d’adresses et retourne un pointeur vers une interface qui peut être utilisée pour accéder à l’entrée.

HRESULT OpenEntry(
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  ULONG FAR * lpulObjType,
  LPUNKNOWN FAR * lppUnk
);

Paramètres

cbEntryID

[in] Nombre d’octets dans l’identificateur d’entrée vers lequel pointe le paramètre lpEntryID .

lpEntryID

[in] Pointeur vers l’identificateur d’entrée qui représente l’entrée du carnet d’adresses à ouvrir.

lpInterface

[in] Pointeur vers l’identificateur d’interface (IID) de l’interface à utiliser pour accéder à l’entrée ouverte. La transmission de la valeur NULL renvoie l’interface standard de l’objet. Pour les utilisateurs de messagerie, l’interface standard est IMailUser : IMAPIProp. Pour les listes de distribution, il s’agit de IDistList : IMAPIContainer et, pour les conteneurs, il s’agit de IABContainer : IMAPIContainer. Les appelants peuvent définir lpInterface sur l’interface standard appropriée ou une interface dans la hiérarchie d’héritage.

ulFlags

[in] Masque de bits d’indicateurs qui contrôle la façon dont l’entrée est ouverte. Les indicateurs suivants peuvent être définis.

MAPI_BEST_ACCESS

Demande que l’entrée soit ouverte avec les autorisations réseau et client maximales autorisées. Par exemple, si le client dispose d’une autorisation de lecture/écriture, le fournisseur de carnet d’adresses doit tenter d’ouvrir l’entrée avec l’autorisation de lecture/écriture. Le client peut récupérer le niveau d’accès accordé en appelant la méthode IMAPIProp ::GetProps de l’entrée ouverte et en récupérant la propriété PR_ACCESS_LEVEL (PidTagAccessLevel).

MAPI_CACHE_ONLY

Ouvre une entrée de carnet d’adresses et y accède uniquement à partir du cache. Par exemple, vous pouvez utiliser cet indicateur pour permettre à une application cliente d’ouvrir la liste d’adresses globale (GAL) en mode d’échange mis en cache et d’accéder à une entrée de ce carnet d’adresses à partir du cache sans créer de trafic entre le client et le serveur. Cet indicateur est pris en charge uniquement par le fournisseur de carnets d’adresses Exchange.

MAPI_DEFERRED_ERRORS

Permet à l’appel de réussir, potentiellement avant que l’entrée ne soit entièrement ouverte et disponible, ce qui implique que les appels ultérieurs à l’entrée peuvent renvoyer une erreur.

MAPI_GAL_ONLY

Utilisez uniquement la liste d’adresses gal pour effectuer la résolution de noms. Cet indicateur est pris en charge uniquement par le fournisseur de carnets d’adresses Exchange.

Remarque

Le MAPI_GAL_ONLY ulFlags peut ne pas être défini dans le fichier d’en-tête téléchargeable que vous avez actuellement, auquel cas vous pouvez l’ajouter à votre code à l’aide de la valeur suivante : #define MAPI_GAL_ONLY (0x00000080)

MAPI_MODIFY

Demande que l’entrée soit ouverte avec l’autorisation de lecture/écriture. Étant donné que les entrées sont ouvertes avec un accès en lecture seule par défaut, les clients ne doivent pas supposer que l’autorisation de lecture/écriture a été accordée, que MAPI_MODIFY soit défini ou non.

MAPI_NO_CACHE

N’utilisez pas le carnet d’adresses en mode hors connexion pour effectuer la résolution de noms. Cet indicateur est pris en charge uniquement par le fournisseur de carnets d’adresses Exchange.

lpulObjType

[out] Pointeur vers le type de l’entrée ouverte.

lppUnk

[out] Pointeur vers un pointeur vers l’entrée ouverte.

Valeur renvoyée

S_OK

L’entrée a été ouverte avec succès.

MAPI_E_NO_ACCESS

Une tentative a été effectuée pour ouvrir une entrée pour laquelle l’utilisateur dispose d’autorisations insuffisantes.

MAPI_E_NOT_FOUND

L’entrée représentée par lpEntryID n’existe pas.

MAPI_E_UNKNOWN_ENTRYID

L’identificateur d’entrée spécifié dans lpEntryID n’est pas reconnu. Cette valeur est généralement retournée si le fournisseur de carnet d’adresses responsable de l’entrée correspondante n’est pas ouvert.

Remarques

Les clients et les fournisseurs de services appellent la méthode IAddrBook ::OpenEntry pour ouvrir une entrée de carnet d’adresses. MAPI transfère l’appel au fournisseur de carnet d’adresses approprié, en fonction de la structure MAPIUID incluse dans l’identificateur d’entrée passé dans le paramètre lpEntryID . Le fournisseur de carnet d’adresses ouvre l’entrée en lecture seule, sauf si l’indicateur MAPI_MODIFY ou MAPI_BEST_ACCESS dans le paramètre ulFlags est défini. Toutefois, ces indicateurs sont des suggestions. Si le fournisseur du carnet d’adresses n’autorise pas la modification de l’entrée demandée, il retourne MAPI_E_NO_ACCESS.

Le paramètre lpInterface indique l’interface à utiliser pour accéder à l’entrée ouverte. Le passage de null dans lpInterface indique que l’interface MAPI standard pour ce type d’entrée doit être utilisée. Étant donné que le fournisseur de carnet d’adresses peut retourner une interface différente de celle suggérée par le paramètre lpInterface, l’appelant doit case activée la valeur retournée dans le paramètre lpulObjType pour déterminer si le type d’objet retourné correspond à ce qui était attendu. Si le type d’objet n’est pas du type attendu, l’appelant peut convertir le paramètre lppUnk en type plus approprié.

Voir aussi