Атрибут event_source
Создает источник событий.
Примечание.
Атрибуты событий в собственном языке C++ несовместимы со стандартом C++. Они не компилируются при указании /permissive-
режима соответствия.
Синтаксис
[ event_source(type, optimize=[speed | size], decorate=[true | false]) ]
Параметры
type
Перечисление одного из следующих значений:
native
для неуправляемого кода C/C++ (по умолчанию для неуправляемых классов).com
для кода COM. Используйтеcoclass
, когда=type
com
. Это значение требует включить следующие файлы заголовка:#define _ATL_ATTRIBUTES #include <atlbase.h> #include <atlcom.h>
optimize
При наличии типа native
можно указатьoptimize=size
, чтобы указать, что для всех событий класса optimize=speed
или (по умолчанию) имеется 4 байта хранилища (минимум), чтобы указать, что 4 * (# событий) хранилища.
decorate
Если тип указан native
, можно указать decorate=false
, чтобы указать, что развернутое имя в объединенном (.mrg
) файле не должно включать включающее имя класса. /Fx
позволяет создавать .mrg
файлы. decorate=false
Значение по умолчанию приводит к полным именам типов в объединенном файле.
Замечания
Атрибут event_source
C++ указывает, что класс или структура, к которой она применяется, будет источником событий.
event_source
используется в сочетании с атрибутом event_receiver
и ключевым словом __event
. Используется event_receiver
для создания приемников событий. Используйте __event
для методов в пределах источника событий, чтобы указать эти методы в качестве событий.
Примечание.
Класс-шаблон или структура не могут содержать события.
Требования
Контекст атрибута | Значение |
---|---|
Относится к | class , struct |
Повторяемый | No |
Обязательные атрибуты | Значение coclass , если type =com |
Недопустимые атрибуты | нет |
Дополнительные сведения см. в разделе Контексты атрибутов.
См. также
Атрибуты компилятора
event_receiver
__event
__hook
__unhook
Атрибуты класса