kevin at proximity.com.au
Tue Apr 1 00:13:37 CST 2003
Searching for an answer to my problem, comp.emulators.ms-windows.wine
archives at google throw up a post  suggesting looking into
Sources checked out from winehq.com CVS as of last week, updated today,
have tools/specmaker as an empty directory.
Where might I be able to investigate specmaker?
Is specmaker still viable?
FWIW, my problem is the oft-asked "How do I call functions in a Windows
DLL from an ELF process?" I appreciate WineLib is an option, and have
run into a number of snarls along that path:
1. I have created a .dll.so to wrap calls to the offending Windows DLL.
Calls are made through static function pointers which have been
initialised in the .dll.so by calls to GetProcAddress() from what
would be the DllMain() function there. I've not managed to get Wine
to call that DllMain() function of my .dll.so, other than through a
breakpoint in the debugger, and explicitly calling the function at
that time. This way, my code runs even returning from calls to the
Windows DLL, but mysteriously, no output file is written!
2. I occasionally see user32.dll.so barf with a SEGV with the call stack
mentioning res_146() deep during the first call to wine_dlopen().
I've also had a look at avifile, mplayer, and xine, to investigate how
they do things. Linking avifile/plugins/libwin32/loader/libloader.a to
my application means I can run as far as attempting to execute DllMain()
on my Windows DLL before I see gut-wrenching a SEGV.
What are other people doing?
More information about the wine-devel