Атрибут event_source

Создает источник событий.

Примечание.

Атрибуты событий в собственном языке C++ несовместимы со стандартом C++. Они не компилируются при указании /permissive- режима соответствия.

Синтаксис

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

Параметры

type
Перечисление одного из следующих значений:

  • native для неуправляемого кода C/C++ (по умолчанию для неуправляемых классов).

  • com для кода COM. Используйтеcoclass, когда=typecom . Это значение требует включить следующие файлы заголовка:

    #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
Недопустимые атрибуты None

Дополнительные сведения см. в разделе Контексты атрибутов.

См. также

Атрибуты компилятора
event_receiver
__event
__hook
__unhook
Атрибуты класса