
Automation fornece além das interfaces padrões IUnknown e IClassFactory a interface IDispatch.
Um relacionamento master-slave claramente definido está sempre presente num diálogo de comunicação usando Automation. O mestre é o cliente Automation e o escravo e’o componente Automation (server). O cliente inicia a interação construindo um objeto do componente e depois chama as funções da interface do componente. Estas funções podem ser propriedades ou métodos.
Uma propriedade é um valor que pode ser atribuido e recuperado. Propriedade não têm parâmetros, mas algumas propriedades são indexadas.
Um método pode ter zero ou mais parâmetros e pode atribuir ou recuperar dados do objeto.
A função IDispatch::Invoke é usada para objetos COM que podem ser construídos e usados em C++ ou VBA (Visual Basic for Aplications). IDispatch é o coração de Automation. É totalmente suportada pelo COM marshaling (conversão de parâmetros de e para data streams), como são IUnknown e IClassFactory.
A interface ITypeInfo cuida da type library do componente. A type library é uma tabela, localizável pelo Registry, que permite um cliente consultar o componente solicitando os nomes simbólicos de objetos, métodos e propriedades. Um cliente pode, por exemplo, conter um browser que permite o usuário explorar as possibilidades do componente.
