Atributo nonextensible
Se uma interface dupla não vai ser estendida em tempo de execução (ou seja, você não fornecerá métodos nem propriedades por meio de IDispatch::Invoke
e que não estão disponíveis por meio da vtable), você deverá aplicar o atributo nonextensible à definição de interface. Esse atributo fornece informações para linguagens do cliente (como a Visual Basic) que podem ser usadas para habilitar a verificação completa do código em tempo de compilação. Se esse atributo não for fornecido, os bugs poderão permanecer ocultos no código do cliente até o tempo de execução.
Para obter mais informações sobre o atributo nonextensible e um exemplo, confira nonextensible.