nonextensible attribute
The [nonextensible] attribute specifies that the IDispatch implementation includes only the properties and methods listed in the interface description and cannot be extended with additional members at run time. (By default, Automation assumes that interfaces may add members at run time; that is, it assumes they are extensible.)
[
uuid(uuid-number),
nonextensible
[, optional-attribute-list]
]
interface | dispinterface interface-name
{
interface-definition
}
Parameters
-
uuid-number
-
Specifies a universally unique identification number for the interface.
-
optional-attribute-list
-
Specifies a list of zero or more MIDL interface attributes.
-
interface-name
-
Specifies the name of the interface or dispinterface.
-
interface-definition
-
Specifies IDL statements that form the definition of the interface or dispinterface.
Remarks
You can apply the [nonextensible] attribute to either an interface or a dispinterface. However, an interface must also have the [dual] and [oleautomation] attributes.
Flags
TYPEFLAG_FNONEXTENSIBLE
Examples
library Hello
{
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("A helpful description."),
oleautomation,
dual,
nonextensible
]
interface IHello : IDispatch
{
// Interface definition statements.
}
}
See also