3.1 Automation Server Details

An automation server is any COM server that exposes access to its functionality through an implementation of IDispatch. This automation interface can be either an oleautomation interface or a "dual" interface; but, for the server to qualify as an automation server, its clients need to be able to access its functionality through calls to IDispatch::Invoke (section 3.1.4.4).

The distinguishing characteristic of IDispatch is that clients do not need to have specific type information regarding the way the automation server exposes its functionality. Rather, clients can use a looser approach in which they provide a name for the method that they need to call, and then provide the arguments to be passed to this method in a format that allows for both named arguments and more loosely typed arguments.