Partager via


IMSProvider::SpoolerLogon

S’applique à : Outlook 2013 | Outlook 2016

Enregistre le spouleur MAPI dans une banque de messages.

HRESULT SpoolerLogon(
  LPMAPISUP lpMAPISup,
  ULONG_PTR ulUIParam,
  LPSTR lpszProfileName,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  ULONG ulFlags,
  LPCIID lpInterface,
  ULONG cbSpoolSecurity,
  LPBYTE lpbSpoolSecurity,
  LPMAPIERROR FAR * lppMAPIError,
  LPMSLOGON FAR * lppMSLogon,
  LPMDB FAR * lppMDB     
);

Paramètres

lpMAPISup

[in] Pointeur vers l’objet de prise en charge MAPI pour la banque de messages.

ulUIParam

[in] Handle de la fenêtre parente de toutes les boîtes de dialogue ou fenêtres affichées par cette méthode.

lpszProfileName

[in] Pointeur vers une chaîne qui contient le nom du profil utilisé pour l’ouverture de session du spouleur MAPI. Cette chaîne peut être affichée dans des boîtes de dialogue, écrite dans un fichier journal ou simplement ignorée. Il doit être au format Unicode si l’indicateur MAPI_UNICODE est défini dans le paramètre ulFlags .

cbEntryID

[in] Taille, en octets, de l’identificateur d’entrée pointé par le paramètre lpEntryID .

lpEntryID

[in] Pointeur vers l’identificateur d’entrée de la banque de messages. La transmission de la valeur NULL dans le paramètre lpEntryID indique qu’une banque de messages n’a pas encore été sélectionnée et que les boîtes de dialogue permettant à l’utilisateur de sélectionner une banque de messages peuvent être affichées.

ulFlags

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

MAPI_DEFERRED_ERRORS

L’appel est autorisé à réussir même si l’objet sous-jacent n’est pas disponible pour l’implémentation appelante. Si l’objet n’est pas disponible, un appel ultérieur à l’objet peut générer une erreur.

MAPI_UNICODE

Les chaînes transmises sont au format Unicode. Si MAPI_UNICODE n’est pas défini, les chaînes sont au format ANSI.

MDB_NO_DIALOG

Empêche l’affichage des boîtes de dialogue d’ouverture de session. Si cet indicateur est défini, la valeur d’erreur MAPI_E_LOGON_FAILED est retournée si l’ouverture de session échoue. Si cet indicateur n’est pas défini, le fournisseur de magasin de messages peut inviter l’utilisateur à corriger un nom ou un mot de passe, à insérer un disque ou à effectuer d’autres actions nécessaires pour établir la connexion au magasin.

MDB_WRITE

Demande l’autorisation de lecture/écriture.

lpInterface

[in] Pointeur vers l’identificateur d’interface (IID) de la banque de messages à laquelle se connecter. La transmission de la valeur NULL indique que l’interface MAPI pour la banque de messages (IMsgStore) est retournée. Le paramètre lpInterface peut également être défini sur un identificateur pour une interface appropriée pour la banque de messages (par exemple, IID_IUnknown ou IID_IMAPIProp).

cbSpoolSecurity

[in] Pointeur vers la taille, en octets, des données de validation dans le paramètre lppbSpoolSecurity .

lpbSpoolSecurity

[in] Pointeur vers un pointeur vers des données de validation. La méthode SpoolerLogon utilise ces données pour enregistrer le spouleur MAPI dans le même magasin que le fournisseur de magasin de messages précédemment connecté à l’aide de la méthode IMSProvider ::Logon .

lppMAPIError

[out] Pointeur vers un pointeur vers la structure MAPIERROR retournée, le cas échéant, qui contient des informations sur la version, le composant et le contexte d’une erreur. Le paramètre lppMAPIError peut être défini sur NULL s’il n’existe aucune structure MAPIERROR à retourner.

lppMSLogon

[out] Pointeur vers le pointeur vers l’objet d’ouverture de session de la banque de messages auquel MAPI doit se connecter.

lppMDB

[out] Pointeur vers le pointeur vers l’objet de magasin de messages pour le spouleur MAPI et les applications clientes auxquelles se connecter.

Valeur renvoyée

S_OK

L'appel a r�ussi et a renvoy� la valeur attendue ou les valeurs.

MAPI_E_UNCONFIGURED

Le profil ne contient pas suffisamment d’informations pour que l’ouverture de session se termine. Lorsque cette valeur est retournée, MAPI appelle la fonction de point d’entrée du service de messagerie du fournisseur de magasin de messages.

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 tester cet avertissement, utilisez la macro HR_FAILED . Pour plus d’informations, consultez Utilisation de macros pour la gestion des erreurs. Pour obtenir les informations d’erreur auprès du fournisseur, appelez la méthode IMAPISession ::GetLastError .

Remarques

Le spouleur MAPI appelle la méthode IMSProvider ::SpoolerLogon pour se connecter à une banque de messages. Le spouleur MAPI doit utiliser l’objet de magasin de messages retourné par le fournisseur de la banque de messages dans le paramètre lppMDB pendant et après l’ouverture de session.

Par souci de cohérence avec la méthode IMSProvider ::Logon , le fournisseur retourne également un objet d’ouverture de session de magasin de messages dans le paramètre lppMSLogon . L’utilisation de l’objet store et de l’objet d’ouverture de session est identique pour l’ouverture de session habituelle au magasin ; il doit y avoir une correspondance un-à-un entre l’objet d’ouverture de session et l’objet store, de sorte que les objets agissent comme s’il s’agit d’un seul objet qui expose deux interfaces. Les deux objets sont créés ensemble et libérés ensemble.

Le fournisseur de magasin doit marquer en interne l’objet de magasin de messages retourné pour indiquer que le magasin est utilisé par le spouleur MAPI. Certaines méthodes de cet objet store se comportent différemment de l’objet de magasin de messages fourni aux applications clientes. La conservation de cette marque interne est le moyen le plus courant de déclencher le comportement propre au spouleur MAPI.

Voir aussi

IMSProvider::Logon

MAPIERROR

IMSProvider : IUnknown