IMAPIForm::ShutdownForm
S’applique à : Outlook 2013 | Outlook 2016
Ferme le formulaire.
HRESULT ShutdownForm(
ULONG ulSaveOptions
);
Paramètres
ulSaveOptions
[in] Valeur qui contrôle comment ou si les données du formulaire sont enregistrées avant la fermeture du formulaire. Vous pouvez d�finir un des indicateurs suivants :
SAVEOPTS_NOSAVE
Les données de formulaire ne doivent pas être enregistrées.
SAVEOPTS_PROMPTSAVE
L’utilisateur doit être invité à enregistrer les données modifiées dans le formulaire.
SAVEOPTS_SAVEIFDIRTY
Les données de formulaire doivent être enregistrées si elles ont changé depuis le dernier enregistrement. Si aucune interface utilisateur n’est affichée, le formulaire peut éventuellement basculer vers l’utilisation de la fonctionnalité pour l’option SAVEOPTS_NOSAVE.
Valeur renvoyée
S_OK
Le formulaire a été fermé.
E_UNEXPECTED
Le formulaire a déjà été fermé par un appel antérieur à ShutdownForm.
Remarques
Les visionneuses de formulaires appellent la méthode IMAPIForm ::ShutdownForm pour fermer un formulaire.
Remarques pour les responsables de l’implémentation
Effectuez les tâches suivantes dans votre implémentation de ShutdownForm :
Vérifiez qu’une visionneuse n’a pas déjà appelé ShutdownForm et retournez E_UNEXPECTED si elle l’a fait. Bien que cela soit peu probable, vous devez case activée.
Appelez la méthode IUnknown ::AddRef de votre formulaire afin que le stockage du formulaire et toutes les structures de données internes restent disponibles jusqu’à la fin du traitement.
Déterminez s’il existe des modifications non enregistrées dans les données du formulaire. Enregistrez les données non enregistrées en fonction de la façon dont le paramètre ulSaveOptions est défini en appelant la méthode IMAPIMessageSite ::SaveMessage de votre visionneuse.
Détruisez la fenêtre d’interface utilisateur de votre formulaire.
Libérez les objets de message et de site de message de votre formulaire en appelant leurs méthodes IUnknown ::Release .
Informez tous les observateurs inscrits de l’arrêt en attente en appelant leurs méthodes IMAPIViewAdviseSink ::OnShutdown .
Appelez la méthode IMAPIViewContext ::SetAdviseSink pour annuler l’inscription de votre formulaire pour la notification en définissant le pointeur récepteur de conseil sur null.
Appelez la fonction MAPIFreeBuffer pour libérer de la mémoire pour les propriétés de votre formulaire.
Appelez la méthode IUnknown ::Release de votre formulaire, correspondant à l’appel AddRef effectué à l’étape 2.
Elles retournent S_OK.
Remarque
Une fois ces actions terminées, les seules méthodes valides sur l’objet de formulaire qui peuvent être appelées sont celles de l’interface IUnknown .
Remarques pour les appelants
Lorsque ShutdownForm retourne, qu’il retourne ou non une erreur, libérez le formulaire en appelant sa méthode IUnknown ::Release . Vous pouvez ignorer en toute sécurité les erreurs retournées par ShutdownForm.
Voir aussi
IMAPIViewAdviseSink::OnShutdown