2016-07-21 3 views
-2

Condition préalable: Nous devons créer une DLL qui décrypte réellement mon courrier électronique dans Outlook en utilisant MAPIDEFS en C++. Notre équipe de produit passera IMessage à la DLL et j'ai besoin de décrypter et passer l'email déchiffré sous la forme de IMessage comme une sortie. Cette DLL va s'exécuter dans différentes machines clientes.Convertir le modèle d'objet Outlook MailItemPtr en MAPI IMessage en C++

Mais j'ai échoué à déchiffrer en utilisant mapidefs et essayé d'utiliser OOM et j'ai été un succès. Mon programme MOO prend et renvoie MailItemPtr en sortie. Maintenant, j'ai besoin de convertir le MailItemPtr en IMessage. J'ai essayé de nombreuses façons, mais je ne pouvais pas y arriver.

Question: Besoin d'aide dans la conversion MailItemPtr à MAPI iMessage et vice-versa

Merci pour votre aide

+0

Il semble que vous ayez un problème avec votre code. Cependant, nous ne pouvons pas vous aider à moins que nous ayons [du code ou des informations pouvant reproduire le problème] (// stackoverflow.com/help/mcve). Sinon, nous devinons aveuglément. – kayess

+0

Salut Kayess, Nous vous remercions de votre intérêt. Nous sommes en mesure de déchiffrer un e-mail et de le renvoyer en tant que MailItemPtr, mais nous avons besoin d'une sortie en tant que IMessage. Nous recherchons une méthode qui convertit le MailItemPtr en IMessage – Sravan

Répondre

0

Lire la MailItem.MAPIOBJECT propriété - elle retourne objet iMessage MAPI.

+0

Merci pour la réponse. J'ai essayé d'utiliser MailItem.MAPIOBJECT mais j'ai pu voir un problème. Voici l'extrait que j'utilise pour convertir en IMessage IUnknownPtr u = oMsg-> GetMAPIOBJECT(); IMessage * msg = NULL; msg = (IMessage *) (IUnknown *) u; SizedSPropTagArray (1, mcols) = {1, {PR_SENDER_NAME}}; hr = msg-> GetProps ((SPropTagArray *) & mcols, 0, & pcount, & accessoires); Mon programme se ferme brutalement lorsqu'il atteint la méthode GetProps. On dirait que la conversion ne se passe pas correctement. Nous sommes frappés avec cela depuis plusieurs jours et toute aide est très appréciée. – Sravan

+0

Vous devez d'abord QI renvoyer l'interface IUnknown renvoyée pour IID_IMessage. –

+0

J'ai essayé avec l'interface de requête d'obtenir IUnknown d'abord, puis obtenir IMessage en utilisant cette interface IUnknown. Mais semble le même problème. Pouvez-vous également donner quelques conseils sur la façon de convertir IMessage en MailItem – Sravan