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, ...
};

См. также раздел

Перечисления

Файл определения интерфейса (IDL)

long