我有一个[dual]
实现的接口IDispatch
,如下所示:
[dual, ...]
interface IMyInterface : IDispatch
{
[id(1), propget] HRESULT StringValue([out, string, retval] OLECHAR const ** str);
};
我的支持对象IMyInterface
有一个成员变量d_str
:
class CBackingObject : public IMyInterface
{
std::basic_string<OLECHAR> d_str;
...
};
什么是返回StringValue
财产的 COM 约定?我应该退回d_str.data()
,还是复印一份?客户端是否会自动承担释放由字符串值属性返回的字符串的责任?