v1_enum - атрибут
Атрибут [v1_enum] указывает, что указанный перечислимый тип передается как 32-разрядная сущность, а не 16-битное значение по умолчанию.
[v1_enum] enum
{
...
};
Этот атрибут не имеет параметров.
Использование атрибута [v1_enum] для передачи перечисленного типа в виде 32-разрядной сущности повышает эффективность маршалинга и распаковки данных, когда такое перечисление внедряется в структуры или объединения.
Для повышения производительности рекомендуется применять атрибут [v1_enum] к перечислителям в 32-разрядных приложениях. Однако имейте в виду, что на 16-разрядных платформах компилятор C обрабатывает перечислимый тип как 16-разрядный тип int. Поэтому 16-разрядные клиентские приложения должны преобразовывать типы перечисления в long для удаленной передачи, чтобы избежать перезаписи данных или отправки неверных значений.
typedef [v1_enum] enum
{
value1,
value2, ...
};