Hello,

I'm working on a C#/.NET client library to connect to a MonetDB server.  I've mapped most of the libMapi.dll api calls so that I can call the C library from .NET but this presents a few problems:

1. There's a performance penalty to interface native code libraries to .NET
2. There's a lot of overhead of marshaling UTF8 strings between .NET and the C library, and potential problems with NULL parameters.
3. There's a portability problem with using the native libraries (trouble deploying to the Mono runtime)

I think the client library would be better off implementing the MAPI wire protocol rather than interfacing with the C library, but I cannot find any documents that detail the protocol.  Is there somewhere this is published, or did I just not Google the right stuff?

Also if anyone is interested in giving me a hand you can find the Google Code workspace of the aforementioned project at this link: http://code.google.com/p/monetdb-net/

-Tim Gebhardt
tim@gebhardtcomputing.com