COMEvents サンプル:作成および COM イベントを使用した例を示します
COMEvents サンプルは、COM を使用したイベント処理の例を示します。
セキュリティに関するメモ |
---|
このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。 |
サンプルとそのインストール手順を取得するには
Visual Studio のサンプルにアクセスするには
[ヘルプ] メニューの [サンプル] をクリックします。
既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。
サンプルのビルドと実行
COMEvents をビルドして実行するには
COMEvents.sln ソリューション ファイルを開きます。
From the Build menu, click Build Solution.
のソリューション エクスプローラーで [EventReceiver] ノードを右クリックし、 セットとしてスタートアップ プロジェクト をクリックします。
メニューの [デバッグ、 デバッグなしで開始] をクリックします。
サンプルの動作
COMEvents サンプルは、イベント ソース CSource と、 CSinkevent_source 属性をそれぞれ使用して、イベント レシーバー event_receiver を作成します。
イベント ソースでは、インターフェイスのメソッド IEvent、IEvent2、および IJW をイベントとして宣言します。インターフェイスの定義については、Ifaces.h を参照してください。
イベント レシーバーでは、ハンドラー メソッド f1 ~ f6 を宣言し、各ハンドラーをイベントにフックします。
メイン コードでは、CSource と CSink をインスタンス化します。 CSink のコンストラクターは、フックを実行します。 メイン コードではその後、イベントを発生させ、イベントをアンフックし、再びイベントを発生させます。