3

IDispatch から派生し、次のように API に渡すことができるクラスを作成する簡単な方法はありますか (これは C++ です):

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

値 0 の dispid で呼び出しを処理する C++ オブジェクトを作成する方法は知っていますが、すべての IDispatch を手動で実装するのは常に少し面倒です。かなり一般的であるため、ATLには標準的な方法があるかどうか疑問に思っていました。

4

1 に答える 1

2

デフォルトでは、ATL は "auto-dual" COM クラスを作成します。事前バインディングIDispatch の両方をサポートします。継承リストに IDispatchImpl<> が表示されます。IDL で dispid を宣言します。余分な作業は必要ありません。

于 2011-02-06T13:00:05.157 に答える