0
是否有可能为使用ATL
的类的QueryInterface提供实现?使用ATL覆盖QueryInterface
BEGIN_COM_MAP(CConcrete) // Defines _InternalQueryInterface
COM_INTERFACE_ENTRY(IInterface)
END_COM_MAP() // Defines QueryInterface as a pure virtual function which
// is overridden in CComObject<CConcrete>
我重写了嘲讽的目的,允许用户模拟QueryInterface
失败。如果未明确配置,我希望保留默认的ATL
QueryInterface功能。
调用堆栈看起来是这样的:
CComObjectRootBase::InternalQueryInterface
CConcrete::_InternalQueryInterface // BEGIN_COM_MAP
CComObject<CConcrete>::QueryInterface // Override of QI from END_COM_MAP
您可以使用['COM_INTERFACE_ENTRY_NOINTERFACE'](https://msdn.microsoft.com/en-us/library/a6ba4c4b.aspx)模拟丢失的接口,您当然可以用其他方式覆盖它。使用这个记录的宏可能是最简单的。 –