掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Activex DLLのイベントを拾うには? (ID:61341)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ありがとうございます。 上記でMyEventHandlerと書いてあるのが、επιστημηさんのサイトで言うところの、CounterEventsですよね? それを真似てイベントハンドリングクラスを宣言しようと(とりあえずCounterという名称も変えずに)、 #define SINKID_COUNTEREVENTS 0 class ATL_NO_VTABLE CounterEvents : public CComObjectRootEx<CComSingleThreadModel>, public IDispEventImpl<SINKID_COUNTEREVENTS, CounterEvents, &DIID__ICounterEvents, &LIBID_COUNTERSERVERLib, 1, 0> { public: CounterEvents() {} という部分を自分のソースにもコピーしてみたのですが、 CComObjectRootExを使うためにatlcom.hをインクルードしても ビルドでヘッダーの中でエラーが出てしまいます。 (例:'_Module' : 定義されていない識別子です。) επιστημηさんはMFCではなくATLとのことで、上記部分も根本的に違う記述になるのでしょうか? また、kureさんの書いてくださったソースの、 HRESULT hr = comWrapper.m_lpDispatch->QueryInterface(uuid, &pContainer); のuuidの部分は、インターフェイスIDを渡すのだと思うのですが、具体的にはどのように取得すれば良いのでしょう? 上の方で通りすがりさんにもoleviewを見るように言われましたが、oleviewを見るのは初めてのため、kureさんのおっしゃるイベントハンドリング用のクラス含め、どれがそれにあたるのかわかりません。 例えばQueryInterfaceに渡すuuidは、oleviewでSampleX.dllを見ると出てくる、 Interface = {〜} = IUnknown の{〜}の部分のということでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.