nonextensible-Attribut
Das [ nicht zu ] erweiternde Attribut gibt an, dass die IDispatch-Implementierung nur die in der Schnittstellenbeschreibung aufgeführten Eigenschaften und Methoden enthält und zur Laufzeit nicht mit zusätzlichen Membern erweitert werden kann. (Standardmäßig geht Automation davon aus, dass Schnittstellen Member zur Laufzeit hinzufügen können, d. h. es wird davon ausgegangen, dass sie erweiterbar sind.)
[
uuid(uuid-number),
nonextensible
[, optional-attribute-list]
]
interface | dispinterface interface-name
{
interface-definition
}
Parameter
-
uuid-number
-
Gibt eine universell eindeutige ID für die Schnittstelle an.
-
optional-attribute-list
-
Gibt eine Liste von null oder mehr MIDL-Schnittstellenattributen an.
-
Schnittstellenname
-
Gibt den Namen der Schnittstelle oder dispinterface an.
-
interface-definition
-
Gibt IDL-Anweisungen an, die die Definition der Schnittstelle oder dispinterface bilden.
Bemerkungen
Sie können das [ nicht ersierbare Attribut ] entweder auf eine Schnittstelle oder eine Disp-Schnittstelle anwenden. Eine Schnittstelle muss jedoch auch über die [ Attribute dual ] und [ oleautomation ] verfügen.
Flags
TYPEFLAG _ FNONEXTENSIBLE
Beispiele
library Hello
{
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("A helpful description."),
oleautomation,
dual,
nonextensible
]
interface IHello : IDispatch
{
// Interface definition statements.
}
}