是否有一种简单的方法来创建一个派生自IDispatch的类,并且可以像这样传递给API(这是C ++):
pDOM2->attachEvent(CComBSTR("event"), new DispatchFunction);
我知道如何创建一个C ++对象来处理一个值为0的dispid的调用,但是手动实现所有IDispatch总是有点痛苦。我想知道ATL是否有一些标准的方法,因为它很常见。
答案 0 :(得分:2)
默认情况下,ATL会创建“自动双重”COM类。它们支持早期绑定和 IDispatch。你会看到IDispatchImpl<>在他们的继承列表中。您在IDL中声明了dispid。无需额外的工作。