struct async-private - now tested and cleaned up

Mike McCormack mike_mccormack at start.com.au
Mon Jan 21 12:23:10 CST 2002


Hi Martin,

Each DLL should only import standard win32 api functions exported by
other (lower level) DLLs.

Where possible, the code should be able to be compiled and run on a
windows box. (ok, that excludes kernel, gdi, user, winsock, etc). That
is necessary to support dll=native linking.

In theory, we should only have to implement ntdll and the device
driver interfaces, then Microsoft's kernel, gdi, user, etc. would all
run on top of those too. Practically, some of our low level DLLs need
the wineserver interface.

Your client side register_async() func should be present in all the
dlls that use it because Windows has no equivilent export from NTDLL
(or any other dll).

Maybe you could create an inline function in a header?

My guess is that WinNT implements WSARecv() and ReadFile() using
something like NtReadFile().

http://www.osr.com/ntinsider/1996/native.htm

Mike


> On 16 Jan 2002, Alexandre Julliard wrote:
> 
> > Also note that because of dll separation you cannot use functions
like
> > register_async() from winsock. If absolutely necessary they could
be
> > exported, but I think it would be much better to use straight
server
> > calls (and in theory these functions shouldn't be used from comm.c
> > either).
> 
> Hmm. I guess I don't fully understand dll separation. Are you
telling me
> that the scheduling mechanism for async requests shouls be
implemented
> separately in each DLL? If so, I could have spared my efforts to
build
> a "generic" interface to async requests. I'd just mention that
> this would be error-prone, because different parts of wine with
> equivalent functionality would need to be maintained. Note 
> that an app is allowed to mix ReadFile() and WSARecv() calls
> for a socket (however braindead that would be). I'd assume that
> in Windows there must be a hidden layer for asynchronous requests
> somewhere, too, or do you think their respective code is completely
> separate?




------------------------------------------
mailto:Mike_McCormack at start.com.au
ph +82 16 430 0425

__________________________________________________________________
Get your free Australian email account at http://www.Looksmart.com.au





More information about the wine-devel mailing list