I'm trying to get an application running that accesses the Internet, but fails with the message, no Internet connection present.
The internet connection is fine, as proved by the fact I can run firefox & wow under wine.
I've disassembled the applications exe and examined wine's fixme errors when the application runs and it seems to do the following....
It calls InternetGetConnectedState to determine whether there is a modem or LAN connection. Wine returns the fact there is a LAN connection.
It then calls EnumServicesStatusA with a type=30 & state=1, in order to get a list of running services, now what I think it's doing is expecting to see a service that provides the internet connection, because wine doesn't actually return a list of services the application then decides there's no internet connection.
What I want to do is provide a return structure that does at least contain the service name & state (internet related) that the application is expecting to see.
Does anybody know what service that could be, (specifically it's actual name) or even better provide a typical return structure that is returned by windows when a application calls EnumServicesStatusA so I can construct the structure this app is expecting to see.
I've never written anything under MS windows otherwise I would write a small application myself that calls EnumServicesStatus & figure it out myself. In fact maybe I will have to get myself a copy of visual C++ so I can do these tests.
Regards Nick Law
PS I'm new to this debugging without access to the applications source code, so any hints & tricks would be appreciated.
It looks like I may have to learn Intels assembler instruction set as well!, which I don't mind. The last time I wrote an assembly language program was 25 years ago on a PerkinElmer 3220 mini computer! So this should be fun.
Nick Law wrote:
I've never written anything under MS windows otherwise I would write a small application myself that calls EnumServicesStatus & figure it out myself. In fact maybe I will have to get myself a copy of visual C++ so I can do these tests.
Have you looked at creating a conformance test to include with Wine? That would be preferable. http://www.winehq.org/site/docs/winedev-guide/testing
I guess you would create a new test file dlls/advapi32/tests/service.c with a test of this behavior. Take a look at the other tests already there to get an idea of how it is done.
Included there are instructions for cross compiling a Windows executable in Linux using MinGW. No need to get and learn visual C++.
Regards Nick Law
PS I'm new to this debugging without access to the applications source code, so any hints & tricks would be appreciated.
It looks like I may have to learn Intels assembler instruction set as well!, which I don't mind. The last time I wrote an assembly language program was 25 years ago on a PerkinElmer 3220 mini computer! So this should be fun.
Ack... assembler? Hopefully that won't be required ;)
Duane Clark wrote:
Nick Law wrote:
I've never written anything under MS windows otherwise I would write a small application myself that calls EnumServicesStatus & figure it out myself. In fact maybe I will have to get myself a copy of visual C++ so I can do these tests.
Have you looked at creating a conformance test to include with Wine? That would be preferable. http://www.winehq.org/site/docs/winedev-guide/testing
I guess you would create a new test file dlls/advapi32/tests/service.c with a test of this behavior. Take a look at the other tests already there to get an idea of how it is done.
Included there are instructions for cross compiling a Windows executable in Linux using MinGW. No need to get and learn visual C++.
Regards Nick Law
PS I'm new to this debugging without access to the applications source code, so any hints & tricks would be appreciated.
It looks like I may have to learn Intels assembler instruction set as well!, which I don't mind. The last time I wrote an assembly language program was 25 years ago on a PerkinElmer 3220 mini computer! So this should be fun.
Ack... assembler? Hopefully that won't be required ;)
Thanks, much appreciated, I'll take a look at the winedev-guide tonight, I am also really glad I don't need to buy visual C++ :) Nick