IMAPISupport::StoreLogoffTransports
S’applique à : Outlook 2013 | Outlook 2016
Demande la libération ordonnée d’une banque de messages.
HRESULT StoreLogoffTransports(
ULONG FAR * lpulFlags
);
Paramètres
lpulFlags
[in, out] Masque de bits d’indicateurs qui contrôle la façon dont la déconnexion du magasin de messages se produit. En entrée, tous les indicateurs de ce paramètre s’excluent mutuellement ; un seul des indicateurs suivants peut être défini par appel :
LOGOFF_ABORT
Toute activité de fournisseur de transport pour ce magasin doit être arrêtée avant la fermeture de session. Le contrôle est retourné au client une fois l’activité arrêtée et le spouleur MAPI déconnecté du magasin. Si une activité de transport a lieu, la déconnexion ne se produit pas et aucune modification du comportement du spouleur MAPI ou du fournisseur de transport ne se produit. S’il n’y a actuellement aucune activité, le spouleur MAPI libère le magasin.
LOGOFF_NO_WAIT
Le spouleur MAPI doit libérer le magasin et retourner le contrôle au client immédiatement après l’envoi de tous les messages sortants prêts à être envoyés. Si la banque de messages a la boîte de réception par défaut, tout message in-process est reçu, puis la réception supplémentaire est désactivée.
LOGOFF_ORDERLY
Le spouleur MAPI doit libérer le magasin et retourner le contrôle au client immédiatement après la fin du traitement des messages en attente. Aucun nouveau message ne doit être traité.
LOGOFF_PURGE
Fonctionne de la même façon que l’indicateur LOGOFF_NO_WAIT. L’indicateur LOGOFF_PURGE retourne le contrôle à l’appelant une fois l’opération terminée.
LOGOFF_QUIET
La déconnexion ne doit pas se produire si une activité de fournisseur de transport a lieu. Le type d’activité qui se produit est retourné en tant qu’indicateur sur la sortie.
En sortie, le spouleur MAPI peut retourner un ou plusieurs des indicateurs suivants :
LOGOFF_COMPLETE
La fermeture de session peut se terminer. Toutes les ressources associées au magasin ont été libérées et l’objet a été invalidé. Le spouleur MAPI a effectué ou exécutera toutes les requêtes. Seule la méthode IUnknown ::Release de la banque de messages doit être appelée à ce stade.
LOGOFF_INBOUND
Un message arrive actuellement dans le magasin à partir d’un ou de plusieurs fournisseurs de transport.
LOGOFF_OUTBOUND
Un message est actuellement envoyé à partir du magasin par un ou plusieurs fournisseurs de transport.
LOGOFF_OUTBOUND_QUEUE
Il existe actuellement des messages dans la file d’attente sortante pour le magasin.
Valeur renvoyée
S_OK
La procédure de déconnexion a réussi.
Remarques
La méthode IMAPISupport ::StoreLogoffTransports est implémentée pour les objets de prise en charge du fournisseur de magasins de messages. Les fournisseurs de magasins de messages appellent StoreLogoffTransports pour donner aux applications clientes un certain contrôle sur la façon dont MAPI gère l’activité du fournisseur de transport pendant la fermeture d’une banque de messages.
Si le magasin doit être ouvert pour un autre processus pour le même profil, MAPI ignore un appel à StoreLogoffTransports et retourne l’indicateur LOGOFF_COMPLETE dans le paramètre lpulFlags .
Le comportement du fournisseur de magasin après le retour de StoreLogoffTransports doit être basé sur la valeur de lpulFlags, qui indique la status système et transmet les instructions du client pour le comportement de déconnexion.
Remarques pour les appelants
StoreLogoffTransports est généralement appelé à partir de la méthode IMsgStore ::StoreLogoff d’un fournisseur de magasin. Toutefois, il peut également être appelé à partir de la méthode IUnknown ::Release de la banque de messages. Implémentez la méthode Release de votre magasin de messages afin de pouvoir case activée si un appel à StoreLogoffTransports s’est produit ou non. Si aucun appel n’a eu lieu, appelez StoreLogoffTransports avec l’indicateur LOGOFF_ABORT défini.
Le paramètre lpulFlags est défini sur un indicateur qui indique comment le client exige l’arrêt de la banque de messages. Déterminez le paramètre approprié pour ulFlags en fonction du paramètre correspondant dans l’appel à StoreLogoff. Autrement dit, si un client a appelé votre méthode StoreLogoff avec ulFlags défini sur LOGOFF_ORDERLY, vous devez appeler StoreLogoffTransports avec ulFlags défini sur LOGOFF_ORDERLY.
Pour plus d’informations sur le processus de déconnexion de la banque de messages, consultez Arrêt d’un fournisseur de magasin de messages.