IMAPIFormContainer::InstallForm
S’applique à : Outlook 2013 | Outlook 2016
Installe un formulaire dans une bibliothèque de formulaires.
HRESULT InstallForm(
ULONG_PTR ulUIParam,
ULONG ulFlags,
LPCSTR szCfgPathName
);
Paramètres
ulUIParam
[in] Handle vers la fenêtre parente de toutes les boîtes de dialogue ou fenêtres affichées par cette méthode. Le paramètre ulUIParam est ignoré, sauf si l’application cliente définit l’indicateur MAPI_DIALOG dans le paramètre ulFlags . Le paramètre ulUIParam peut être NULL si MAPI_DIALOG n’est pas également passé.
ulFlags
[in] Masque de bits d’indicateurs qui contrôle l’installation du formulaire. Les indicateurs suivants peuvent être définis :
MAPI_DIALOG
Affiche une boîte de dialogue pour fournir des informations sur la progression ou demander à l’utilisateur d’en savoir plus. Si cet indicateur n’est pas défini, aucune boîte de dialogue n’est affichée.
MAPI_UNICODE
Les chaînes transmises sont au format Unicode. Si l’indicateur MAPI_UNICODE n’est pas défini, les chaînes sont au format ANSI.
MAPIFORM_INSTALL_OVERWRITEONCONFLICT
S’il existe déjà un autre formulaire qui gère la classe de message gérée par ce formulaire, remplacez le formulaire existant par celui-ci. Cet indicateur est ignoré si l’indicateur MAPI_DIALOG est également présent.
szCfgPathName
[in] Chemin d’accès au fichier de configuration du formulaire.
Valeur renvoyée
S_OK
L'appel a r�ussi et a renvoy� la valeur attendue ou les valeurs.
MAPI_E_EXTENDED_ERROR
Une erreur d’implémentation s’est produite. Pour obtenir la structure MAPIERROR associée à l’erreur, appelez la méthode IMAPIFormContainer ::GetLastError .
MAPI_E_USER_CANCEL
L’utilisateur a annulé l’installation du formulaire, généralement en cliquant sur le bouton Annuler dans une boîte de dialogue.
Remarques pour les responsables de l’implémentation
Les fournisseurs de bibliothèques de formulaires doivent remplir une structure MAPIERROR et retourner MAPI_E_EXTENDED_ERROR si l’une des conditions suivantes se produit :
Le fichier de configuration est introuvable.
Le fichier de configuration n’est pas lisible.
Le fichier de configuration n’est pas valide.
Remarques pour les appelants
Les applications clientes appellent la méthode IMAPIFormContainer ::InstallForm pour installer un formulaire dans un conteneur de formulaires spécifique. Le paramètre szCfgPathName doit contenir le chemin d’accès d’un fichier de configuration de formulaire (autrement dit, un fichier avec l’extension .cfg qui décrit le formulaire et son implémentation). Les indicateurs dans le paramètre ulFlags spécifient les éléments suivants :
Si l’indicateur MAPI_DIALOG est défini, une interface utilisateur s’affiche, permettant à l’utilisateur qui installe le formulaire de spécifier les détails de l’installation.
Si l’indicateur MAPIFORM_INSTALL_OVERWRITEONCONFLICT est défini, tout formulaire précédent pour la même classe de message est remplacé par le formulaire en cours d’installation. Sinon, l’installation du formulaire est fusionnée avec la description du formulaire actuel, le cas échéant.
Si MAPI_DIALOG est défini, MAPIFORM_INSTALL_OVERWRITEONCONFLICT est ignoré.
L’absence de MAPIFORM_INSTALL_OVERWRITEONCONFLICT dans le jeu d’indicateurs signifie qu’une fusion est effectuée. Toutes les nouvelles plateformes du fichier .cfg qui ne sont pas présentes actuellement dans la description du formulaire seront installées et aucune autre modification ne se produira.
Si l’indicateur MAPI_UNICODE est défini, le chemin d’accès du fichier de configuration du formulaire est une chaîne Unicode.
Les clients doivent appeler IMAPIFormContainer ::GetLastError si InstallForm retourne MAPI_E_EXTENDED_ERROR, et ils doivent case activée la structure MAPIERROR retournée pour déterminer la condition qui a déclenché l’erreur.
Référence MFCMAPI
Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.
Fichier | Fonction | Commentaire |
---|---|---|
FormContainerDlg.cpp |
CFormContainerDlg ::OnInstallForm |
MFCMAPI utilise la méthode IMAPIFormContainer ::InstallForm pour installer un formulaire dans un conteneur de formulaires. |