On 7 Jan 2002, Alexandre Julliard wrote: > But in our case Wine would be considered the service provider, so we > can use the structure. It seems you should be able to use the existing > code by providing a different async_handler function, and storing the > needed information in the WSAOVERLAPPED structure. That would be > cleaner than having the low-level file I/O routines know about winsock > structures.
I have overseen something: In Winsock routines it is allowed to pass a NULL LPWSAOVERLAPPED pointer, if a completion routine is specified (they may even both be NULL, then the operation is carried out synchronously). Thus the overlapped field obviously cannot be used by Wine for internal purposes, unless you want to allocate one if the user hasn't done so (but that would mean allocating a lot of useless memory space and causing confusion). I am not certain if the fact that Mike's server code identifies requests by their OVERLAPPED pointers may cause trouble with NULL OVERLAPPED pointers. I guess not, though, because for activating requests the first NULL pointer request will be scheduled, and the Winsock2 Specs state that "There is no way to cancel indiviual overlapped operations pending on a given socket". Martin -- Martin Wilck Phone: +49 5251 8 15113 Fujitsu Siemens Computers Fax: +49 5251 8 20409 Heinz-Nixdorf-Ring 1 mailto:[EMAIL PROTECTED] D-33106 Paderborn http://www.fujitsu-siemens.com/primergy