سؤال

أحاول إنشاء IDL لواجهة IConverterSession وأنا في حيرة من أمري بشأن تعريف MIMETOMAPI طريقة.ويحدد LPMESSAGE pmsg المعلمة كـ [out] ومع ذلك تشير التعليقات إلى المؤشر إلى رسالة MAPI المراد تحميلها.

من غير الواضح بالنسبة لي ما إذا كانت الوظائف تقوم بتخصيص كائن رسالة MAPI وتعيين المؤشر وفي هذه الحالة ألا ينبغي أن يكون مؤشرًا لمؤشر MESSAGE؟أم أنه من المتوقع أن يكون رمز الاتصال قد قام بمثيل كائن الرسالة بالفعل وفي هذه الحالة لماذا تم وضع علامة [خارج] وليس [داخل]؟

في النهاية، سيتم استهلاك هذه الواجهة من كود VB6 لذا يجب أن تكون إما [داخل] أو [داخل، خارج] ولكني بحاجة إلى معرفة ما إذا كان في IDL الذي استخدمته: -

[in] IMessage pmsg* 

أو

[in, out] IMessage pmsg**
هل كانت مفيدة؟

المحلول

أعتقد في هذه الحالة أن الوثائق مضللة عندما تحدد المعلمة على أنها [out].يجب عليك تمرير LPMESSAGE صالح إلى الأسلوب، ولهذا السبب لا يعد مؤشرًا مزدوجًا.لذلك سأختار [in] في تعريف idl الخاص بك.

نصائح أخرى

راجع MAPIMime.h من مصدر MFCMapi (http://mfcmapi.codeplex.com/) كمصدر نهائي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top