I am sorry to say that I still don't quite understand this issue, but - can anybody point me to a resource saying what exactly I may or may not do when writing code for a wine DLL? In particular, when writing code for DLL X, which functions from other DLLs may I call?
Example: When writing netapi32 code, can I call advai32 Registry functions to obtain config options, or do I need to use the (IMO rather awkward) ntdll interface ?
Btw: Dll separation is a really complex issues and I think I'm not the only one who feels he doesn't quite understand what it means. IMO winehq needs a very clear description of that somewhere where it's easy to find.
Martin
Martin Wilck Martin.Wilck@fujitsu-siemens.com writes:
I am sorry to say that I still don't quite understand this issue, but - can anybody point me to a resource saying what exactly I may or may not do when writing code for a wine DLL? In particular, when writing code for DLL X, which functions from other DLLs may I call?
The rules are that you can only call exported functions, and that you can't add dll imports that would create a circular dependency. You can find the list of existing dependencies near the end of dlls/Makefile.in.
Example: When writing netapi32 code, can I call advai32 Registry functions to obtain config options, or do I need to use the (IMO rather awkward) ntdll interface ?
netapi32 already imports advapi32, so you can freely use the registry functions from there.