Comet, the COM client for Erlang, is a way to call any COM-service in Windows from an Erlang program. It is a combination of a gen_server and a port program (or port driver) that enables Erlang programs to call almost any COM-server.
Comet uses a gen_server in the module erl_com, together with a port program (or port driver), to call COM-servers. Both the late-binding interface IDispatch and early-binding virtual interfaces can be used. Erlang types are converted to COM types and parameters are returned.
COM stands for Component Object Model, (or sometimes Common Object Model), and is MicroSoft's technique for component-based programming. It allows programs on Windows systems, to call other programs and libraries across language boundaries. It is a competitor to Corba, but has other functionality too.
COM is available on all 32-bit Windows systems, such as NT 4, Windows 95, Windows 98 and Windows 2000. Comet can be used on any of these.
With Comet, an Erlang application can use (almost) any COM-service on Windows from Erlang. Examples of what can be done include:
Each of these examples are described in comet_examples
.
Using Comet for other purposes than those described in the examples, requires knowledge of COM. COM is a complex topic, and there are a lot of books written about it. Three decent references are given below. Some sections of the Comet documentation assumes basic knowledge of COM.
Comet does not use any configuration parameters.
erl_com(3), comet_examples(3), some decent books on COM, such as: Inside COM, by Dale Rogerson (ISBN: 1572313498) Essential COM, by Don Box (ISBN: 0201634465) Mastering COM and COM+, by Rofail and Shohoud (ISBN: 0782123848)