Step 1: write the simplest possible C program that talks to active directory. Compile and run it with Visual C++. Verify that it works on Windows. Step 2: test on Wine. Trace through what Wine does with it. Figure out exactly where Wine goes wrong. Step 3: fix it :-) See http://wiki.winehq.org/Developers