Jacobus Erasmus jacobus@kewlconcepts.co.za wrote:
Is it possible to workout or read the API's that a specific Windows application use ?
The theory is that it would be possible to estimate the amount of work needed to get a Windows app to work on Wine by calculating the number of API's that is not working or only half working and estimating the time it would take to correct these API's.
This would be a very rough estimation. Some APIs are simple to implement and some are not. The ones not yet in Wine are often of the second class but that is not a general rule.
By running wine-debug it is possible to get the API's used by an application. I'm hoping that there is some simpler way (although I'm not holding my breath) to read the API's used by an application directly from the .exe or .dll.
It really depends. You could walk the import table of the executable both the standard and delayed imports and get quite far. dumpbin or whatever it is called can do that. However this will not account for dynamically imported APIs some applications do, to work for instance around API differences between different Windows version. Or another reason might be that a certain API is optional and the app should keep running eventhough that API is not available on the target system.
I think to catch those APIs as well only API profiling would help. But it may not be the main issue here as the dynamic runtime linking is most often done to prevent the application from not starting up when the underlyiing API is not present.
Rolf Kalbermatter