COMEvents サンプル : COM イベントの作成と使用
更新 : 2007 年 11 月
COMEvents サンプルは、COM を使用したイベント処理の例を示します。
セキュリティに関するメモ : |
---|
このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。 |
サンプルとそのインストール手順を取得するには
Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。
詳細については、「サンプル ファイルの格納場所」を参照してください。
使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。
サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。
サンプルのビルドと実行
COMEvents をビルドして実行するには
COMEvents.sln ソリューション ファイルを開きます。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
ソリューション エクスプローラの [EventReceiver] ノードを右クリックし、[スタートアップ プロジェクトに設定] を選択します。
[デバッグ] メニューの [デバッグなしで開始] をクリックします。
サンプルの動作
COMEvents サンプルでは、event_source 属性と event_receiver 属性を使用して、イベント ソース CSource とイベント レシーバ CSink を作成します。
イベント ソースでは、インターフェイスのメソッド IEvent、IEvent2、および IJW をイベントとして宣言します。インターフェイスの定義については、Ifaces.h を参照してください。
イベント レシーバでは、ハンドラ メソッド f1 ~ f6 を宣言し、各ハンドラをイベントにフックします。
メイン コードでは、CSource と CSink をインスタンス化します。CSink のコンストラクタは、フックを実行します。メイン コードではその後、イベントを発生させ、イベントをアンフックし、再びイベントを発生させます。