Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at event_source.
Creates an event source.
Syntax
[ event_source(
type,
optimize=[speed | size],
decorate=[true | false]
) ]
Parameters
type
An enumeration of one of the following values:
native
for unmanaged C/C++ code (default for unmanaged classes).com
for COM code. You must usecoclass
whentype
=com
. This value requires that you include the following header files:#define _ATL_ATTRIBUTES #include <atlbase.h> #include <atlcom.h>
optimize
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.
decorate
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 lets you generate .mrg files. decorate=false, which is the default, results in fully-qualified type names in the merged file.
Remarks
The event_source C++ attribute specifies that the class or structure to which it is applied will be an event source.
event_source is used in conjunction with the event_receiver attribute and the __event keyword. Use event_receiver to create event receivers. Use __event
on methods within the event source to specify those methods as events.
Note
A templated class or struct cannot contain events.
Requirements
Attribute Context
Applies to | class, struct |
Repeatable | No |
Required attributes | coclass when type =com |
Invalid attributes | None |
For more information, see Attribute Contexts.
See Also
Compiler Attributes
event_receiver
__event
__hook
__unhook
Class Attributes
Attributes Samples