次の方法で共有


COMEvents サンプル : COM イベントの作成と使用

更新 : 2007 年 11 月

COMEvents サンプルは、COM を使用したイベント処理の例を示します。

2d9c4515.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。

サンプルとそのインストール手順を取得するには

  • Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。

    詳細については、「サンプル ファイルの格納場所」を参照してください。

  • 使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。

  • サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。

サンプルのビルドと実行

COMEvents をビルドして実行するには

  1. COMEvents.sln ソリューション ファイルを開きます。

  2. [ビルド] メニューの [ソリューションのビルド] をクリックします。

  3. ソリューション エクスプローラの [EventReceiver] ノードを右クリックし、[スタートアップ プロジェクトに設定] を選択します。

  4. [デバッグ] メニューの [デバッグなしで開始] をクリックします。

サンプルの動作

COMEvents サンプルでは、event_source 属性と event_receiver 属性を使用して、イベント ソース CSource とイベント レシーバ CSink を作成します。

イベント ソースでは、インターフェイスのメソッド IEvent、IEvent2、および IJW をイベントとして宣言します。インターフェイスの定義については、Ifaces.h を参照してください。

イベント レシーバでは、ハンドラ メソッド f1 ~ f6 を宣言し、各ハンドラをイベントにフックします。

メイン コードでは、CSource と CSink をインスタンス化します。CSink のコンストラクタは、フックを実行します。メイン コードではその後、イベントを発生させ、イベントをアンフックし、再びイベントを発生させます。

参照

その他の技術情報

イベント処理サンプル