【发布时间】:2013-10-31 15:40:23
【问题描述】:
我有一个实现IDispatch 的[dual] 接口,如下所示:
[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(),还是它的副本?客户端是否会自动承担释放字符串值属性返回的字符串的责任?
【问题讨论】: