【发布时间】:2012-10-14 16:54:12
【问题描述】:
这可能是一个新手 COM 问题,但在谷歌上搜索会引发比提供答案更多的问题:
对本地 COM 实例使用“operator new”而不是 CoCreateInstance 是否安全?
我做了什么:
我实现了 IOperationsProgressDialog 接口 http://msdn.microsoft.com/en-us/library/windows/desktop/bb775368(v=vs.85).aspx 通过使用公共继承,从而还实现了 IUnknown 接口。
我通过“new RecyclerProgressCallback”创建了一个实例,并将其放入 COM-Ptr 中进行生命周期管理。 “RecyclerProgressCallback”是我的派生类的名称。
我在 IFileOperation::SetProgressDialog 中使用这个实例 http://msdn.microsoft.com/en-us/library/windows/desktop/bb775803(v=vs.85).aspx
总结:我的方法“似乎”有效,但我不相信它,关于 COM 对象创建的令人不安的信息太多,无法仅依赖于可观察的行为。
是否存在任何微妙的风险、谬误或其他问题?谢谢!
【问题讨论】: