如何使用ATL创建匿名IDispatch函数?

时间:2011-02-06 12:39:57

标签: winapi com atl idispatch atlcom

是否有一种简单的方法来创建一个派生自IDispatch的类,并且可以像这样传递给API(这是C ++):

pDOM2->attachEvent(CComBSTR("event"), new DispatchFunction);

我知道如何创建一个C ++对象来处理一个值为0的dispid的调用,但是手动实现所有IDispatch总是有点痛苦。我想知道ATL是否有一些标准的方法,因为它很常见。

1 个答案:

答案 0 :(得分:2)

默认情况下,ATL会创建“自动双重”COM类。它们支持早期绑定 IDispatch。你会看到IDispatchImpl<>在他们的继承列表中。您在IDL中声明了dispid。无需额外的工作。