Interfaces (ATL)
Uma interface é a maneira como um objeto expõe sua funcionalidade para o mundo exterior. Em COM, uma interface é uma tabela de ponteiros (como uma vtable C++) para funções implementadas pelo objeto. A tabela representa a interface, e as funções para as quais ela aponta são os métodos dessa interface. Um objeto pode expor quantas interfaces escolher.
Cada interface é baseada na interface COM fundamental, IUnknown. Os métodos de IUnknown
permitem a navegação para outras interfaces expostas pelo objeto.
Além disso, cada interface recebe um IID (identificador de interface) exclusivo. Essa exclusividade facilita o suporte ao controle de versão da interface. Uma nova versão de uma interface é simplesmente uma nova interface, com um novo IID.
Observação
Os IIDs para as interfaces COM e OLE padrão são predefinidos.