Поделиться через


emitidl

Указывает, обрабатываются ли все последующие атрибуты IDL и помещаются в созданный IDL-файл.

Синтаксис

[ emitidl(state, defaultimports=boolean) ];

Параметры

state
Одно из следующих возможных значений: true, false, forced, restricted, pushили pop.

  • Если trueатрибуты категории IDL, встречаемые в файле исходного кода, помещаются в созданный IDL-файл. Это параметр по умолчанию для emitidl.

  • Если falseвсе атрибуты категории IDL, встречаемые в файле исходного кода, не помещаются в созданный IDL-файл.

  • Если restrictedатрибуты IDL могут находиться в файле без атрибута модуля . Компилятор не создает IDL-файл.

  • Если forced, переопределяет последующий restricted атрибут, который требует, чтобы файл был module атрибутом, если в файле есть атрибуты IDL.

  • pushпозволяет сохранять текущие параметры emitidl в внутреннем стеке emitidl и pop позволяет задать emitidl в любом значении в верхней части внутреннего стека emitidl.

defaultimports=boolean (необязательно)

  • Если логическое trueзначение равно, docobj.idl импортируется в созданный IDL-файл. Кроме того, если IDL-файл с тем же именем, что и H-файл, который вы #include вставляете в исходный код, находится в том же каталоге, что и H-файл, то созданный IDL-файл содержит инструкцию импорта для этого IDL-файла.

  • Если логическое falseзначение равно, docobj.idl не импортируется в созданный IDL-файл. Необходимо явно импортировать IDL-файлы с импортом.

Замечания

После обнаружения атрибута emitidl C++ в файле исходного кода атрибуты категории IDL помещаются в созданный IDL-файл. Если атрибут emitidl отсутствует, атрибуты IDL в файле исходного кода выводятся в созданный IDL-файл.

В файле исходного кода можно использовать несколько атрибутов emitidl . Если [emitidl(false)]; файл обнаружен без последующего [emitidl(true)];, атрибуты не обрабатываются в созданный IDL-файл.

Каждый раз, когда компилятор сталкивается с новым файлом, emitidl неявно устанавливается в значение true.

Требования

Контекст атрибута Значение
Относится к В любом месте
Повторяемый No
Обязательные атрибуты нет
Недопустимые атрибуты нет

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

См. также

Атрибуты компилятора
Изолированные атрибуты