Domanda

Sto cercando di creare l'IDL per l'interfaccia IConverterSession e sono confuso dalla definizione di MIMETOMAPI . Specifica il parametro LPMESSAGE pmsg come [out] ma i commenti indicano che è il puntatore al messaggio MAPI da caricare.

Non mi è chiaro se le funzioni allocano l'oggetto messaggio MAPI e impostano il puntatore, nel qual caso non dovrebbe essere un puntatore a un puntatore di MESSAGGIO? O è previsto che il codice chiamante abbia già istanziato l'oggetto messaggio, nel qual caso perché è contrassegnato [out] e non [in]?

In definitiva questa interfaccia deve essere consumata dal codice VB6, quindi dovrà essere [in] o [in, out] ma devo sapere se nell'IDL che ho usato: -

[in] IMessage pmsg* 

o

[in, out] IMessage pmsg**
È stato utile?

Soluzione

Penso che in questo caso la documentazione sia fuorviante quando contrassegna il parametro come [out]. Devi passare un LPMESSAGE valido al metodo ed è per questo che non è un doppio puntatore. Quindi vorrei andare con [in] sulla tua definizione idl.

Altri suggerimenti

Vedi MAPIMime.h dalla fonte MFCMapi (http://mfcmapi.codeplex.com/) come fonte definitiva.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top