http://bugs.winehq.org/show_bug.cgi?id=10514
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #5 from Anastasius Focht focht@gmx.net 2007-11-20 15:17:05 --- Hello,
--- quote --- I guess they are really the same function, but forwarding didn't work for me, so it's really different bug. Correct me if i'm wrong.... --- quote ---
Yes, both wsock32.dll.AcceptEx and wsock32.dll.GetAcceptExSockaddrs are forwarded to MSWSOCK.dll The game imports these two APIs by ordinal.
You probably have something like this in place:
--- snip wsock32.spec --- 1141 stdcall AcceptEx(long long ptr long long long ptr ptr) mswsock.AcceptEx 1142 stdcall GetAcceptExSockaddrs(ptr long long long ptr ptr ptr ptr) mswsock.GetAcceptExSockaddrs --- snip wsock32.spec ---
That currently won't work - even if wine mswsock.dll implements AcceptEx and GetAcceptExSockaddrs.
mswsock.dll is not yet loaded at the time the loader tries to resolve the forwarded exports. This is a wine PE loader problem. It needs some kind of multi pass (recursive) to resolve all forwarders.
Regards