Well.. if you are doing a windows-only application and knows nothing of CORBA, then please do use MAPI directly.
But, you should realize that there are advantages to using Brutus, even on Windows where you could otherwise use MAPI. Some of these are:
- Brutus is largely implementation language independent, its only requirement being an IDL language mapping. It is difficult to use MAPI unless your project is using C, C++ or Delphi. The list might be incomplete, but you would have a really hard time using MAPI if your project is based on Ada, COBOL, Lisp, Python, Java, PL/1 or Perl. You would be able write Brutus client applications in any of these languages and then some.
- Some IDL language mappings will give you automatic memory management. The C++ mapping e.g. has "*_var" types to facilitate garbage collection.
- You would be prevented from porting your application to a non-Windows platform if using MAPI.
- A lot of infrastructure can be build using CORBA services.