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)模擬丟失的接口,您當然可以用其他方式覆蓋它。使用這個記錄的宏可能是最簡單的。 –