nonextensible 특성
[nonextensible] 특성은 IDispatch 구현에 인터페이스 설명에 나열된 속성과 메서드만 포함하며 런타임에 추가 멤버로 확장할 수 없음을 지정합니다. (기본적으로 Automation은 인터페이스가 런타임에 멤버를 추가할 수 있다고 가정합니다. 즉, 확장할 수 있다고 가정합니다.)
[
uuid(uuid-number),
nonextensible
[, optional-attribute-list]
]
interface | dispinterface interface-name
{
interface-definition
}
-
uuid-number
-
인터페이스에 대한 범용 고유 식별 번호를 지정합니다.
-
optional-attribute-list
-
0개 이상의 MIDL 인터페이스 특성 목록을 지정합니다.
-
interface-name
-
인터페이스 또는 dispinterface의 이름을 지정합니다.
-
interface-definition
-
인터페이스 또는 dispinterface의 정의를 형성하는 IDL 문을 지정합니다.
인터페이스 또는 dispinterface에 [nonextensible] 특성을 적용할 수 있습니다. 그러나 인터페이스에는 [이중] 및 [oleautomation] 특성도 있어야 합니다.
TYPEFLAG_FNONEXTENSIBLE
library Hello
{
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("A helpful description."),
oleautomation,
dual,
nonextensible
]
interface IHello : IDispatch
{
// Interface definition statements.
}
}