Freigeben über


event_receiver-Attribut

Erstellt einen Ereignisempfänger (Senke).

Hinweis

Ereignisattribute in systemeigenem C++ sind mit Standard C++ nicht kompatibel. Sie werden nicht kompiliert, wenn Sie den /permissive- Konformitätsmodus angeben.

Syntax

[ event_receiver(type
   [, layout_dependent=false]) ]

Parameter

type
Eine Enumeration von einem der folgenden Werte:

  • native für nicht verwalteten C/C++-Code (Standard für systemeigene Klassen).

  • com für COM-Code. Dieser Wert erfordert, dass Sie diese Headerdateien einschließen:

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

layout_dependent
Geben Sie layout_dependent nur an, wenntype= com. layout_dependent ist ein Boolescher Wert:

  • true bedeutet, dass die Signatur der Stellvertretungen im Ereignisempfänger genau mit denen übereinstimmen muss, mit denen sie in der Ereignisquelle eingebunden sind. Die Namen des Ereignisempfängerhandlers müssen mit den namen übereinstimmen, die in der relevanten Ereignisquellschnittstelle angegeben sind. Wird coclass verwendet, wenn layout_dependent das ist true. Es ist etwas effizienter anzugeben true.

  • false(Standard) bedeutet, dass die aufrufende Konvention und die Speicherklasse (virtualstatic, und andere) nicht mit der Ereignismethode und den Handlern übereinstimmen müssen. Die Handlernamen müssen auch nicht mit den Namen der Ereignisquellschnittstellenmethode übereinstimmen.

Hinweise

Das event_receiver C++-Attribut gibt an, dass die Klasse oder Struktur, auf die sie angewendet wird, ein Ereignisempfänger mit dem einheitlichen Ereignismodell von Microsoft C++ ist.

event_receiver wird mit dem Attribut und den event_source __hook __unhook Schlüsselwörtern verwendet. Dient event_source zum Erstellen von Ereignisquellen. Verwenden Sie __hook innerhalb der Methoden eines Ereignisempfängers, um Ereignisempfängermethoden ("hook") den Ereignissen einer Ereignisquelle zuzuordnen. Wird verwendet __unhook , um sie zu trennen.

layout_dependent wird nur für COM-Ereignisempfänger (type=com) angegeben. Der Standardwert für layout_dependent lautet false.

Hinweis

Eine von einer Vorlage gebildete Klasse oder Struktur kann keine Ereignisse enthalten.

Anforderungen

Attributkontext Wert
Gilt für class, struct
Wiederholbar No
Erforderliche Attribute coclass, wenn layout_dependent=true vorliegt.
Ungültige Attribute Keine

Weitere Informationen finden Sie unter Attributkontexte.

Siehe auch

Compilerattribute
event_source
__event
__hook
__unhook
Klassenattribute