イベント処理

イベント処理は主に COM クラス (一般的に ATL クラスまたは coclass の属性を使用して COM オブジェクトを実装する C++ クラス) でサポートされています。 詳細については、「COM でのイベント処理」を参照してください。

イベント処理は、ネイティブ C++ クラス (COM オブジェクトを実装しない C++ クラス) でもサポートされています。 ネイティブ C++ のイベント処理のサポートは非推奨となりました。将来のリリースで削除されます。 詳細については、「ネイティブ C++ でのイベント処理」を参照してください。

Note

ネイティブ C++ のイベント属性は、標準 C++ と互換性がありません。 この属性は、/permissive- 準拠モードを指定するとコンパイルされません。

イベント処理では、単一とマルチスレッドの両方の使用がサポートされます。 これにより、同時マルチスレッド アクセスからデータが保護されます。 イベント ソースまたはレシーバー クラスからサブクラスを派生させることができます。 これらのサブクラスでは、拡張イベントの調達と受信がサポートされます。

Microsoft C++ コンパイラには、イベントとイベント ハンドラーを宣言するための属性とキーワードが含まれています。 イベント属性とキーワードは、CLR プログラムとネイティブ C++ プログラムで使用できます。

記事 説明
event_source イベント ソースを作成します。
event_receiver イベント レシーバー (シンク) を作成します。
__event イベントを宣言します。
__raise イベントの呼び出しサイトを強調します。
__hook ハンドラー メソッドをイベントに関連付けます。
__unhook イベントからハンドラー メソッドの関連付けを解除します。

関連項目

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