When make a IDL for dual interface, we must choose parameter's type from only VARIANT and BSTR.
Using other type, VC++ compiler warns me of in-compatiablity with Dual Interface.

So, I have used only VARIANT and BSTR as a parameter's type of dual interface.
But, I needed to use a reference of BSTR.
I wrote IDL as follows.

[id(1), helpstring("method Parse")] HRESULT Parse([in] BSTR args, [out] BSTR* htmlResult, [out, retval] short* result);

It was successfully compiled and runned well in VB.
But, in ASP, it occurred type mismatch error at "htmlResult" parameter.
Besides, I don't know if its VC++ client would release the memory of htmlResult using SysFreeString.

Let me see wise answers of above two stupid question.

Regards

A programmer who loves Goethe.