Hi Luke,
i noticed that Wine has a mapi32.dll.so.
The current MAPI code is very, very far from complete. I have been implementing it in a bottom up manner (i.e. starting with the lower level/utility functions and working up toward constructing the higher order functions/objects). For example, there is no table support at present (I have an IMAPITable implemenation of sorts, but its not ready to be committed yet, pending cleanup, tests and thread safety checks). Providing the message stores etc must then be built on top of these objects.
I believe Crossover Office runs MS Outlook so you may have more success using the native dlls at this moment in time.
For the functions that are complete there is documentation in the source: "make htmlpages" from the base Wine dir will format these into readable html starting at documentation/html/index.html.
the test program relies on a test loader program, so i can't find a "int main (char *argv[], int argc)" anywhere nor is it obvious what's going on.
Assuming you are referring to dlls/mapi32/tests/, the test framework is integrated to allow the tests to share common code and for multiple tests to be run from one place. The start_test() macro defined a test name which is then linked into the main mapi32_test.exe.so and available by running the test with that name as a parameter (see include/wine/test.h for the common code that supports this). Note that these tests don't yet test anything to do with mail per se, they are more concerned with ensuring the various low level functions in the dll are correct.
If your tests will rely on an exchange server being present it is unlikely that you will be able to put them in the main wine tree, so a stand alone program is likely the best solution.
As for sample programs, a quick google for "mapi sample program" and you will get a bunch of links, including some freely downloadable MS samples. I personally am doing my current testing directly against the native (XP) dll itself, it being too early at this point to attempt to get any 'real' programs running with the code.
I have a fair amount of not yet submitted stuff for this dll; if you think it will help I could clean it up and pass it on for your perusal. Also if you create/discover anything that you think may be helpful to implementing parts of this dll (and you are free to distribute it), please feel free to send it to me.
Cheers, Jon
===== "Don't wait for the seas to part, or messiahs to come; Don't you sit around and waste this chance..." - Live
jon_p_griffiths@yahoo.com
__________________________________ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com