Partager via


IMAPISession::OpenMsgStore

S’applique à : Outlook 2013 | Outlook 2016

Ouvre une banque de messages et retourne un pointeur IMsgStore pour un accès supplémentaire.

HRESULT OpenMsgStore(
  ULONG_PTR ulUIParam,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPMDB FAR * lppMDB
);

Paramètres

ulUIParam

[in] Handle de la fenêtre parente de la boîte de dialogue d’adresse commune et d’autres affichages associés.

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 de la banque de messages à ouvrir. Le paramètre lpEntryID ne doit pas être NULL.

lpInterface

[in] Pointeur vers l’identificateur d’interface (IID) qui représente l’interface à utiliser pour accéder à la banque de messages. La transmission de la valeur NULL entraîne le retour par le paramètre lppMDB d’un pointeur vers l’interface standard d’une banque de messages (IMsgStore).

ulFlags

[in] Masque de bits d’indicateurs qui contrôle la façon dont l’objet est ouvert. Les indicateurs suivants peuvent être utilisés :

  • MAPI_BEST_ACCESS : demande l’ouverture de la banque de messages avec les autorisations réseau maximales autorisées pour l’utilisateur et le nombre maximal d’autorisations d’application cliente. Par exemple, si le client dispose d’une autorisation de lecture/écriture, la banque de messages doit être ouverte avec l’autorisation de lecture/écriture ; si le client dispose d’une autorisation en lecture seule, la banque de messages doit être ouverte avec l’autorisation en lecture seule.

  • MAPI_DEFERRED_ERRORS : permet à OpenMsgStore de revenir correctement, éventuellement avant que la banque de messages ne soit entièrement disponible pour le client appelant. Si la banque de messages n’est pas disponible, l’appel d’objet suivant peut générer une erreur.

  • MDB_NO_DIALOG : empêche l’affichage des boîtes de dialogue d’ouverture de session. Si cet indicateur est défini et qu’OpenMsgStore ne dispose pas d’informations de configuration suffisantes pour ouvrir la banque de messages sans l’aide de l’utilisateur, il retourne MAPI_E_LOGON_FAILED. Si cet indicateur n’est pas défini, le fournisseur de la banque de messages peut inviter l’utilisateur à corriger un nom ou un mot de passe ou à effectuer d’autres actions nécessaires pour établir une connexion à la banque de messages.

  • MDB_NO_MAIL : la banque de messages ne doit pas être utilisée pour envoyer ou recevoir des messages. Lorsque cet indicateur est défini, MAPI n’informe pas le spouleur MAPI que cette banque de messages est en cours d’ouverture.

  • MDB_ONLINE : en mode Exchange mis en cache, un client ou un fournisseur de services peut appeler cette méthode avec MDB_ONLINE pour remplacer la connexion à la banque de messages locale et ouvrir la banque sur le serveur distant. Vous ne pouvez pas ouvrir un magasin Exchange en mode mis en cache et en mode non mis en cache en même temps dans la même session MAPI. Si vous avez déjà ouvert la banque de messages mise en cache, vous devez fermer la banque avant de l’ouvrir avec cet indicateur, ou ouvrir une nouvelle session MAPI où vous pouvez ouvrir la banque d'informations Exchange sur le serveur distant à l’aide de cet indicateur.

  • MDB_TEMPORARY : indique à MAPI que la banque de messages n’est pas permanente et ne doit pas être ajoutée à la table de la banque de messages. Cet indicateur est utilisé pour se connecter à la banque de messages afin que les informations puissent être récupérées par programme à partir de la section du profil.

  • MDB_WRITE : demande l’autorisation de lecture/écriture à la banque de messages.

lppMDB

[out] Pointeur vers un pointeur de la banque de messages.

Valeur renvoyée

S_OK

La banque de messages a été ouverte avec succès.

MAPI_E_NO_ACCESS

Une tentative d’accès à une banque de messages pour laquelle l’utilisateur dispose d’autorisations insuffisantes a été effectuée.

MAPI_E_NOT_FOUND

La banque de messages indiquée par lpEntryID n’existe pas.

MAPI_E_UNKNOWN_CPID

Le serveur n’est pas configuré pour prendre en charge la page de codes du client.

MAPI_E_UNKNOWN_LCID

Le serveur n’est pas configuré pour prendre en charge les informations de paramètres régionaux du client.

MAPI_W_ERRORS_RETURNED

L’appel a réussi, mais le fournisseur de magasin de messages a des informations d’erreur disponibles. Lorsque cet avertissement est retourné, l’appel doit être géré comme ayant réussi. Pour obtenir les informations d’erreur auprès du fournisseur, appelez la méthode IMAPISession ::GetLastError . Pour tester cet avertissement, utilisez la macro HR_FAILED . Pour plus d’informations, consultez Utilisation de macros pour la gestion des erreurs.

Remarques

La méthode IMAPISession ::OpenMsgStore ouvre une banque de messages particulière.

Remarques pour les appelants

Le niveau d’autorisation par défaut pour les magasins de messages est en lecture seule. Si vous définissez l’indicateur MDB_WRITE, il se peut que l’autorisation de lecture/écriture ne vous soit toujours pas accordée. Le dernier niveau d’accès que MAPI attribue à la banque de messages dépend de votre niveau d’autorisation, de la banque de messages elle-même et du fournisseur de la banque de messages.

Si vous appelez OpenMsgStore pour ouvrir une banque de messages avec l’autorisation en lecture seule, les opérations suivantes se produisent :

Référence MFCMAPI

Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.

Fichier Fonction Commentaire
MAPIStoreFunctions.cpp
CallOpenMsgStore
MFCMAPI utilise la méthode IMAPISession ::OpenMsgStore pour ouvrir une banque de messages.

Voir aussi