event_receiver
イベント レシーバー (シンク) を作成します。
[ event_receiver(
type
[, layout_dependent=false]
) ]
パラメーター
type
次の値の 1 種類の列挙型 :アンマネージ ネイティブ (C/C++ コードのクラスの既定) の native。
COM コードの com。この値は次のヘッダー ファイルが含まれていることが必要です :
#define _ATL_ATTRIBUTES #include <atlbase.h> #include <atlcom.h>
layout_dependent
layout_dependent だけ type=com 指定します。layout_dependent ブール値です :true イベント ハンドラーのデリゲートのシグネチャがイベント ソースにフックするシグネチャと一致しなければならないことを意味します。イベント レシーバーのハンドラー名は関連するイベント ソース インターフェイスで指定された名前と一致する必要があります。layout_dependent です true コクラス を使用する必要があります。これは True を指定するとわずかに効率的です。
呼び出し規約およびストレージ クラスが仮想 (など)静的メソッドおよびイベント ハンドラーと一致する必要がないことを False (既定値) になります。; ハンドラー名はイベント ソース インターフェイスのメソッド名と一致する必要があります。
解説
event_receiver C++ 属性が適用されたクラスまたは構造体がイベント レシーバーであることを指定します。Visual C++ で統一されたイベント モデルを使用します。
event_receiver は ソース の属性と __hook と __unhook のキーワードとともに使用されます。イベント ソースを作成するには ソース を使用します。イベント ソースでイベントにフック (「」) イベント レシーバーのメソッドを関連付けるにはイベント レシーバーのメソッド内の __hook を使用します。これらを分離するために __unhook を使用します。
layout_dependent COM イベント レシーバー type(=)com に対してのみ指定されます。layout_dependent の既定値は False です。
[!メモ]
テンプレート クラスまたは構造体にイベントを含めることはできません。
必要条件
属性コンテキスト
対象 |
クラス struct |
複数回の適用 |
X |
必要な属性 |
コクラス ときに layout_dependent=true |
無効な属性 |
なし |
詳細については属性コンテキスト を参照してください。