atributo não extensível

O atributo [nonextensible] especifica que a implementação de IDispatch inclui apenas as propriedades e os métodos listados na descrição da interface e não pode ser estendido com membros adicionais em tempo de execução. (Por padrão, a Automação pressupõe que as interfaces podem adicionar membros em tempo de execução; ou seja, pressupõe que elas sejam extensíveis.)

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

Parâmetros

uuid-number

Especifica um número de identificação universalmente exclusivo para a interface.

optional-attribute-list

Especifica uma lista de zero ou mais atributos de interface MIDL.

interface-name

Especifica o nome da interface ou dispinterface.

interface-definition

Especifica instruções IDL que formam a definição da interface ou dispinterface.

Comentários

Você pode aplicar o atributo [não existente] a uma interface ou a uma dispinterface. No entanto, uma interface também deve ter os atributos [dual] e [oleautomation] .

Flags

TYPEFLAG_FNONEXTENSIBLE

Exemplos

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

Confira também

Conteúdo de uma biblioteca de tipos

dispinterface

Dupla

Gerando uma biblioteca de tipos com MIDL

Interface

Sintaxe de arquivo ODL

oleautomation

TYPEFLAGS