次の方法で共有


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

複数回の適用

必要な属性

コクラス ときに layout_dependent=true

無効な属性

なし

詳細については属性コンテキスト を参照してください。

参照

関連項目

event_source

__event

__hook

__unhook

その他の技術情報

コンパイラ属性

クラス属性

Attributes Samples