Question

J'essaie de créer l'IDL pour l'interface IConverterSession et la définition du MIMETOMAPI . Il spécifie le paramètre LPMESSAGE pmsg comme étant [out], mais les commentaires indiquent son pointeur sur le message MAPI à charger.

Il m'est difficile de savoir si les fonctions allouent l'objet de message MAPI et définissent le pointeur. Dans ce cas, ne devrait-il pas s'agir d'un pointeur sur un pointeur de MESSAGE? OU le code appelant est-il censé avoir déjà instancié l’objet de message, auquel cas pourquoi est marqué [out] et non [in]?

Cette interface doit être consommée à partir du code VB6, elle devra donc être soit [in] ou [in, out], mais j’ai besoin de savoir si, dans le fichier IDL que j’ai utilisé: -

.
[in] IMessage pmsg* 

OU

[in, out] IMessage pmsg**
Était-ce utile?

La solution

Je pense que dans ce cas, la documentation est trompeuse lorsqu'elle marque le paramètre comme [out]. Vous devez transmettre un LPMESSAGE valide à la méthode, et c'est pourquoi il ne s'agit pas d'un double pointeur. Je voudrais donc aller avec [dans] sur votre définition idl.

Autres conseils

Voir MAPIMime.h à partir de la source MFCMapi (http://mfcmapi.codeplex.com/) comme source définitive.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top