Атрибут 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.
}
}
См. также раздел