Dll separation question
rolf.kalbermatter at citeng.com
Wed Dec 4 14:10:48 CST 2002
Martin Wilck <Martin.Wilck at fujitsu-siemens.com> wrote:
>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?
This interests me as well!
>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 ?
I was under the impression that the main issue was that no DLL calls not
officially exported functions in any other DLL, with officially exported
meaning any function which is not wine specific eg. is also exported by
the according MS Windows DLL. I have gotten the impression that all Wine
specific exports start with the uppercase name of the DLL which implements
them followed by an underscore and then the actual name and the main and
final target is to get rid of any and all exports of such functions.
So in general I would think that usage of the Reg.. functions from ADVAPI32
should be ok, but I'm not familiar with NETAPI32 at all and how it relates
to the rest of Win. Maybe it is more considered part of the actual Win
kernel and therefore should maybe call the Nt... functions in NTDLL. But
the Reg... functions are really just a convinience wrapper around the
according Nt... functions and ADVAPI32 is certainly a well known standard
>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.
Some documentation or a link to them would certainly help.
More information about the wine-devel