Атрибут nonextensible

Атрибут [nonextensible] указывает, что реализация IDispatch включает только свойства и методы, перечисленные в описании интерфейса, и не может быть расширена дополнительными членами во время выполнения. (По умолчанию служба автоматизации предполагает, что интерфейсы могут добавлять члены во время выполнения, то есть предполагается, что они расширяемы.)

[
    uuid(uuid-number), 
    nonextensible 
    [, optional-attribute-list]
] 
interface | dispinterface interface-name 
{
    interface-definition
}

Параметры

uuid-number

Указывает универсальный уникальный идентификационный номер для интерфейса.

optional-attribute-list

Указывает список из нуля или нескольких атрибутов интерфейса MIDL.

interface-name

Указывает имя интерфейса или dispinterface.

определение интерфейса

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

Комментарии

Атрибут [nonextensible] можно применить к интерфейсу или dispinterface. Однако интерфейс также должен иметь атрибуты [dual] и [oleautomation] .

Флаги

TYPEFLAG_FNONEXTENSIBLE

Примеры

library Hello
{
    [
        uuid(12345678-1234-1234-1234-123456789ABC), 
        helpstring("A helpful description."),
        oleautomation, 
        dual, 
        nonextensible
    ] 
    interface IHello : IDispatch
    {
        // Interface definition statements.
    }
}

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

Содержимое библиотеки типов

dispinterface

dual

Создание библиотеки типов с помощью MIDL

Интерфейс

Синтаксис файла ODL

oleautomation

TYPEFLAGS