イベント処理Event Handling

イベント処理は主に COM クラスのサポートされています (通常は ATL クラスを使用して、COM オブジェクトを実装する C++ クラス、またはコクラス属性)。Event handling is primarily supported for COM classes (C++ classes that implement COM objects, typically using ATL classes or the coclass attribute). 詳細については、次を参照してください。 COM でのイベント処理します。For more information, see Event Handling in COM.

イベント処理はネイティブ C++ クラス (COM オブジェクトを実装しない C++ クラス) でサポートされていますが、このサポートは非推奨とされており、将来のリリースでは削除されます。Event handling is also supported for native C++ classes (C++ classes that do not implement COM objects), however, that support is deprecated and will be removed in a future release. 詳細については、次を参照してください。ネイティブ C++ でのイベント処理します。For more information, see Event Handling in Native C++.

イベント処理では、シングルスレッドおよびマルチスレッドの使用をサポートし、同時マルチスレッド アクセスからデータを保護できます。Event handling supports single- and multithreaded usage and protects data from simultaneous multithread access. また、サブクラスをイベント ソース クラスまたはイベント レシーバー クラスから派生させ、その派生クラスの拡張イベント ソースと拡張イベント受信をサポートします。It also allows you to derive subclasses from event source or receiver classes and support extended event sourcing/receiving in the derived class.

MicrosoftC++コンパイラには、属性とイベントとイベント ハンドラーを宣言するためのキーワードが含まれています。The Microsoft C++ compiler includes attributes and keywords for declaring events and event handlers. イベント属性とキーワードは、CLR プログラムとネイティブ C++ プログラムで使用できます。The event attributes and keywords can be used in CLR programs and in native C++ programs.

トピックTopic 説明Description
event_sourceevent_source イベント ソースを作成します。Creates an event source.
event_receiverevent_receiver イベント レシーバー (シンク) を作成します。Creates an event receiver (sink).
__event__event イベントを宣言します。Declares an event.
__raise__raise イベントの呼び出しサイトを強調します。Emphasizes the call site of an event.
__hook__hook ハンドラー メソッドをイベントに関連付けます。Associates a handler method with an event.
__unhook__unhook イベントからハンドラー メソッドの関連付けを解除します。Dissociates a handler method from an event.

関連項目See also

C++ 言語リファレンスC++ Language Reference
キーワードKeywords