IMAPISupport::Subscribe
S’applique à : Outlook 2013 | Outlook 2016
Inscrit un récepteur de conseil pour recevoir des notifications via MAPI.
HRESULT Subscribe(
LPNOTIFKEY lpKey,
ULONG ulEventMask,
ULONG ulFlags,
LPMAPIADVISESINK lpAdviseSink,
ULONG FAR * lpulConnection
);
Paramètres
lpKey
[in] Pointeur vers une clé de notification qui représente l’objet source de conseil. Le paramètre lpKey ne peut pas être NULL.
ulEventMask
[in] Masque de valeurs qui indiquent les types d’événements de notification qui intéressent l’appelant et doivent être inclus dans l’inscription. Les valeurs suivantes sont valides :
fnevCriticalError
S’inscrit aux notifications concernant les erreurs graves, telles que la mémoire insuffisante.
fnevExtended
S’inscrit aux notifications relatives aux événements spécifiques au carnet d’adresses ou au fournisseur de magasin de messages particulier.
fnevNewMail
S’inscrit aux notifications relatives à l’arrivée de nouveaux messages.
fnevObjectCreated
S’inscrit pour les notifications relatives à la création d’un nouvel objet.
fnevObjectCopied
S’inscrit pour les notifications relatives à un objet en cours de copie.
fnevObjectDeleted
S’inscrit pour les notifications relatives à la suppression d’un objet.
fnevObjectModified
S’inscrit pour les notifications relatives à un objet en cours de modification.
fnevObjectMoved
S’inscrit pour les notifications relatives à un objet en cours de déplacement.
fnevSearchComplete
S’inscrit aux notifications sur la fin d’une opération de recherche.
ulFlags
[in] Masque de bits d’indicateurs qui contrôle la façon dont la notification se produit. L’indicateur suivant peut être défini :
NOTIFY_SYNC
Lorsque l’appelant appelle la méthode IMAPISupport ::Notify pour générer des notifications pour ce récepteur de conseil, Notify doit effectuer tous les appels nécessaires pour avertir les récepteurs avant de revenir. Si cet indicateur n’est pas défini, la notification est asynchrone et les rappels sont mis en file d’attente vers les processus qui se sont abonnés et démarrés lorsque ces processus prennent le contrôle du processeur.
lpAdviseSink
[in] Pointeur vers un objet récepteur de conseil.
lpulConnection
[out] Pointeur vers un numéro de connexion différent de zéro qui représente l’inscription.
Valeur renvoyée
S_OK
L’inscription de la notification a réussi.
Remarques
La méthode IMAPISupport ::Subscribe est implémentée pour tous les objets de prise en charge du fournisseur de services. Les fournisseurs de services appellent Subscribe à partir de l’une de leurs méthodes Advise pour permettre à MAPI de gérer les notifications.
Remarques pour les appelants
Pour utiliser les méthodes de prise en charge MAPI pour la notification, créez une clé pour la source de notification de l’objet sur les notifications à générer. La valeur de la clé doit être unique et doit être facilement régénérée chaque fois que l’objet change.
MAPI utilise la clé de notification pour rechercher toutes les fonctions de rappel inscrites via la fonction HrAllocAdviseSink pour la source de conseil correspondante. Transmettez cette clé à IMAPISupport ::Notify chaque fois que vous devez générer une notification pour la source de conseil correspondante.
L’indicateur NOTIFY_SYNC affecte le fonctionnement des appels suivants à Notify. Lorsque vous définissez NOTIFY_SYNC, Notify ne retourne pas tant qu’il n’a pas terminé d’envoyer toutes les notifications nécessaires. Lorsque vous ne définissez pas NOTIFY_SYNC, Notify fonctionne de manière asynchrone, en retournant éventuellement avant l’envoi de toutes les notifications.