イベント処理
イベント処理は主に 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 |
イベントからハンドラー メソッドの関連付けを解除します。 |