Arrêt d’un fournisseur de services
S’applique à : Outlook 2013 | Outlook 2016
Lorsqu’un client appelle la méthode IMAPISession ::Logoff pour mettre fin à la session et arrêter tous les fournisseurs de services actifs, MAPI appelle à son tour les méthodes suivantes :
IABLogon ::Logoff pour les fournisseurs de carnets d’adresses.
IMSLogon ::Logoff pour les fournisseurs de magasins de messages.
IXPLogon ::TransportLogoff pour les fournisseurs de transport.
Ces méthodes ont des implémentations similaires. Les tâches main qu’effectue une méthode de déconnexion sont les suivantes :
Libération de tous les objets ouverts, y compris les sous-objets et les objets status.
Appel de la méthode IUnknown ::Release de l’objet de support pour décrémenter son nombre de références.
Suppression de toutes les structures MAPIUID inscrites de votre fournisseur.
Suppression de la ligne de votre fournisseur dans la table status.
Effectuer toutes les tâches liées au nettoyage des ressources, telles que les suivantes :
Arrêt d’une connexion avec un serveur distant.
Décrémentation du nombre de références sur l’objet d’ouverture de session.
Suppression de l’objet d’ouverture de session de la liste des objets d’ouverture de session que votre fournisseur stocke.
En mode débogage, émission de traces pour localiser les objets qui ont fui la mémoire.
Lorsque votre méthode de déconnexion est retournée, MAPI appelle ce qui suit :
Méthode IUnknown ::Release de votre objet d’ouverture de session.
Méthode Shutdown de votre objet fournisseur pour effectuer toutes les tâches de nettoyage finales. Selon le type de votre fournisseur, l’une des méthodes suivantes est appelée :
IABProvider ::Shutdown pour les fournisseurs de carnets d’adresses
IMSProvider ::Shutdown pour les fournisseurs de magasins de messages
IXPProvider ::Shutdown pour les fournisseurs de transport
Méthode IUnknown ::Release de votre objet fournisseur.
Si votre fournisseur est une banque de messages, un appel client à IMsgStore ::StoreLogoff lance également le processus d’arrêt. StoreLogoff arrête un fournisseur de magasin de messages particulier et n’a aucun effet sur la session. Seul un fournisseur de magasin de messages peut être arrêté avec cette méthode ; il n’existe aucun moyen explicite d’arrêter un carnet d’adresses ou un fournisseur de transport particulier. Pour plus d’informations sur la façon de répondre à un appel StoreLogoff , consultez Arrêt d’un fournisseur de magasin de messages.
La DLL de votre fournisseur est déchargée lorsque MAPI appelle la fonction API Win32 FreeLibrary, un appel effectué après que le dernier client actif a appelé MAPIUninitialize. À ce stade, votre fournisseur de services aura fini de s’arrêter.