このようなものでCOMメソッドを呼び出すと
d.someMethod(string, doule, ref string);
上記のエラーが発生します。呼び出されるメソッドは次のようなものです
STDMETHODIMP SomeClass::someMethod(BSTR, DOUBLE, BSTR*)
BSTR *に値を割り当てない限り、正常に機能します。
編集:IDLの説明
interface IDistanceClass : IDispatch{
[id(1), helpstring("some helpstring")] HRESULT someMethod([in] BSTR firstarg, [in] DOUBLE secondarg, [in,out] BSTR* returnme);
};
EDIT2:* returnme = "T"のように1文字だけ渡す限り、正常に機能します。しかし、文字列である必要がある場合は、文字列にポインタを割り当ててもエラーが発生します。