event_sourceevent_source

イベント ソースを作成します。Creates an event source.

構文Syntax

[ event_source(type, optimize=[speed | size], decorate=[true | false]) ]

パラメーターParameters

typetype
次の値のいずれかの列挙です。An enumeration of one of the following values:

  • アンマネージ C/C++ コード用のnative (アンマネージ クラスの既定)。native for unmanaged C/C++ code (default for unmanaged classes).

  • COM コード用のcomcom for COM code. 使用する必要がありますcoclassときtype =comします。You must use coclass when type=com. この値の場合、ユーザーが次のヘッダー ファイルを含める必要があります。This value requires that you include the following header files:

    #define _ATL_ATTRIBUTES
    #include <atlbase.h>
    #include <atlcom.h>
    

optimizeoptimize
ときにnativeを指定できますoptimize=sizeは 4 バイトのストレージ (最小値) のすべてのイベント クラスで示すために、またはoptimize=speed(既定値) を 4 があることを示すために * (イベントの #) バイトのストレージ。When type is native, you can specify optimize=size, to indicate that there is 4 bytes of storage (minimum) for all events in a class or optimize=speed (the default) to indicate that there is 4 * (# of events) bytes of storage.

decoratedecorate
ときにnativeを指定できますdecorate=falseを結合 (.mrg) ファイルの拡張名が、外側のクラス名を含める必要がありますいないことを示しています。When type is native, you can specify decorate=false, to indicate that the expanded name in the merged (.mrg) file should not include the enclosing class name. /Fx では、.mrg ファイルを生成できます。/Fx lets you generate .mrg files. decorate=false、既定値は、マージされたファイルで完全修飾型名します。decorate=false, which is the default, results in fully-qualified type names in the merged file.

RemarksRemarks

event_source C++ 属性では、それが適用されているクラスまたは構造がイベント ソースとなることを指定します。The event_source C++ attribute specifies that the class or structure to which it is applied will be an event source.

event_source は、 event_receiver 属性と __event キーワードと共に使用します。event_source is used in conjunction with the event_receiver attribute and the __event keyword. 使用event_receiverイベント レシーバーを作成します。Use event_receiver to create event receivers. 使用 _ _eventイベントとしてこれらのメソッドを指定するイベント ソース内のメソッドにします。Use __event on methods within the event source to specify those methods as events.

注意

テンプレート クラスまたは構造体にイベントを含めることはできません。A templated class or struct cannot contain events.

必要条件Requirements

属性コンテキストAttribute Context

対象Applies to クラス構造体class, struct
反復可能Repeatable いいえNo
必要な属性Required attributes コクラスとき type=comcoclass when type=com
無効な属性Invalid attributes なしNone

詳細については、「 属性コンテキスト」を参照してください。For more information, see Attribute Contexts.

関連項目See also

コンパイラ属性Compiler Attributes
event_receiverevent_receiver
__event__event
__hook__hook
__unhook__unhook
クラス属性Class Attributes