IMsgServiceAdmin2::CreateMsgServiceEx
S’applique à : Outlook 2013 | Outlook 2016
Ajoute un service de message au profil actuel et retourne l’UID du service qui vient d’être ajouté.
HRESULT CreateMsgServiceEx(
LPSTR lpszService,
LPSTR lpszDisplayName,
ULONG_PTR ulUIParam,
ULONG ulFlags,
LPMAPIUID lpuidService
);
Paramètres
lpszService
[in] Pointeur vers le nom du service de message à ajouter. Ce nom de service de message doit apparaître dans la section [Services] du fichier MapiSvc.inf.
lpszDisplayName
[in] Pointeur vers le nom complet du service de messagerie à ajouter. Le paramètre lpszDisplayName est ignoré si le service de message a défini la propriété PR_DISPLAY_NAME (PidTagDisplayName) dans le fichier MapiSvc.inf.
ulUIParam
[in] Handle de la fenêtre parente de toutes les boîtes de dialogue ou fenêtres affichées par cette méthode.
ulFlags
[in] Masque de bits d’indicateurs qui contrôle la façon dont le service de message est installé. Les indicateurs suivants peuvent être définis :
MAPI_UNICODE
Les paramètres lpszService et lpszDisplayName doivent être convertis en LPWSTR et interprétés comme des chaînes Unicode.
SERVICE_NO_RESTART_WARNING
Lors de l’ajout d’un nouveau service de messagerie au profil, le sous-système MAPI, en fonction de différents critères et circonstances, détermine souvent que cette action nécessite un redémarrage d’Outlook. Si l’indicateur SERVICE_NO_RESTART_WARNING n’est pas inclus et que l’interface utilisateur est autorisée (en fonction des indicateurs SERVICE_UI_ALWAYS et SERVICE_UI_ALLOWED) et qu’au moins un processus est connecté au profil actuel, cette fonction affiche le message « Vous devez redémarrer Outlook pour que ces modifications prennent effet ». L’inclusion de l’indicateur SERVICE_NO_RESTART_WARNING supprime l’affichage de ce message d’avertissement.
SERVICE_UI_ALLOWED
L’interface utilisateur de configuration du service de message est autorisée si nécessaire.
SERVICE_UI_ALWAYS
Le service de message affiche sa feuille de propriétés de configuration.
lpuidService
[out] Pointeur vers l’UID du service de message ajouté.
Valeur renvoyée
S_OK
L'appel a r�ussi et a renvoy� la valeur attendue ou les valeurs.
MAPI_E_NOT_FOUND
Le nom du service de message ne figure pas dans la section [Services] de MapiSvc.inf.
Remarques
La méthode IMsgServiceAdmin2 ::CreateMsgServiceEx ajoute un service de message au profil actuel. CreateMsgServiceEx appelle la fonction de point d’entrée du service de message pour effectuer des tâches de configuration spécifiques au service. Si l’indicateur SERVICE_UI_ALLOWED est défini dans le paramètre ulFlags , le service de message en cours d’installation peut afficher une feuille de propriétés permettant à l’utilisateur de configurer ses paramètres.
Le fichier MapiSvc.inf contient la liste des fournisseurs qui composent un service de message et les propriétés de chacun d’eux. CreateMsgServiceEx crée d’abord une section de profil pour le service de message, puis copie toutes les informations relatives à ce service à partir du fichier MapiSvc.inf dans le profil, en créant de nouvelles sections pour chaque fournisseur.
Une fois toutes les informations copiées à partir de MapiSvc.inf, la fonction de point d’entrée du service de message, MSGSERVICEENTRY, est appelée avec la valeur MSG_SERVICE_CREATE définie dans le paramètre ulContext . Si l’indicateur SERVICE_UI_ALLOWED est défini dans le paramètre ulFlags de la méthode CreateMsgServiceEx, les valeurs des paramètres ulUIParam et ulFlags sont également passées lorsque la fonction de point d’entrée du service de message est appelée. Les fournisseurs de services doivent afficher leurs feuilles de propriétés de configuration afin que les utilisateurs puissent configurer le service de messagerie.
Remarques pour les appelants
Si l’argument lpuidServiceCreateMsgServiceEx n’a pas la valeur NULL, la propriété PR_SERVICE_UID (PidTagServiceUid) du service de message qui a été ajouté au profil est retournée dans le GUID vers lequel il pointe.
Transmettez la valeur de la propriété PR_SERVICE_UID dans le paramètre lpuidService à la méthode IMsgServiceAdmin ::ConfigureMsgService pour configurer le service.
Attention
L’implémentation Microsoft Outlook 2010 du sous-système MAPI ne prend pas en charge MAPI_UNICODE et échoue si elle est utilisée.
Importante
L’interface IMsgServiceAdmin2 est exposée par le même objet qui implémente l’interface IMsgServiceAdmin et est disponible à l’aide de l’implémentation d’Outlook du sous-système MAPI depuis Outlook 2003. Son IID est défini comme suit : #if !defined(INITGUID) || defined(USES_IID_IMsgServiceAdmin2)
DEFINE_OLEGUID(IID_IMsgServiceAdmin2,0x00020387, 0, 0);
> le SERVICE_NO_RESTART_WARNING ulFlags peut ne pas être défini dans le fichier d’en-tête téléchargeable que vous avez actuellement, auquel cas vous pouvez l’ajouter à votre code à l’aide de la valeur suivante : #define SERVICE_NO_RESTART_WARNING 0x00000080
Voir aussi
IMsgServiceAdmin2 : IMsgServiceAdminMFCMAPI en tant qu’exemple de code