2016-07-21 5 views
-2

要件:MAPIDEFSを使用してOutlookでメールを実際に暗号化するDLLを作成する必要があります。私たちの製品チームはIMessageをDLLに渡します。復号化してIMessageの形式で解読した電子メールを出力として渡す必要があります。 このDLLは異なるクライアントマシンで実行されます。OutlookオブジェクトモデルMailItemPtrをMAPI IMessageに変換する

しかし、私はmapidefsを使って解読できず、OOMを使って試してみましたが、成功しました。私のOOMプログラムはMailItemPtrを受け取り、出力として返します。今私はIMessageにMailItemPtrを変換する必要があります。多くの方法を試しましたが、私はそれを達成できませんでした。

質問

: はあなたの助け

+0

コードに問題があるようです。しかし、[問題を再現できるコードや情報がある](// stackoverflow.com/help/mcve)しない限り、私たちは手伝ってはいけません。それ以外の場合、私たちはただ盲目的に推測しています。 – kayess

+0

こんにちはカイス、 ありがとうございます。電子メールを復号化してMailItemPtrとして返すことができますが、IMessageとして出力する必要があります。私たちはMailItemPtrをIMessageに変換するメソッドを探しています – Sravan

答えて

0

MailItem.MAPIOBJECTプロパティを読むため

感謝をMAPI IMessageがするMailItemPtrを変換し、その逆に助けが必要 - それはIMessageがMAPIオブジェクトを返します。

+0

応答をありがとう。私はMailItem.MAPIOBJECTを使用してみましたが、問題が発生しました。 以下は、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、&props); GetPropsメソッドに到達すると、プログラムが突然終了します。 変換が正しく行われていないようです。私たちは何日もこのことに打たれており、どんな助けも高く評価されています。 – Sravan

+0

最初にIID_IMessageの返されたIUnknownインターフェイスをQIする必要があります。 –

+0

私は最初にIUnknownを取得し、そのIUnknownインターフェイスを使用してIMessageを取得するためにクエリインターフェイスで試しました。しかし、同じ問題があるようです。 IMessageをMailItemに変換する方法のヒントを教えてください。 – Sravan

関連する問題