Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

event_source

Creates an event source.

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

Parameter

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 use coclass when type=com. This value requires that you include the following header files:
       #define _ATL_ATTRIBUTES
       #include <atlbase.h>
       #include <atlcom.h>
    
  • managed for Managed Extensions for C++ code (default for managed classes).
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.

Attribute Context

Applies to class, struct
Repeatable No
Required attributes coclass when type=com
Invalid attributes None

For more information, see Attribute Contexts.

Remarks

The event_source C++ attribute specifies that the class or structure to which it is applied will be an event source, using the Visual C++ unified event model.

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.

The default for type is native unless the class is managed, in which case the default is managed.

Example

The topic Event Handling in Visual C++ contains code examples using event handling attributes and keywords.

See Also

Compiler Attributes | event_receiver | __event | __hook | __unhook | Class Attributes | Attributes Samples

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.