Re: struct async-private - now tested and cleaned up
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(a)start.com.au ph +82 16 430 0425 __________________________________________________________________ Get your free Australian email account at http://www.Looksmart.com.au
participants (1)
-
Mike McCormack