event_source
属性
イベント ソースを作成します。
Note
ネイティブ C++ のイベント属性は、標準 C++ と互換性がありません。 この属性は、/permissive-
準拠モードを指定するとコンパイルされません。
構文
[ event_source(type, optimize=[speed | size], decorate=[true | false]) ]
パラメーター
type
次の値のいずれかの列挙です。
アンマネージ C/C++ コード用の
native
(アンマネージ クラスの既定)。COM コード用の
com
。type
=com
のときはcoclass
を使用します。 この値の場合、ユーザーが次のヘッダー ファイルを含める必要があります。#define _ATL_ATTRIBUTES #include <atlbase.h> #include <atlcom.h>
optimize
type が native
のときに optimize=size
と指定すると、クラスのすべてのイベントに対して記憶域を (最低) 4 バイト確保することを指定でき、optimize=speed
(既定) を指定すると、記憶域を 4 * (イベントの数) バイト確保することを指定できます。
decorate
type が native
のときに decorate=false
と指定すると、マージされた (.mrg
) ファイルの拡張名に外部クラス名を含めないようにすることを指定できます。 /Fx
は .mrg
ファイルを生成できるようにします。 decorate=false
(既定) では、マージされたファイルの型名が完全修飾されます。
解説
event_source
C++ 属性は、それが適用されているクラスまたは構造がイベント ソースとなることを指定します。
event_source
は、event_receiver
属性および __event
キーワードと組み合わせて使用します。 イベントレシーバーを作成するには、event_receiver
を使用します。 イベント ソース内のメソッドで __event
を使用すると、それらのメソッドをイベントとして指定することができます。
Note
テンプレート クラスまたは構造体に events を含めることはできません。
要件
属性コンテキスト | 値 |
---|---|
適用対象 | class , struct |
反復可能 | いいえ |
必要な属性 | type =com の場合は coclass |
無効な属性 | なし |
詳細については、「 属性コンテキスト」を参照してください。